public function testCanAccessRequestInfoFromRequest() { $requestInfo = RequestInfo::fromEnv(); $getRequest = new GetRequest($requestInfo, []); $query = new TestDomainQuery($getRequest); $this->assertSame($requestInfo, $query->getRequestInfo()); }
public function testCanAccessRequestInfoFromRequest() { $requestInfo = RequestInfo::fromEnv(); $postRequest = new PostRequest($requestInfo, [], []); $command = new TestDomainCommand($postRequest); $this->assertSame($requestInfo, $command->getRequestInfo()); }
public function testCanHandleValidRequest() { $postRequest = new PostRequest(RequestInfo::fromEnv(), [], []); $handler = new TestPostRequestHandler($postRequest); $handler->handleRequest(); $this->expectOutputString('Request handled.'); }
public function testCanRetrieveInjectedObjects() { $requestInfo = RequestInfo::fromEnv(); $getRequest = new GetRequest([]); $event = new RequestWasHandledEvent($requestInfo, $getRequest); $this->assertSame($requestInfo, $event->getRequestInfo()); $this->assertSame($getRequest, $event->getRequest()); }
public function testBuildingSucceedsIfWriteSideHandlerExistsAndImplementsInterface() { $uriComponents = $this->getUriComponentsMock('domain', 'valid-write-test', []); $domainRequestHandlerBuilder = new DomainRequestHandlerBuilder('Fortuneglobe\\IceHawk\\Tests\\Unit\\Fixtures', Http::METHOD_POST, $uriComponents); $request = new PostRequest(RequestInfo::fromEnv(), [], []); $handler = $domainRequestHandlerBuilder->buildDomainRequestHandler($request); $this->assertInstanceOf(ValidWriteTestRequestHandler::class, $handler); }
public function testCanHandleEventInListenerMethod() { $requestInfo = RequestInfo::fromEnv(); $initEvent = new IceHawkWasInitializedEvent($requestInfo); $mock = $this->getMockBuilder(EventListener::class)->setMethods(['getAcceptedEvents', 'whenIceHawkWasInitialized'])->getMockForAbstractClass(); $mock->expects($this->once())->method('whenIceHawkWasInitialized')->with($initEvent); /** @var EventListener $mock */ $mock->notify($initEvent); }
public function testDefaults() { $config = new IceHawkConfig(); $this->assertEquals([], $config->getEventListeners()); $this->assertEquals('Fortuneglobe\\IceHawk', $config->getDomainNamespace()); $this->assertEquals(new UriResolver(), $config->getUriResolver()); $this->assertEquals(new UriRewriter(), $config->getUriRewriter()); $this->assertEquals(RequestInfo::fromEnv(), $config->getRequestInfo()); }
public function testCanCheckForExceptedEvents() { $initEvent = new IceHawkWasInitializedEvent(); $handlingEvent = new HandlingRequestEvent(RequestInfo::fromEnv(), new GetRequest([])); $mock = $this->getMockBuilder(EventListener::class)->setMethods(['getAcceptedEvents'])->getMockForAbstractClass(); $mock->expects($this->exactly(2))->method('getAcceptedEvents')->willReturn([IceHawkWasInitializedEvent::class]); /** @var EventListener $mock */ $this->assertTrue($mock->acceptsEvent($initEvent)); $this->assertFalse($mock->acceptsEvent($handlingEvent)); }
/** * @param \Exception $exception * * @throws \Exception */ public function handleUncaughtException(\Exception $exception) { echo '<pre>', htmlspecialchars(print_r($exception, 1)), '</pre>'; exit; try { throw $exception; } catch (MalformedRequestUri $e) { $requestInfo = RequestInfo::fromEnv(); $page = new ThemePage('Blog/Read/Pages/Error404.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND); $page->respond(); } catch (\Exception $e) { $requestInfo = RequestInfo::fromEnv(); $page = new ThemePage('Blog/Read/Pages/Error500.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND); $page->respond(); } }
/** * @param mixed $eventListeners * * @dataProvider invalidEventListenersProvider * @expectedException \Fortuneglobe\IceHawk\Exceptions\InvalidEventListenerCollection */ public function testInvalidEventListenersFromConfigThrowsException($eventListeners) { $config = $this->getMockBuilder(ServesIceHawkConfig::class)->getMockForAbstractClass(); $config->expects($this->once())->method('getUriRewriter')->willReturn(new UriRewriter()); $config->expects($this->once())->method('getUriResolver')->willReturn(new UriResolver()); $config->expects($this->once())->method('getRequestInfo')->willReturn(RequestInfo::fromEnv()); $config->expects($this->once())->method('getDomainNamespace')->willReturn(__NAMESPACE__); $config->expects($this->once())->method('getEventListeners')->willReturn($eventListeners); $iceHawk = new IceHawk($config, new IceHawkDelegate()); $iceHawk->init(); }
/** * @return ServesRequestInfo */ public function getRequestInfo() { return RequestInfo::fromEnv(); }
public function testCanRetrieveInjectedObjects() { $requestInfo = RequestInfo::fromEnv(); $event = new IceHawkWasInitializedEvent($requestInfo); $this->assertSame($requestInfo, $event->getRequestInfo()); }
public function testGetRawDataReturnNullIfEmpty() { $postRequest = new PostRequest(RequestInfo::fromEnv(), [], []); $this->assertNull($postRequest->getRawData()); }
/** * @dataProvider requestMethodProvider */ public function testGetMethodAlwaysReturnsRequestMethodInUpperCase($requestMethod, $expectedRequestMethod) { $serverData = ['REQUEST_METHOD' => $requestMethod]; $requestInfo = new RequestInfo($serverData); $this->assertEquals($expectedRequestMethod, $requestInfo->getMethod()); }
/** * @param array $getData * @param string $key * * @dataProvider nullKeyDataProvider */ public function testGetterReturnsNullIfKeyIsNotSet(array $getData, $key) { $getRequest = new GetRequest(RequestInfo::fromEnv(), $getData); $this->assertNull($getRequest->get($key)); }