/** * @dataProvider requestDataProvider */ public function testRequest($request, $method, $adapter, $status, $headers, $body) { $client = new Client(); if (null !== $adapter) { $client->setAdapter($adapter); } $response = $client->request($request, $method); if (null !== $status) { $this->assertEquals($status, $response->getStatus()->getStatus()); } if (null !== $headers) { foreach ($headers as $key => $value) { $header = $response->getHeader($key); $this->assertNotNull($header); $this->assertEquals($key, $header->getName()); $this->assertEquals($value, $header->getValue()); } } $method = null === $method ? 'GET' : $method; $this->assertEquals($method, $client->getLastRequest()->getMethod()); $this->assertEquals($body, $response->getBody()); $this->assertEquals($response, $client->getLastResponse()); }