[Checkins] SVN: zope.securitypolicy/trunk/ Fix #131115: Clean up inconsistencies in getSetting's default parameters

Christian Theune ct at gocept.com
Wed May 19 08:07:18 EDT 2010


Log message for revision 112528:
  Fix #131115: Clean up inconsistencies in getSetting's default parameters
  between interfaces and implementations.
  
  

Changed:
  U   zope.securitypolicy/trunk/CHANGES.txt
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/interfaces.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/principalrole.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/rolepermission.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationprincipalrolemanager.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationrolepermissionmanager.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalpermissionmanager.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalrolemanager.py
  U   zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_rolepermissionmanager.py

-=-
Modified: zope.securitypolicy/trunk/CHANGES.txt
===================================================================
--- zope.securitypolicy/trunk/CHANGES.txt	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/CHANGES.txt	2010-05-19 12:07:18 UTC (rev 112528)
@@ -5,6 +5,9 @@
 3.6.2 (unreleased)
 ------------------
 
+- LP #131115: Clean up inconsistency in interface definitions and actual usage
+  for the various security maps.
+
 - LP #564525:  fix permission moved from ``zope.app.dublincore`` namespace
   to ``zope.dublincore``.
 

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/interfaces.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/interfaces.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/interfaces.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -71,7 +71,7 @@
         this principal, then the empty list is returned.
         """
 
-    def getSetting(role_id, principal_id):
+    def getSetting(role_id, principal_id, default=Unset):
         """Return the setting for this principal, role combination
         """
 
@@ -120,7 +120,7 @@
         returned.
         """
 
-    def getSetting(permission_id, role_id):
+    def getSetting(permission_id, role_id, default=Unset):
         """Return the setting for the given permission id and role id
 
         If there is no setting, Unset is returned
@@ -176,7 +176,7 @@
         list is returned.
         """
 
