[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