コード例 #1
0
 public function testCanRetrieveInjectedObjects()
 {
     $requestInfo = RequestInfo::fromEnv();
     $requestInput = new ReadRequestInput([]);
     $readRequest = new ReadRequest($requestInfo, $requestInput);
     $event = new HandlingReadRequestEvent($readRequest);
     $this->assertSame($requestInfo, $event->getRequestInfo());
     $this->assertSame($requestInput, $event->getRequestInput());
 }
コード例 #2
0
 public function testCanRetrieveInjectedObjects()
 {
     $requestInfo = RequestInfo::fromEnv();
     $requestInput = new WriteRequestInput('', []);
     $writeRequest = new WriteRequest($requestInfo, $requestInput);
     $event = new WriteRequestWasHandledEvent($writeRequest);
     $this->assertSame($requestInfo, $event->getRequestInfo());
     $this->assertSame($requestInput, $event->getRequestInput());
 }
コード例 #3
0
ファイル: IceHawkConfigTest.php プロジェクト: icehawk/icehawk
 public function testDefaults()
 {
     $config = new IceHawkConfig();
     $this->assertEquals([], $config->getEventSubscribers());
     $this->assertEquals(RequestInfo::fromEnv(), $config->getRequestInfo());
     $this->assertEquals(new FinalReadResponder(), $config->getFinalReadResponder());
     $this->assertEquals(new FinalWriteResponder(), $config->getFinalWriteResponder());
     $this->assertEquals([], $config->getWriteRoutes());
     $this->assertEquals([], $config->getReadRoutes());
 }
コード例 #4
0
ファイル: IceHawkTest.php プロジェクト: icehawk/icehawk
 public function testPublishesEventWhenInitializationIsDone()
 {
     $requestInfo = RequestInfo::fromEnv();
     $initializingEvent = new InitializingIceHawkEvent($requestInfo);
     $initializedEvent = new IceHawkWasInitializedEvent($requestInfo);
     $eventListener = $this->getMockBuilder(SubscribesToEvents::class)->setMethods(['acceptsEvent', 'notify'])->getMockForAbstractClass();
     $eventListener->expects($this->at(0))->method('acceptsEvent')->with($this->equalTo($initializingEvent))->willReturn(true);
     $eventListener->expects($this->at(1))->method('notify')->with($this->equalTo($initializingEvent));
     $eventListener->expects($this->at(2))->method('acceptsEvent')->with($this->equalTo($initializedEvent))->willReturn(true);
     $eventListener->expects($this->at(3))->method('notify')->with($this->equalTo($initializedEvent));
     $config = $this->getMockBuilder(ConfiguresIceHawk::class)->getMockForAbstractClass();
     $config->expects($this->once())->method('getRequestInfo')->willReturn($requestInfo);
     $config->expects($this->once())->method('getEventSubscribers')->willReturn([$eventListener]);
     $iceHawk = new IceHawk($config, new IceHawkDelegate());
     $iceHawk->init();
 }
コード例 #5
0
ファイル: RequestInfoTest.php プロジェクト: icehawk/icehawk
 public function testCanInstantiateFromEnvUsingGlobalServerVariable()
 {
     $requestTimeFloat = microtime(true);
     $_SERVER['REQUEST_URI'] = '/unit/test';
     $_SERVER['REQUEST_METHOD'] = 'POST';
     $_SERVER['QUERY_STRING'] = 'unit=test';
     $_SERVER['HTTP_USER_AGENT'] = 'phpunit cli';
     $_SERVER['HTTP_HOST'] = 'www.icehawk.de';
     $_SERVER['HTTP_REFERER'] = 'http://www.example.com';
     $_SERVER['HTTP_ACCEPT'] = 'text/html; charset=utf-8';
     $_SERVER['SERVER_ADDR'] = '127.0.0.1';
     $_SERVER['REMOTE_ADDR'] = '192.168.0.10';
     $_SERVER['HTTP_REFERER'] = 'http://www.example.com';
     $_SERVER['REQUEST_TIME_FLOAT'] = $requestTimeFloat;
     $_SERVER['HTTPS'] = 'on';
     $_SERVER['PHP_AUTH_USER'] = '******';
     $_SERVER['PHP_AUTH_PW'] = 'Test';
     $_SERVER['CONTENT_LENGTH'] = '512';
     $_SERVER['CONTENT_TYPE'] = 'application/json';
     $requestInfo = RequestInfo::fromEnv();
     $this->assertInstanceOf(RequestInfo::class, $requestInfo);
     $this->assertEquals('/unit/test', $requestInfo->getUri());
     $this->assertEquals('POST', $requestInfo->getMethod());
     $this->assertEquals('unit=test', $requestInfo->getQueryString());
     $this->assertEquals('phpunit cli', $requestInfo->getUserAgent());
     $this->assertEquals('www.icehawk.de', $requestInfo->getHost());
     $this->assertEquals('http://www.example.com', $requestInfo->getReferer());
     $this->assertEquals('text/html; charset=utf-8', $requestInfo->getAcceptedContentTypes());
     $this->assertEquals('127.0.0.1', $requestInfo->getServerAddress());
     $this->assertEquals('192.168.0.10', $requestInfo->getClientAddress());
     $this->assertEquals('http://www.example.com', $requestInfo->getReferer());
     $this->assertEquals($requestTimeFloat, $requestInfo->getRequestTimeFloat());
     $this->assertEquals('Unit', $requestInfo->getAuthUser());
     $this->assertEquals('Test', $requestInfo->getAuthPassword());
     $this->assertEquals($requestTimeFloat, $requestInfo->getRequestTimeFloat());
     $this->assertEquals('512', $requestInfo->getContentLength());
     $this->assertEquals('application/json', $requestInfo->getContentType());
     $this->assertTrue($requestInfo->isSecure());
 }
コード例 #6
0
 public function testCanRetrieveInjectedObjects()
 {
     $requestInfo = RequestInfo::fromEnv();
     $event = new IceHawkWasInitializedEvent($requestInfo);
     $this->assertSame($requestInfo, $event->getRequestInfo());
 }
コード例 #7
0
 public function getRequestInfo() : ProvidesRequestInfo
 {
     return RequestInfo::fromEnv();
 }