/** * Test population of each request type * * @dataProvider provideRequestTypes * * @param string $requestType */ public function testRequestHydration($requestType) { $client = $this->getMockClient(); $request = $client::request($requestType); $this->assertInstanceOf(AbstractRequest::ns() . "\\{$requestType}", $request); $hydrator = $request->getHydrator(); $data = $hydrator->extract($request); foreach ($data as &$value) { $value = ' '; } $request = $hydrator->hydrate($data, $request); $idempotentData = $hydrator->extract($request); $this->assertEquals($data, $idempotentData); }
/** * Execute a DELETE request again an API endpoint, * optionally with a given Request object as parameters * * @param string $uri Endpoint URL * @param AbstractRequest $request = null Request object for parameters * @return string Response data */ public function delete($uri, AbstractRequest $request = null) { $http = $this->getHttpClone(); $http->setOption(CURLOPT_CUSTOMREQUEST, 'DELETE'); $http->setOption(CURLOPT_URL, $uri); if ($request) { $http->setOption(CURLOPT_POSTFIELDS, $this->buildPostData($request->getQuery())); } return $http->execute(); }