[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/Grants/Global/tests - testPrincipalRoleManager.py:1.2

Jim Fulton jim@zope.com
Tue, 2 Jul 2002 15:49:10 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/Security/Grants/Global/tests
In directory cvs.zope.org:/tmp/cvs-serv3863/lib/python/Zope/App/Security/Grants/Global/tests

Modified Files:
	testPrincipalRoleManager.py 
Log Message:
Added a utility function in the ZopeSecurityPolicy module to get the
permissions held by a principal. This is needed to implement the
granting policy described in

http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3SecurityModel

Also removed the special security settings "Assign" and "Remove" and
switched code to the "Allow" and "Deny" instead.



=== Zope3/lib/python/Zope/App/Security/Grants/Global/tests/testPrincipalRoleManager.py 1.1 => 1.2 ===
 import unittest
 
-from Zope.App.Security.Registries.RoleRegistry import roleRegistry as rregistry
-from Zope.App.Security.Registries.PrincipalRegistry import principalRegistry as pregistry
-from Zope.App.Security.Grants.Global.PrincipalRoleManager import principalRoleManager
-from Zope.App.Security.Settings import Assign, Remove
+from Zope.App.Security.Registries.RoleRegistry \
+     import roleRegistry as rregistry
+from Zope.App.Security.Registries.PrincipalRegistry \
+     import principalRegistry as pregistry
+from Zope.App.Security.Grants.Global.PrincipalRoleManager \
+     import principalRoleManager
+from Zope.App.Security.Settings import Allow, Deny
 from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
 
 class Test(CleanUp, unittest.TestCase):
@@ -38,23 +41,23 @@
         self.assertEqual(principalRoleManager.getRolesForPrincipal(principal),
                          [])
 
-    def testPrincipalRoleAssign(self):
+    def testPrincipalRoleAllow(self):
         role = rregistry.defineRole('ARole', 'A Role').getId()
         principal = self._make_principal()
         principalRoleManager.assignRoleToPrincipal(role, principal)
         self.assertEqual(principalRoleManager.getPrincipalsForRole(role),
-                         [(principal,Assign)])
+                         [(principal, Allow)])
         self.assertEqual(principalRoleManager.getRolesForPrincipal(principal),
-                         [(role,Assign)])
+                         [(role, Allow)])
 
-    def testPrincipalRoleRemove(self):
+    def testPrincipalRoleDeny(self):
         role = rregistry.defineRole('ARole', 'A Role').getId()
         principal = self._make_principal()
         principalRoleManager.removeRoleFromPrincipal(role, principal)
         self.assertEqual(principalRoleManager.getPrincipalsForRole(role),
-                         [(principal,Remove)])
+                         [(principal, Deny)])
         self.assertEqual(principalRoleManager.getRolesForPrincipal(principal),
-                         [(role,Remove)])
+                         [(role, Deny)])
 
     def testPrincipalRoleUnset(self):
         role = rregistry.defineRole('ARole', 'A Role').getId()
@@ -74,8 +77,8 @@
         principalRoleManager.assignRoleToPrincipal(role2, prin1)
         roles = principalRoleManager.getRolesForPrincipal(prin1)
         self.assertEqual(len(roles), 2)
-        self.failUnless((role1,Assign) in roles)
-        self.failUnless((role2,Assign) in roles)
+        self.failUnless((role1, Allow) in roles)
+        self.failUnless((role2, Allow) in roles)
 
     def testManyPrincipalsOneRole(self):
         role1 = rregistry.defineRole('Role One', 'Role #1').getId()
@@ -85,8 +88,8 @@
         principalRoleManager.assignRoleToPrincipal(role1, prin2)
         principals = principalRoleManager.getPrincipalsForRole(role1)
         self.assertEqual(len(principals), 2)
-        self.failUnless((prin1,Assign) in principals)
-        self.failUnless((prin2,Assign) in principals)
+        self.failUnless((prin1, Allow) in principals)
+        self.failUnless((prin2, Allow) in principals)
 
     def testPrincipalsAndRoles(self):
         role1 = rregistry.defineRole('Role One', 'Role #1').getId()
@@ -98,9 +101,9 @@
         principalRoleManager.assignRoleToPrincipal(role2, prin1)
         principalsAndRoles = principalRoleManager.getPrincipalsAndRoles()
         self.assertEqual(len(principalsAndRoles), 3)
-        self.failUnless((role1,prin1,Assign) in principalsAndRoles)
-        self.failUnless((role1,prin2,Assign) in principalsAndRoles)
-        self.failUnless((role2,prin1,Assign) in principalsAndRoles)
+        self.failUnless((role1, prin1, Allow) in principalsAndRoles)
+        self.failUnless((role1, prin2, Allow) in principalsAndRoles)
+        self.failUnless((role2, prin1, Allow) in principalsAndRoles)
 
 def test_suite():
     loader=unittest.TestLoader()