public function setUp() { $this->fileSystemTarget = new FileSystemTarget('test'); $this->mockBootstrap = $this->getMockBuilder(Bootstrap::class)->disableOriginalConstructor()->getMock(); $this->mockRequestHandler = $this->createMock(HttpRequestHandlerInterface::class); $this->mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock(); $this->mockHttpRequest->expects($this->any())->method('getBaseUri')->will($this->returnValue(new Uri('http://detected/base/uri/'))); $this->mockRequestHandler->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest)); $this->mockBootstrap->expects($this->any())->method('getActiveRequestHandler')->will($this->returnValue($this->mockRequestHandler)); $this->inject($this->fileSystemTarget, 'bootstrap', $this->mockBootstrap); }
/** * Initialize request, response and session cookie * * @param HttpRequestHandlerInterface $requestHandler * @return void * @throws Exception\InvalidRequestResponseException */ protected function initializeHttpAndCookie(HttpRequestHandlerInterface $requestHandler) { $this->request = $requestHandler->getHttpRequest(); $this->response = $requestHandler->getHttpResponse(); if (!$this->request instanceof Http\Request || !$this->response instanceof Http\Response) { $className = get_class($requestHandler); $requestMessage = 'the request was ' . (is_object($this->request) ? 'of type ' . get_class($this->request) : gettype($this->request)); $responseMessage = 'and the response was ' . (is_object($this->response) ? 'of type ' . get_class($this->response) : gettype($this->response)); throw new Exception\InvalidRequestResponseException(sprintf('The active request handler "%s" did not provide a valid HTTP request / HTTP response pair: %s %s.', $className, $requestMessage, $responseMessage), 1354633950); } if ($this->request->hasCookie($this->sessionCookieName)) { $sessionIdentifier = $this->request->getCookie($this->sessionCookieName)->getValue(); $this->sessionCookie = new Http\Cookie($this->sessionCookieName, $sessionIdentifier, 0, $this->sessionCookieLifetime, $this->sessionCookieDomain, $this->sessionCookiePath, $this->sessionCookieSecure, $this->sessionCookieHttpOnly); } }