public function testRedirectsCanBeDisabledPerRequest() { $client = new Client(['base_url' => 'http://test.com']); $client->getEmitter()->attach(new Mock(["HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"])); $response = $client->put('/', ['body' => 'test', 'allow_redirects' => false]); $this->assertEquals(301, $response->getStatusCode()); }
public function testReadsBodiesFromMockedRequests() { $m = new Mock([new Response(200)]); $client = new Client(['base_url' => 'http://test.com']); $client->getEmitter()->attach($m); $body = Stream::factory('foo'); $client->put('/', ['body' => $body]); $this->assertEquals(3, $body->tell()); }
public function testContentLengthIntegrationTest() { Server::flush(); Server::enqueue([new Response(200)]); $client = new Client(['base_url' => Server::$url]); $this->assertEquals(200, $client->put('/', ['body' => 'test'])->getStatusCode()); $request = Server::received(true)[0]; $this->assertEquals('PUT', $request->getMethod()); $this->assertEquals('4', $request->getHeader('Content-Length')); $this->assertEquals('test', (string) $request->getBody()); }