[Zope3-checkins]
CVS: Zope3/src/zope/app/securitypolicy/browser/tests
- test_principalpermissionview.py:1.2
test_principalroleview.py:1.3 test_rolepermissionview.py:1.3
Stephan Richter
srichter at cosmos.phy.tufts.edu
Mon Mar 8 07:06:40 EST 2004
Update of /cvs-repository/Zope3/src/zope/app/securitypolicy/browser/tests
In directory cvs.zope.org:/tmp/cvs-serv13053/src/zope/app/securitypolicy/browser/tests
Modified Files:
test_principalpermissionview.py test_principalroleview.py
test_rolepermissionview.py
Log Message:
Adjusted code to use the new APIs for permissions and principals. Also, use
the utility service instead of the permission registry to look up permissions.
=== Zope3/src/zope/app/securitypolicy/browser/tests/test_principalpermissionview.py 1.1 => 1.2 ===
--- Zope3/src/zope/app/securitypolicy/browser/tests/test_principalpermissionview.py:1.1 Fri Feb 27 07:46:32 2004
+++ Zope3/src/zope/app/securitypolicy/browser/tests/test_principalpermissionview.py Mon Mar 8 07:06:06 2004
@@ -11,22 +11,20 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""
+"""Principal Permission View Tests
+
$Id$
"""
-
import unittest
from zope.interface import implements
-from zope.component import getService, getServiceManager
+from zope.app import zapi
from zope.app.tests import ztapi
from zope.app.interfaces.services.service import ISimpleService
-from zope.app.interfaces.annotation import IAttributeAnnotatable
-from zope.app.interfaces.annotation import IAnnotations
-from zope.app.interfaces.security import IPermissionService
-from zope.app.interfaces.security import IAuthenticationService
-from zope.app.services.servicenames import Permissions, Adapters
+from zope.app.interfaces.annotation import IAttributeAnnotatable, IAnnotations
+from zope.app.security.interfaces import IAuthenticationService, IPrincipal
+from zope.app.security.interfaces import IPermission
from zope.app.services.servicenames import Authentication
from zope.app.attributeannotations import AttributeAnnotations
from zope.app.security.settings import Allow, Deny, Unset
@@ -38,26 +36,7 @@
import PrincipalPermissionView
class DummyContext:
-
implements(IAttributeAnnotatable)
-#IPrincipalPermissionManager, IPrincipalPermissionMap
-
-class DummyPermissionService:
-
- implements(IPermissionService, ISimpleService)
-
- def __init__(self, perm_objs):
- perms = {}
- for perm_obj in perm_objs:
- perms[perm_obj.getId()] = perm_obj
-
- self.perms = perms
-
- def getPermission(self,pr_id):
- return self.perms[pr_id]
-
- def getPermissions(self):
- return self.perms.keys()
class DummyAuthenticationService:
@@ -66,14 +45,22 @@
def __init__(self, principals):
pr = {}
for principal in principals:
- pr[principal.getId()] = principal
+ pr[principal.id] = principal
self.principals = pr
def getPrincipal(self, principal_id):
return self.principals[principal_id]
-class DummyAdapter:
+class DummyPrincipal:
+ implements(IPrincipal)
+
+ def __init__(self, id, title):
+ self.id = id
+ self.title = title
+
+
+class DummyAdapter:
implements(IPrincipalPermissionManager, IPrincipalPermissionMap)
def __init__(self, context):
@@ -123,41 +110,33 @@
except KeyError:
return []
-class DummyObject:
+class DummyPermission:
+ implements(IPermission)
+
def __init__(self, id, title):
- self._id = id
- self._title = title
-
- def getId(self):
- return self._id
-
- def getTitle(self):
- return self._title
+ self.id = id
+ self.title = title
class Test(PlacefulSetup, unittest.TestCase):
def setUp(self):
PlacefulSetup.setUp(self)
+ sm = zapi.getServiceManager(None)
self._permissions = []
- self._permissions.append(DummyObject('qux', 'Qux'))
- self._permissions.append(DummyObject('baz', 'Baz'))
- defineService=getServiceManager(None).defineService
- provideService=getServiceManager(None).provideService
-
- defineService(
- Permissions, IPermissionService)
- provideService(Permissions,
- DummyPermissionService(self._permissions))
+ self._permissions.append(DummyPermission('qux', 'Qux'))
+ self._permissions.append(DummyPermission('baz', 'Baz'))
+
+ for perm in self._permissions:
+ ztapi.provideUtility(IPermission, perm, perm.id)
- defineService(Authentication,
- IAuthenticationService)
+ sm.defineService(Authentication, IAuthenticationService)
self._principals = []
- self._principals.append(DummyObject('foo', 'Foo'))
- self._principals.append(DummyObject('bar', 'Bar'))
+ self._principals.append(DummyPrincipal('foo', 'Foo'))
+ self._principals.append(DummyPrincipal('bar', 'Bar'))
- provideService(Authentication,
+ sm.provideService(Authentication,
DummyAuthenticationService(principals = self._principals))
ztapi.provideAdapter(IAttributeAnnotatable,
IPrincipalPermissionManager, DummyAdapter)
@@ -170,188 +149,189 @@
def testGrantPermissions(self):
view = self._makeOne()
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
denied_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Deny')
+ self._principals[0].id, 'Deny')
self.assertEqual(len(allowed_perms), 0, 'List not empty')
self.assertEqual(len(denied_perms), 0, 'List not empty')
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'),
+ self._principals[0].id,'Allow'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'),
+ self._principals[0].id,'Deny'),
[])
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[1].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[1].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow').sort(),
+ self._principals[0].id,'Allow').sort(),
self._permissions.sort())
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'),
+ self._principals[0].id,'Deny'),
[])
- view.grantPermissions(self._principals[1].getId(),
- [self._permissions[0].getId()])
+ view.grantPermissions(self._principals[1].id,
+ [self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Allow'),
+ self._principals[1].id,'Allow'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Deny'),
+ self._principals[1].id,'Deny'),
[])
- view.grantPermissions(self._principals[1].getId(),
- [self._permissions[1].getId()])
+ view.grantPermissions(self._principals[1].id,
+ [self._permissions[1].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Allow').sort(),
+ self._principals[1].id,'Allow').sort(),
self._permissions.sort())
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Deny'),
+ self._principals[1].id,'Deny'),
[])
def testDenyPermissions(self):
view = self._makeOne()
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
denied_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Deny')
+ self._principals[0].id, 'Deny')
self.assertEqual(len(allowed_perms), 0, 'List not empty')
self.assertEqual(len(denied_perms), 0, 'List not empty')
- view.denyPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.denyPermissions(self._principals[0].id,
+ [self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'),
+ self._principals[0].id,'Deny'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'),
+ self._principals[0].id,'Allow'),
[])
- view.denyPermissions(self._principals[0].getId(),
- [self._permissions[1].getId()])
+ view.denyPermissions(self._principals[0].id,
+ [self._permissions[1].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny').sort(),
+ self._principals[0].id,'Deny').sort(),
self._permissions.sort())
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'),
+ self._principals[0].id,'Allow'),
[])
- view.denyPermissions(self._principals[1].getId(), [
- self._permissions[0].getId()])
+ view.denyPermissions(self._principals[1].id, [
+ self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Deny'),
+ self._principals[1].id,'Deny'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Allow'),
+ self._principals[1].id,'Allow'),
[])
- view.denyPermissions(self._principals[1].getId(),
- [self._permissions[1].getId()])
+ view.denyPermissions(self._principals[1].id,
+ [self._permissions[1].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Deny').sort(),
+ self._principals[1].id,'Deny').sort(),
self._permissions.sort())
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[1].getId(),'Allow'),
+ self._principals[1].id,'Allow'),
[])
def testAllowDenyPermissions(self):
view = self._makeOne()
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
denied_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Deny')
+ self._principals[0].id, 'Deny')
self.assertEqual(len(allowed_perms), 0, 'List not empty')
self.assertEqual(len(denied_perms), 0, 'List not empty')
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'),
+ self._principals[0].id,'Allow'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'),
+ self._principals[0].id,'Deny'),
[])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 1, 'List has wrong length')
# Now change it to deny
- view.denyPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.denyPermissions(self._principals[0].id,
+ [self._permissions[0].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'),
+ self._principals[0].id,'Deny'),
[self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'),
+ self._principals[0].id,'Allow'),
[])
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[1].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[1].id])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Deny'), [self._permissions[0]])
+ self._principals[0].id,'Deny'), [self._permissions[0]])
self.assertEqual(view.getPermissionsForPrincipal(
- self._principals[0].getId(),'Allow'), [self._permissions[1]])
+ self._principals[0].id,'Allow'), [self._permissions[1]])
def testUnsetPermissions(self):
view = self._makeOne()
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[0].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 1, 'List has wrong length')
- view.unsetPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.unsetPermissions(self._principals[0].id,
+ [self._permissions[0].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 0, 'Permission not unset')
# Deleting mutiple in one step
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[0].getId(),
- self._permissions[1].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[0].id,
+ self._permissions[1].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 2, 'List has wrong length')
- view.unsetPermissions(self._principals[0].getId(),
- [self._permissions[0].getId(),
- self._permissions[1].getId()])
+ view.unsetPermissions(self._principals[0].id,
+ [self._permissions[0].id,
+ self._permissions[1].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 0, 'Some permissions not unset')
# Deleting in a row
- view.grantPermissions(self._principals[0].getId(),
- [self._permissions[0].getId(),
- self._permissions[1].getId()])
+ view.grantPermissions(self._principals[0].id,
+ [self._permissions[0].id,
+ self._permissions[1].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 2, 'List has wrong length')
- view.unsetPermissions(self._principals[0].getId(),
- [self._permissions[0].getId()])
+ view.unsetPermissions(self._principals[0].id,
+ [self._permissions[0].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 1, 'Some permissions not unset')
- view.unsetPermissions(self._principals[0].getId(),
- [self._permissions[1].getId()])
+ view.unsetPermissions(self._principals[0].id,
+ [self._permissions[1].id])
allowed_perms = view.getPermissionsForPrincipal(
- self._principals[0].getId(), 'Allow')
+ self._principals[0].id, 'Allow')
self.assertEqual(len(allowed_perms), 0, 'Not all permissions unset')
- # Ask for an other way of getting the unset permisssions
+ # Ask for another way of getting the unset permisssions
unset_perms = view.getUnsetPermissionsForPrincipal(
- self._principals[0].getId())
- self.assertEqual(len(unset_perms), 2, 'Not all permissions unset')
+ self._principals[0].id)
+ # the permissions include zope.Public
+ self.assertEqual(len(unset_perms), 3, 'Not all permissions unset')
def test_suite():
loader=unittest.TestLoader()
=== Zope3/src/zope/app/securitypolicy/browser/tests/test_principalroleview.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/securitypolicy/browser/tests/test_principalroleview.py:1.2 Fri Mar 5 13:39:08 2004
+++ Zope3/src/zope/app/securitypolicy/browser/tests/test_principalroleview.py Mon Mar 8 07:06:06 2004
@@ -22,7 +22,9 @@
from zope.app import zapi
from zope.app.tests import ztapi
-from zope.app.interfaces.security import IAuthenticationService
+from zope.app.security.interfaces import IAuthenticationService, IPrincipal
+from zope.app.security.interfaces import IPermission
+from zope.app.security.permission import Permission
from zope.app.interfaces.services.service import ISimpleService
from zope.app.services.servicenames import Authentication
from zope.app.services.tests.placefulsetup import PlacefulSetup
@@ -49,18 +51,6 @@
def getSetting(self, role, principal):
return DummySetting('%r:%r' % (role, principal))
-
-class DummyObject:
- def __init__(self, id, title):
- self._id = id
- self._title = title
-
- def getId(self):
- return self._id
-
- def getTitle(self):
- return self._title
-
class DummyAuthenticationService:
implements(IAuthenticationService, ISimpleService)
@@ -71,6 +61,14 @@
def getPrincipals(self, name):
return self._principals
+class DummyPrincipal:
+ implements(IPrincipal)
+
+ def __init__(self, id, title):
+ self.id = id
+ self.title = title
+
+
def defineRole(id, title=None, description=None):
role = Role(id, title, description)
ztapi.provideUtility(IRole, role, name=role.id)
@@ -84,16 +82,15 @@
self._roles = [defineRole('qux', 'Qux'), defineRole('baz', 'Baz')]
- defineService = zapi.getServiceManager(None).defineService
- provideService = zapi.getServiceManager(None).provideService
+ sm = zapi.getServiceManager(None)
- defineService(Authentication, IAuthenticationService)
+ sm.defineService(Authentication, IAuthenticationService)
self._principals = []
- self._principals.append(DummyObject('foo', 'Foo'))
- self._principals.append(DummyObject('bar', 'Bar'))
+ self._principals.append(DummyPrincipal('foo', 'Foo'))
+ self._principals.append(DummyPrincipal('bar', 'Bar'))
- provideService(Authentication,
+ sm.provideService(Authentication,
DummyAuthenticationService(principals = self._principals))
def _makeOne(self):
@@ -114,17 +111,17 @@
principals = list(view.getAllPrincipals())
self.assertEqual(len(principals), 2)
- ids = [p.getId() for p in self._principals]
+ ids = [p.id for p in self._principals]
for principal in principals:
- self.failUnless(principal.getId() in ids, (principal, ids))
+ self.failUnless(principal.id in ids, (principal, ids))
def testPrincipalRoleGrid(self):
view = self._makeOne()
grid = view.createGrid()
- p_ids = [p.getId() for p in view.getAllPrincipals()]
+ p_ids = [p.id for p in view.getAllPrincipals()]
r_ids = [r.id for r in view.getAllRoles()]
self.failUnless(grid.listAvailableValues())
=== Zope3/src/zope/app/securitypolicy/browser/tests/test_rolepermissionview.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/securitypolicy/browser/tests/test_rolepermissionview.py:1.2 Fri Mar 5 13:39:08 2004
+++ Zope3/src/zope/app/securitypolicy/browser/tests/test_rolepermissionview.py Mon Mar 8 07:06:06 2004
@@ -18,16 +18,13 @@
import unittest
from zope.publisher.browser import BrowserView, TestRequest
-from zope.app import zapi
from zope.app.tests import ztapi
+from zope.app.security.permission import Permission
+from zope.app.security.interfaces import IPermission
from zope.app.services.tests.placefulsetup import PlacefulSetup
-from zope.app.services.servicenames import Permissions
-from zope.app.interfaces.security import IPermissionService
from zope.app.securitypolicy.role import Role
from zope.app.securitypolicy.interfaces import IRole
-from zope.app.securitypolicy.browser.tests.permissionservice import \
- PermissionService
from zope.app.securitypolicy.browser.tests.rolepermissionmanager import \
RolePermissionManager
from zope.app.securitypolicy.browser.rolepermissionview \
@@ -41,16 +38,19 @@
ztapi.provideUtility(IRole, role, name=role.id)
return role
+def definePermission(id, title=None, description=None):
+ permission = Permission(id, title, description)
+ ztapi.provideUtility(IPermission, permission, name=permission.id)
+ return permission
+
class Test(PlacefulSetup, unittest.TestCase):
def setUp(self):
PlacefulSetup.setUp(self)
- sm = zapi.getServiceManager(None)
defineRole('manager', 'Manager')
defineRole('member', 'Member')
- sm.defineService(Permissions, IPermissionService)
- sm.provideService(Permissions, PermissionService(
- read='Read', write='Write'))
+ definePermission('read', 'Read')
+ definePermission('write', 'Write')
self.view = RolePermissionView(RolePermissionManager(), None)
def testRoles(self):
@@ -66,12 +66,12 @@
def testPermisssions(self):
permissions = list(self.view.permissions())
- ids = ['read', 'write']
- titles = ['Read', 'Write']
+ ids = ['read', 'write', 'zope.Public']
+ titles = ['Read', 'Write', 'Public']
for permission in permissions:
- i=ids.index(permission.getId())
+ i=ids.index(permission.id)
self.failIf(i < 0)
- self.assertEqual(permission.getTitle(), titles[i])
+ self.assertEqual(permission.title, titles[i])
del ids[i]
del titles[i]
@@ -98,7 +98,7 @@
for ir in range(len(rset)):
setting = rset[ir]
r = roles[ir].id
- p = permissions[ip].getId()
+ p = permissions[ip].id
if setting == 'Allow':
self.failUnless(r == 'manager' and p == 'read')
elif setting == 'Deny':
@@ -125,7 +125,7 @@
for ir in range(len(rset)):
setting = rset[ir]
r = roles[ir].id
- p = permissions[ip].getId()
+ p = permissions[ip].id
if setting == 'Allow':
self.failUnless(r == 'manager' and p == 'write')
elif setting == 'Deny':
More information about the Zope3-Checkins
mailing list