/** * @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); }
/** * @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); } } } }