def test_PermRoleMap_multiple(self): quer_roles = role_perm_mgr.getRolesForPermission("zope.Qwer") qux_roles = role_perm_mgr.getRolesForPermission("zope.Qux") perms = role_perm_mgr.getPermissionsForRole("zope.Fox") self.assertEqual(len(quer_roles), 1) self.assertTrue(("zope.Fox", Allow) in quer_roles) self.assertEqual(len(qux_roles), 1) self.assertTrue(("zope.Fox", Allow) in qux_roles) self.assertEqual(len(perms), 2) self.assertTrue(("zope.Qwer", Allow) in perms) self.assertTrue(("zope.Qux", Allow) in perms)
def testUnboundRolePermission(self): permission = definePermission('APerm', 'aPerm title').id role = defineRole('ARole', 'A Role').id self.assertEqual(manager.getRolesForPermission(permission), []) self.assertEqual(manager.getPermissionsForRole(role), []) self.assertEqual(manager.getSetting(permission, role), Unset) self.assertEqual(manager.getSetting(permission, role, 1), 1)
def testRolePermission(self): permission = definePermission('APerm', 'aPerm title').id role = defineRole('ARole', 'A Role').id manager.grantPermissionToRole(permission, role) self.assertEqual(manager.getRolesForPermission(permission), [(role,Allow)]) self.assertEqual(manager.getPermissionsForRole(role), [(permission,Allow)])
def test_PermRoleMap(self): roles = role_perm_mgr.getRolesForPermission("zope.Foo") perms = role_perm_mgr.getPermissionsForRole("zope.Bar") self.assertEqual(len(roles), 1) self.assertTrue(("zope.Bar", Allow) in roles) self.assertEqual(len(perms), 1) self.assertTrue(("zope.Foo", Allow) in perms)
def testManyRolesOnePermission(self): perm1 = definePermission('Perm One', 'title').id role1 = defineRole('Role One', 'Role #1').id role2 = defineRole('Role Two', 'Role #2').id roles = manager.getRolesForPermission(perm1) self.assertEqual(len(roles), 0) manager.grantPermissionToRole(perm1, role1) manager.grantPermissionToRole(perm1, role2) manager.grantPermissionToRole(perm1, role2) manager.denyPermissionToRole(perm1, role1) roles = manager.getRolesForPermission(perm1) self.assertEqual(len(roles), 2) self.failIf((role1,Allow) in roles) self.failUnless((role1,Deny) in roles) self.failUnless((role2,Allow) in roles) manager.unsetPermissionFromRole(perm1, role1) roles = manager.getRolesForPermission(perm1) self.assertEqual(len(roles), 1) self.failUnless((role2,Allow) in roles)