예제 #1
0
 /**
  * @inheritdoc
  */
 protected function _processResponse($value, Request $request, $type = self::MASTER_REQUEST, $catch = true, $params = [])
 {
     if ($value instanceof ApiResponseInterface) {
         $format = new JsonFormat();
         $value = Response::create($format->encode($value->toArray(), 200, '', '\\' . get_class($value)));
         $value->headers->set("Content-Type", "application/json");
     }
     return parent::_processResponse($value, $request, $type, $catch, $params);
 }
예제 #2
0
 /**
  * @param CubexKernel $kernel
  * @param             $routeData
  * @param             $expect
  * @param null        $exception
  *
  * @dataProvider executeRouteProvider
  */
 public function testExecuteRoute(CubexKernel $kernel, $routeData, $expect, $exception = null)
 {
     $route = new Route();
     $route->createFromRaw($routeData);
     $request = Request::createFromGlobals();
     $type = Cubex::MASTER_REQUEST;
     $catch = $exception === null;
     if (!$catch) {
         $this->setExpectedException('Exception', $exception);
     }
     $result = $kernel->executeRoute($route, $request, $type, $catch);
     if ($expect instanceof RedirectResponse) {
         $this->assertInstanceOf('\\Symfony\\Component\\HttpFoundation\\RedirectResponse', $result);
         /**
          * @var RedirectResponse $result
          */
         $this->assertEquals($expect->getTargetUrl(), $result->getTargetUrl());
     } else {
         if ($expect instanceof \Symfony\Component\HttpFoundation\Response) {
             $this->assertInstanceOf('\\Symfony\\Component\\HttpFoundation\\Response', $result);
             $this->assertEquals($expect->getContent(), $result->getContent());
         } else {
             if ($result instanceof \Symfony\Component\HttpFoundation\Response) {
                 $this->assertEquals($expect, $result->getContent());
             } else {
                 $this->assertEquals($expect, $result);
             }
         }
     }
 }