[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