コード例 #1
0
 public function testCanAccessRequestInfoFromRequest()
 {
     $requestInfo = RequestInfo::fromEnv();
     $getRequest = new GetRequest($requestInfo, []);
     $query = new TestDomainQuery($getRequest);
     $this->assertSame($requestInfo, $query->getRequestInfo());
 }
コード例 #2
0
 public function testCanAccessRequestInfoFromRequest()
 {
     $requestInfo = RequestInfo::fromEnv();
     $postRequest = new PostRequest($requestInfo, [], []);
     $command = new TestDomainCommand($postRequest);
     $this->assertSame($requestInfo, $command->getRequestInfo());
 }
コード例 #3
0
 public function testCanHandleValidRequest()
 {
     $postRequest = new PostRequest(RequestInfo::fromEnv(), [], []);
     $handler = new TestPostRequestHandler($postRequest);
     $handler->handleRequest();
     $this->expectOutputString('Request handled.');
 }
コード例 #4
0
 public function testCanRetrieveInjectedObjects()
 {
     $requestInfo = RequestInfo::fromEnv();
     $getRequest = new GetRequest([]);
     $event = new RequestWasHandledEvent($requestInfo, $getRequest);
     $this->assertSame($requestInfo, $event->getRequestInfo());
     $this->assertSame($getRequest, $event->getRequest());
 }
コード例 #5
0
 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);
 }
コード例 #6
0
 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);
 }
コード例 #7
0
 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());
 }
コード例 #8
0
 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));
 }
コード例 #9
0
ファイル: IceHawkDelegate.php プロジェクト: PHPinDD/blog
 /**
  * @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();
     }
 }
コード例 #10
0
ファイル: IceHawkTest.php プロジェクト: fortuneglobe/icehawk
 /**
  * @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();
 }
コード例 #11
0
ファイル: IceHawkConfig.php プロジェクト: hollodotme/readis
 /**
  * @return ServesRequestInfo
  */
 public function getRequestInfo()
 {
     return RequestInfo::fromEnv();
 }
コード例 #12
0
 public function testCanRetrieveInjectedObjects()
 {
     $requestInfo = RequestInfo::fromEnv();
     $event = new IceHawkWasInitializedEvent($requestInfo);
     $this->assertSame($requestInfo, $event->getRequestInfo());
 }
コード例 #13
0
 public function testGetRawDataReturnNullIfEmpty()
 {
     $postRequest = new PostRequest(RequestInfo::fromEnv(), [], []);
     $this->assertNull($postRequest->getRawData());
 }
コード例 #14
0
ファイル: RequestInfoTest.php プロジェクト: ralfnoack/icehawk
 /**
  * @dataProvider requestMethodProvider
  */
 public function testGetMethodAlwaysReturnsRequestMethodInUpperCase($requestMethod, $expectedRequestMethod)
 {
     $serverData = ['REQUEST_METHOD' => $requestMethod];
     $requestInfo = new RequestInfo($serverData);
     $this->assertEquals($expectedRequestMethod, $requestInfo->getMethod());
 }
コード例 #15
0
 /**
  * @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));
 }