Example #1
0
 /**
  * @covers Phossa\Route\Route::getFilters
  */
 public function testGetFilters()
 {
     $this->assertTrue([] == $this->object->getFilters());
     $this->object->addFilter('server.server_name', 'm.phossa.com');
     $this->assertEquals(['server.server_name' => 'm.phossa.com'], $this->object->getFilters());
 }
Example #2
0
 /**
  * test other filter, filter by server_name, test GCB
  *
  * @covers Phossa\Route\Collector\Collector::match
  */
 public function testMatch51()
 {
     $this->object = new Collector(new ParserGcb(), ['chunk' => 3]);
     unset($_SERVER['SERVER_NAME']);
     $route = new Route('GET,POST', '/user[/{name:c}]');
     $route->addFilter('server.server_name', 'm.phossa.com');
     $this->object->addRoute($route);
     // failed
     $res1 = new Result(new Request('GET', '/user/phossa'));
     if (!$this->invokeMethod('match', [$res1])) {
         $this->assertEquals(Status::PRECONDITION_FAILED, $res1->getStatus());
     } else {
         throw new \Exception('bad');
     }
     // good
     $_SERVER['SERVER_NAME'] = 'm.phossa.com';
     $res2 = new Result(new Request('GET', '/user/phossa'));
     if ($this->invokeMethod('match', [$res2])) {
         $this->assertEquals(Status::OK, $res2->getStatus());
     } else {
         throw new \Exception('bad');
     }
 }