public function __invoke(ContainerInterface $container, $requestedName, array $options = null) { /* @var \Rbac\Rbac $rbac */ $rbac = $container->get('Rbac\\Rbac'); /* @var \ZfjRbac\Service\RoleService $roleService */ $roleService = $container->get('ZfjRbac\\Service\\RoleService'); /* @var \ZfjRbac\Assertion\AssertionPluginManager $assertionPluginManager */ $assertionPluginManager = $container->get('ZfjRbac\\Assertion\\AssertionPluginManager'); /* @var \ZfjRbac\Options\ModuleOptions $moduleOptions */ $moduleOptions = $container->get('ZfjRbac\\Options\\ModuleOptions'); $authorizationService = new AuthorizationService($rbac, $roleService, $assertionPluginManager); $authorizationService->setAssertions($moduleOptions->getAssertionMap()); return $authorizationService; }
public function testAssertionMap() { $rbac = $this->getMock('Rbac\\Rbac', [], [], '', false); $roleService = $this->getMock('ZfjRbac\\Service\\RoleService', [], [], '', false); $assertionPluginManager = $this->getMock('ZfjRbac\\Assertion\\AssertionPluginManager', [], [], '', false); $authorizationService = new AuthorizationService($rbac, $roleService, $assertionPluginManager); $authorizationService->setAssertions(['foo' => 'bar', 'bar' => 'foo']); $this->assertTrue($authorizationService->hasAssertion('foo')); $this->assertTrue($authorizationService->hasAssertion('bar')); $authorizationService->setAssertion('bar', null); $this->assertFalse($authorizationService->hasAssertion('bar')); }