public function testRequest() { unset($_SERVER['REQUEST_URI']); $request = Request::createFromGlobals(); $this->assertEquals('/', $request->getUri()); // By default it's / $this->assertEquals(Request::GET, $request->getMethod()); $_SERVER['REQUEST_URI'] = '/'; $request = Request::createFromGlobals(); $this->assertEquals('/', $request->getUri()); $this->assertEquals(Request::GET, $request->getMethod()); $_SERVER['REQUEST_URI'] = '/test'; $request = Request::createFromGlobals(); $this->assertEquals('/test', $request->getUri()); $this->assertEquals(Request::GET, $request->getMethod()); }
public function testDispatchEvents() { $dispatchAfterInitialize = false; $dispatchAfterAction = false; $dispatchBeforeExecuteRoute = false; $dispatchAfterExecuteRoute = false; $appAfterHandle = false; $eventManager = new \Owl\Event\Manager(); $eventManager->listen('dispatch:afterInitialize', function ($app) use(&$dispatchAfterInitialize) { $dispatchAfterInitialize = true; }); $eventManager->listen('dispatch:afterAction', function ($app) use(&$dispatchAfterAction) { $dispatchAfterAction = true; }); $eventManager->listen('dispatch:beforeExecuteRoute', function ($app) use(&$dispatchBeforeExecuteRoute) { $dispatchBeforeExecuteRoute = true; }); $eventManager->listen('dispatch:afterExecuteRoute', function ($app) use(&$dispatchAfterExecuteRoute) { $dispatchAfterExecuteRoute = true; }); $eventManager->listen('app:afterHandle', function ($app) use(&$appAfterHandle) { $appAfterHandle = true; }); $this->assertFalse($dispatchAfterInitialize); $this->assertFalse($dispatchAfterAction); $this->assertFalse($dispatchBeforeExecuteRoute); $this->assertFalse($dispatchAfterExecuteRoute); $this->assertFalse($appAfterHandle); $application = $this->createSmallApp($eventManager); $response = $application->handle(Request::createFromGlobals(), new \Owl\Http\Response\Json()); $this->assertInstanceOf('Owl\\Http\\ResponseInterface', $response); $this->assertSame(200, $response->getCode()); $this->assertNotFalse($dispatchBeforeExecuteRoute); $this->assertNotFalse($dispatchAfterExecuteRoute); $this->assertNotFalse($dispatchAfterInitialize); $this->assertNotFalse($dispatchAfterAction); $this->assertNotFalse($appAfterHandle); }
<?php $serviceManager = new \Owl\Service\Manager(); $router = new \Owl\Router\Router(); $router->add('/', ['action' => '/']); $router->add('/user/{id:int}/', ['action' => 'view']); $router->add('/users', ['action' => 'users']); $serviceManager->set('router', $router); $application = new \Owl\Application($serviceManager); $application->handle(\Owl\Http\Request::createFromGlobals(), new \Owl\Http\Response());
<?php /** * @author Patsura Dmitry http://github.com/ovr <*****@*****.**> */ use Owl\Application; use Owl\Http\Request; use Owl\Router\Route; use Owl\Router\Router; include_once __DIR__ . '/../vendor/autoload.php'; $serviceManager = new Owl\Service\Manager(); $router = new Router(); /** * Frontend */ $router->add('/', ['module' => 'Frontend', 'controller' => 'Index', 'action' => 'index']); /** * Api module - REST API */ $router->add('/api', ['module' => 'Api', 'controller' => 'Index', 'action' => 'index']); $router->add('/api/users', ['module' => 'Api', 'controller' => 'User', 'action' => 'list']); $router->add('/api/users/:id', ['module' => 'Api', 'controller' => 'User', 'action' => 'index']); $router->add('/api/users/:id', ['module' => 'Api', 'controller' => 'User', 'action' => 'create'], Route::POST); $router->add('/api/users/:id', ['module' => 'Api', 'controller' => 'User', 'action' => 'delete'], Route::DELETE); $serviceManager->set('router', $router); $application = new Application($serviceManager); $response = $application->handle(Request::createFromGlobals()); $response->send();
<?php /** * @author Patsura Dmitry http://github.com/ovr <*****@*****.**> */ use Owl\Application; use Owl\Http\Request; use Owl\Router\Route; use Owl\Router\Router; error_reporting(-1); ini_set('display_errors', 1); include_once __DIR__ . '/../vendor/autoload.php'; include_once __DIR__ . '/../app/Application.php'; $eventManager = new \Owl\Event\Manager(); $profiler = new Owl\Debug\Profiler(); $profiler->listen($eventManager); $application = new \RestApp\Application(new Owl\Service\Manager(), $eventManager); $response = $application->bootstrap()->handle(Request::createFromGlobals(), new \Owl\Http\Response\Json()); $response = $profiler->setContent($response); $response->send();
public function testSuccessConstructPass() { $controller = new Controller(Request::createFromGlobals(), new \Owl\Http\Response\Json(), new \Owl\Service\Manager()); $this->assertInstanceOf('Owl\\Http\\RequestInterface', $controller->getRequest()); }