示例#1
0
 /**
  * @cover ::createRequest
  */
 public function testCreateRequest()
 {
     $routerProphecy = $this->prophesize(RouterInterface::class);
     $routerProphecy->generate('users_cget', [])->willReturn('/api/users');
     $routerProphecy->generate('users_get', ['id' => 14])->willReturn('/api/users/14');
     $urlBuilder = new UrlBuilder($routerProphecy->reveal(), 'http://example.com');
     $requestBuilder = new RequestBuilder($urlBuilder, 'http://example.com');
     $request = new Request('GET', 'http://example.com');
     $this->assertEquals($request, $requestBuilder->createRequest('GET'));
     $request = new Request('GET', 'http://example.com/api/users');
     $this->assertEquals($request, $requestBuilder->createRequest('GET', '/api/users'));
     $this->assertEquals($request, $requestBuilder->createRequest('GET', 'users_cget'));
     $request = new Request('GET', 'http://example.com/api/users/14');
     $this->assertEquals($request, $requestBuilder->createRequest('GET', 'users_get', null, ['parameters' => ['id' => 14]]));
     $request = new Request('GET', 'http://example.com/api?id=14&filter[where][name]=john');
     $this->assertEquals($request, $requestBuilder->createRequest('GET', '/api', null, ['query' => ['id' => 14, 'filter' => ['where' => ['name' => 'john']]]]));
     $this->assertEquals($request, $requestBuilder->createRequest('GET', '/api', null, ['query' => 'id=14&filter[where][name]=john']));
     $request = new Request('GET', 'http://example.com', ['dummyHeader' => 'some value']);
     $this->assertEquals($request, $requestBuilder->createRequest('GET', null, null, ['headers' => ['dummyHeader' => 'some value']]));
     $request = new Request('GET', 'http://example.com', ['authorization' => 'Bearer MyToken']);
     $this->assertEquals($request, $requestBuilder->createRequest('GET', null, 'MyToken'));
     $request = new Request('GET', 'http://example.com', ['dummyHeader' => 'some value', 'authorization' => 'Bearer MyToken']);
     $this->assertEquals($request, $requestBuilder->createRequest('GET', null, 'MyToken', ['headers' => ['dummyHeader' => 'some value']]));
 }
示例#2
0
 /**
  * {@inheritdoc}
  *
  * @throws RouteNotFoundException              If the named route doesn't exist
  * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
  * @throws InvalidParameterException           When a parameter value for a placeholder is not correct because it
  *                                             does not match the requirement
  */
 public function createRequest($method, $url = null, $token = null, array $options = [])
 {
     return $this->requestBuilder->createRequest($method, $url, $token, $options);
 }