public function testReturnsResponseForSuccessfulRequest()
{
$this->queueRes();
$handler = new StreamHandler();
$response = $handler(new Request('GET', Server::$url, ['Foo' => 'Bar']), [])->wait();
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals('OK', $response->getReasonPhrase());
$this->assertEquals('Bar', $response->getHeaderLine('Foo'));
$this->assertEquals('8', $response->getHeaderLine('Content-Length'));
$this->assertEquals('hi there', (string) $response->getBody());
$sent = Server::received()[0];
$this->assertEquals('GET', $sent->getMethod());
$this->assertEquals('/', $sent->getUri()->getPath());
$this->assertEquals('127.0.0.1:8126', $sent->getHeaderLine('Host'));
$this->assertEquals('Bar', $sent->getHeaderLine('foo'));
}