/** * @depends testLoginExists */ public function testUnincludeRole() { $prefix = LOCAL_NAMESPACE . '#'; $role = new core_kernel_classes_Resource($prefix . 'subRole11'); $user = $this->service->addUser('user', 'password', $role); $userRoles = $this->service->getUserRoles($user); $baseRole = new core_kernel_classes_Resource($prefix . 'baseRole'); $subRole1 = new core_kernel_classes_Resource($prefix . 'subRole1'); $this->assertEquals(3, count($userRoles)); $this->assertTrue(array_key_exists($baseRole->getUri(), $userRoles)); $this->assertTrue(array_key_exists($subRole1->getUri(), $userRoles)); $this->assertTrue(array_key_exists($role->getUri(), $userRoles)); $this->service->unincludeRole($subRole1, $baseRole); $userRoles = $this->service->getUserRoles($user); $this->assertEquals(2, count($userRoles)); $this->assertTrue(array_key_exists($role->getUri(), $userRoles)); $this->assertTrue(array_key_exists($subRole1->getUri(), $userRoles)); $this->service->includeRole($role, $baseRole); $userRoles = $this->service->getUserRoles($user); $this->assertEquals(3, count($userRoles)); $this->assertTrue(array_key_exists($baseRole->getUri(), $userRoles)); $user->delete(); $this->assertFalse($user->exists()); }
/** * Includes the $roleToInclude Role to the $role Role. * * @param core_kernel_classes_Resource $role A Role. * @param core_kernel_classes_Resource $roleToInclude A Role to include. */ public function includeRole(core_kernel_classes_Resource $role, core_kernel_classes_Resource $roleToInclude) { $this->generisUserService->includeRole($role, $roleToInclude); $this->getEventManager()->trigger(new RoleChangedEvent($role->getUri(), 'included role', $roleToInclude->getUri())); }
/** * Includes the $roleToInclude Role to the $role Role. * * @param core_kernel_classes_Resource role A Role. * @param core_kernel_classes_Resource roleToInclude A Role to include. */ public function includeRole(core_kernel_classes_Resource $role, core_kernel_classes_Resource $roleToInclude) { $this->generisUserService->includeRole($role, $roleToInclude); }