Ejemplo n.º 1
0
 public function testMatch()
 {
     $data = [[self::SAMPLE_PATH, Route::GET_METHOD, true], ['/my', Route::GET_METHOD, true], [self::SAMPLE_PATH, Route::POST_METHOD, false], ['/abrakadabra', Route::GET_METHOD, false]];
     foreach ($data as $row) {
         $expectedResult = $row[2];
         $config = new RouteConfig();
         $config->path = $row[0];
         $config->methods = $row[1];
         $config->request = $this->request;
         $route = new Route($config);
         $result = $route->match();
         $this->assertEquals($expectedResult, $result, sprintf('%s:%s', $row[0], $row[1]));
     }
 }
Ejemplo n.º 2
0
 public function testExecute()
 {
     $request = new SampleRequest(['method' => Route::GET_METHOD, 'params' => ['word2' => 'world!'], 'path' => '/aaa/Hello']);
     $output = new SampleOutput();
     $collection = new RoutesCollection();
     $config = new RouteConfig();
     $config->request = $request;
     $config->operation = new ApiOperationFactory(function () use($request) {
         return new SampleOperation($request);
     });
     $config->methods = Route::GET_METHOD;
     $config->path = '/aaa/:word1';
     $route = new Route($config);
     $this->assertTrue($route->match());
     $collection->add($route);
     $service = new ApiService($collection, $request, $output);
     $result = $service->execute();
     $this->assertFalse($output->hasErrors());
     $this->assertEquals('Hello world!', $result);
 }