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)
def testManyPermissionsOneRole(self): perm1 = definePermission('Perm One', 'P1').id perm2 = definePermission('Perm Two', 'P2').id perm3 = definePermission('Perm Three', 'P3').id role1 = defineRole('Role One', 'Role #1').id perms = manager.getPermissionsForRole(role1) self.assertEqual(len(perms), 0) manager.grantPermissionToRole(perm1, role1) manager.grantPermissionToRole(perm2, role1) manager.grantPermissionToRole(perm2, role1) manager.denyPermissionToRole(perm3, role1) perms = manager.getPermissionsForRole(role1) self.assertEqual(len(perms), 3) self.failUnless((perm1,Allow) in perms) self.failUnless((perm2,Allow) in perms) self.failUnless((perm3,Deny) in perms) manager.unsetPermissionFromRole(perm1, role1) perms = manager.getPermissionsForRole(role1) self.assertEqual(len(perms), 2) self.failUnless((perm2,Allow) in perms)