[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/tests - testRolePermissionManager.py:1.1.2.5

Jim Fulton jim@zope.com
Thu, 3 Jan 2002 14:20:02 -0500


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

Modified Files:
      Tag: Zope-3x-branch
	testRolePermissionManager.py 
Log Message:
Added code to test for dups and retracting.


=== Zope3/lib/python/Zope/App/Security/tests/testRolePermissionManager.py 1.1.2.4 => 1.1.2.5 ===
         perm2 = pregistry.definePermission('Perm Two', 'title')
         role1 = rregistry.defineRole('Role One', 'Role #1')
+        perms = manager.getPermissionsForRole(role1)
+        self.assertEqual(len(perms), 0)
         manager.grantPermissionToRole(perm1, role1)
         manager.grantPermissionToRole(perm2, role1)
+        manager.grantPermissionToRole(perm2, role1)
         perms = manager.getPermissionsForRole(role1)
         self.assertEqual(len(perms), 2)
         self.failUnless(perm1 in perms)
         self.failUnless(perm2 in perms)
+        manager.retractPermissionFromRole(perm1, role1)
+        perms = manager.getPermissionsForRole(role1)
+        self.assertEqual(len(perms), 1)
+        self.failUnless(perm2 in perms)
 
     def testManyRolesOnePermission(self):
         perm1 = pregistry.definePermission('Perm One', 'title')
         role1 = rregistry.defineRole('Role One', 'Role #1')
         role2 = rregistry.defineRole('Role Two', 'Role #2')
+        roles = manager.getRolesForPermission(perm1)
+        self.assertEqual(len(roles), 0)
         manager.grantPermissionToRole(perm1, role1)
         manager.grantPermissionToRole(perm1, role2)
+        manager.grantPermissionToRole(perm1, role2)
         roles = manager.getRolesForPermission(perm1)
         self.assertEqual(len(roles), 2)
         self.failUnless(role1 in roles)
+        self.failUnless(role2 in roles)
+        manager.retractPermissionFromRole(perm1, role1)
+        roles = manager.getRolesForPermission(perm1)
+        self.assertEqual(len(roles), 1)
         self.failUnless(role2 in roles)
 
     def testPermissionsAcquired(self):