-    def getSetting(permission_id, principal_id):
+    def getSetting(permission_id, principal_id, default=Unset):
         """Get the setting for a permission and principal.
 
         Get the setting (Allow/Deny/Unset) for a given permission and

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/principalrole.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/principalrole.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/principalrole.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -44,9 +44,9 @@
     getPrincipalsForRole = AnnotationSecurityMap.getRow
     getRolesForPrincipal = AnnotationSecurityMap.getCol
 
-    def getSetting(self, role_id, principal_id):
+    def getSetting(self, role_id, principal_id, default=Unset):
         return AnnotationSecurityMap.queryCell(
-            self, role_id, principal_id, default=Unset)
+            self, role_id, principal_id, default)
 
     getPrincipalsAndRoles = AnnotationSecurityMap.getAllCells
 
@@ -90,9 +90,9 @@
         ''' See the interface IPrincipalRoleMap '''
         return self.getCol(principal_id)
 
-    def getSetting(self, role_id, principal_id):
+    def getSetting(self, role_id, principal_id, default=Unset):
         ''' See the interface IPrincipalRoleMap '''
-        return self.queryCell(role_id, principal_id, default=Unset)
+        return self.queryCell(role_id, principal_id, default)
 
     def getPrincipalsAndRoles(self):
         ''' See the interface IPrincipalRoleMap '''

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/rolepermission.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/rolepermission.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/rolepermission.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -46,9 +46,9 @@
     getPermissionsForRole = AnnotationSecurityMap.getCol
     getRolesAndPermissions = AnnotationSecurityMap.getAllCells
 
-    def getSetting(self, permission_id, role_id):
+    def getSetting(self, permission_id, role_id, default=Unset):
         return AnnotationSecurityMap.queryCell(
-            self, permission_id, role_id, default=Unset)
+            self, permission_id, role_id, default)
 
 
 class RolePermissionManager(SecurityMap):
@@ -92,9 +92,9 @@
         '''See interface IRolePermissionMap'''
         return self.getCol(role_id)
 
-    def getSetting(self, permission_id, role_id):
+    def getSetting(self, permission_id, role_id, default=Unset):
         '''See interface IRolePermissionMap'''
-        return self.queryCell(permission_id, role_id)
+        return self.queryCell(permission_id, role_id, default)
 
     def getRolesAndPermissions(self):
         '''See interface IRolePermissionMap'''

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationprincipalrolemanager.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationprincipalrolemanager.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationprincipalrolemanager.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -24,7 +24,7 @@
 from zope.annotation.attribute import AttributeAnnotations
 
 from zope.securitypolicy.principalrole import AnnotationPrincipalRoleManager
-from zope.securitypolicy.interfaces import Allow, Deny
+from zope.securitypolicy.interfaces import Allow, Deny, Unset
 from zope.securitypolicy.interfaces import IRole
 from zope.securitypolicy.role import Role
 from zope.securitypolicy.tests import principalRegistry
@@ -93,6 +93,10 @@
                          [])
         self.assertEqual(principalRoleManager.getRolesForPrincipal(principal),
                          [])
+        self.assertEqual(principalRoleManager.getSetting(principal, role),
+                         Unset)
+        self.assertEqual(principalRoleManager.getSetting(principal, role, 1),
+                         1)
 
     def testManyRolesOnePrincipal(self):
         principalRoleManager = self._make_roleManager()

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationrolepermissionmanager.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationrolepermissionmanager.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_annotationrolepermissionmanager.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -25,7 +25,7 @@
 from zope.security.permission import Permission
 
 from zope.securitypolicy.role import Role
-from zope.securitypolicy.interfaces import Allow, Deny
+from zope.securitypolicy.interfaces import Allow, Deny, Unset
 from zope.securitypolicy.interfaces import IRole
 from zope.securitypolicy.rolepermission import AnnotationRolePermissionManager
 
@@ -87,7 +87,10 @@
         l = list(mgr.getRolesForPermission(self.read))
         self.assertEqual(l, [(self.manager, Allow)])
 
+        self.assertEqual(mgr.getSetting(self.read, self.peon), Unset)
+        self.assertEqual(mgr.getSetting(self.read, self.peon, 1), 1)
 
+
 def test_suite():
     loader=unittest.TestLoader()
     return loader.loadTestsFromTestCase(Test)

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalpermissionmanager.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalpermissionmanager.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalpermissionmanager.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -100,6 +100,9 @@
         self.assertEqual(manager.getPermissionsForPrincipal(principal), [])
         # check the result of getSetting() when it's empty.
         self.assertEqual(manager.getSetting(permission, principal), Unset)
+        # check the result of getSetting() when it's empty and a default
+        # passed in
+        self.assertEqual(manager.getSetting(permission, principal, 1), 1)
         # check the result of getSetting() when it's allowed.
         manager.grantPermissionToPrincipal(permission, principal)
         self.assertEqual(manager.getSetting(permission, principal), Allow)

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalrolemanager.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalrolemanager.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_principalrolemanager.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -23,7 +23,7 @@
 from zope.authentication.interfaces import IAuthentication
 
 from zope.securitypolicy.role import Role
-from zope.securitypolicy.interfaces import Allow, Deny
+from zope.securitypolicy.interfaces import Allow, Deny, Unset
 from zope.securitypolicy.interfaces import IRole
 from zope.securitypolicy.principalrole import principalRoleManager
 from zope.securitypolicy.tests import principalRegistry
@@ -79,8 +79,13 @@
                          [])
         self.assertEqual(principalRoleManager.getRolesForPrincipal(principal),
                          [])
+        self.assertEqual(principalRoleManager.getSetting(principal, role),
+                         Unset)
+        self.assertEqual(principalRoleManager.getSetting(principal, role, 1),
+                         1)
 
 
+
     def test_invalidPrincipal(self):
         self.assertRaises(ValueError,
                           principalRoleManager.assignRoleToPrincipal,

Modified: zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_rolepermissionmanager.py
===================================================================
--- zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_rolepermissionmanager.py	2010-05-19 11:59:23 UTC (rev 112527)
+++ zope.securitypolicy/trunk/src/zope/securitypolicy/tests/test_rolepermissionmanager.py	2010-05-19 12:07:18 UTC (rev 112528)
@@ -23,7 +23,7 @@
 from zope.security.permission import Permission
 
 from zope.securitypolicy.role import Role
-from zope.securitypolicy.interfaces import Allow, Deny
+from zope.securitypolicy.interfaces import Allow, Deny, Unset
 from zope.securitypolicy.interfaces import IRole
 from zope.securitypolicy.rolepermission import \
         rolePermissionManager as manager
@@ -45,6 +45,8 @@
         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
@@ -55,6 +57,7 @@
         self.assertEqual(manager.getPermissionsForRole(role),
                                                     [(permission,Allow)])
 
+
     def testManyPermissionsOneRole(self):
         perm1 = definePermission('Perm One', 'P1').id
         perm2 = definePermission('Perm Two', 'P2').id



More information about the checkins mailing list