Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function cascadeAuthorization(Authorization $authorization, ResourceInterface $resource)
 {
     $subResources = $this->resourceGraphTraverser->getAllSubResources($resource);
     // Cascade authorizations
     $authorizations = [];
     foreach ($subResources as $subResource) {
         $authorizations[] = $authorization->createChildAuthorization($subResource);
     }
     return $authorizations;
 }
 public function testGetSubResources()
 {
     $traverser = new ResourceGraphTraverserDispatcher();
     $resource = $this->getMockForAbstractClass('MyCLabs\\ACL\\Model\\ResourceInterface');
     $subTraverser = $this->getMockForAbstractClass('\\MyCLabs\\ACL\\ResourceGraph\\ResourceGraphTraverser');
     $subTraverser->expects($this->once())->method('getAllSubResources')->with($resource)->will($this->returnValue(['foo']));
     $traverser->setResourceGraphTraverser(get_class($resource), $subTraverser);
     $this->assertEquals(['foo'], $traverser->getAllSubResources($resource));
 }