/** * set up test environment */ public function setUp() { $this->memory = ''; $socket = NewInstance::stub(Stream::class)->mapCalls(['write' => function (string $line) { $this->memory .= $line; return strlen($line); }]); $httpUri = NewInstance::stub(HttpUri::class)->mapCalls(['openSocket' => $socket, 'path' => '/foo/resource', 'hostname' => 'example.com', 'hasQueryString' => true, 'queryString' => 'foo=bar']); $this->httpConnection = new HttpConnection($httpUri); }
/** * creates instance to test * * @param string $queryString * @return HttpRequest */ private function createHttpRequest(string $queryString = null) : HttpRequest { $socket = NewInstance::stub(Stream::class)->mapCalls(['write' => function (string $line) { $this->memory .= $line; return strlen($line); }]); $uriCalls = ['openSocket' => $socket, 'path' => '/foo/resource', 'hostname' => 'example.com']; if (null !== $queryString) { $uriCalls['hasQueryString'] = true; $uriCalls['queryString'] = $queryString; } else { $uriCalls['hasQueryString'] = false; } return HttpRequest::create(NewInstance::stub(HttpUri::class)->mapCalls($uriCalls), new HeaderList(['X-Binford' => 6100])); }