Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function handle(RequestConfiguration $requestConfiguration, View $view)
 {
     if (!$requestConfiguration->isHtmlRequest()) {
         $this->restViewHandler->setExclusionStrategyGroups($requestConfiguration->getSerializationGroups());
         if ($version = $requestConfiguration->getSerializationVersion()) {
             $this->restViewHandler->setExclusionStrategyVersion($version);
         }
         $view->getSerializationContext()->enableMaxDepthChecks();
     }
     return $this->restViewHandler->handle($view);
 }
Esempio n. 2
0
 function it_sets_proper_values_for_non_html_requests(RequestConfiguration $requestConfiguration, RestViewHandler $restViewHandler, Response $response)
 {
     $requestConfiguration->isHtmlRequest()->willReturn(false);
     $view = View::create();
     $view->setSerializationContext(new SerializationContext());
     $requestConfiguration->getSerializationGroups()->willReturn(['Detailed']);
     $requestConfiguration->getSerializationVersion()->willReturn('2.0.0');
     $restViewHandler->setExclusionStrategyGroups(['Detailed'])->shouldBeCalled();
     $restViewHandler->setExclusionStrategyVersion('2.0.0')->shouldBeCalled();
     $restViewHandler->handle($view)->willReturn($response);
     $this->handle($requestConfiguration, $view)->shouldReturn($response);
 }
Esempio n. 3
0
 public function testConfigurableViewHandlerInterface()
 {
     //test
     $viewHandler = new ViewHandler();
     $viewHandler->setExclusionStrategyGroups('bar');
     $viewHandler->setExclusionStrategyVersion('1.1');
     $viewHandler->setSerializeNullStrategy(true);
     $contextMethod = new \ReflectionMethod($viewHandler, 'getSerializationContext');
     $contextMethod->setAccessible(true);
     $view = new View();
     $context = $contextMethod->invoke($viewHandler, $view);
     $this->assertEquals(array('bar'), $context->attributes->get('groups')->getOrThrow(new \Exception('Serialization groups not set as expected')));
     $this->assertEquals('1.1', $context->attributes->get('version')->getOrThrow(new \Exception('Serialization version not set as expected')));
     $this->assertTrue($context->shouldSerializeNull());
 }
Esempio n. 4
0
 public function testConfigurableViewHandlerInterface()
 {
     //test
     $viewHandler = new ViewHandler();
     $viewHandler->setSerializationContextAdapter($this->getMock('FOS\\RestBundle\\Context\\Adapter\\SerializationContextAdapterInterface'));
     $viewHandler->setExclusionStrategyGroups('bar');
     $viewHandler->setExclusionStrategyVersion('1.1');
     $viewHandler->setSerializeNullStrategy(true);
     $contextMethod = new \ReflectionMethod($viewHandler, 'getSerializationContext');
     $contextMethod->setAccessible(true);
     $view = new View();
     $context = $contextMethod->invoke($viewHandler, $view);
     $this->assertEquals(array('bar'), $context->getGroups());
     $this->assertEquals('1.1', $context->getVersion());
     $this->assertTrue($context->getSerializeNull());
 }