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

Barry Warsaw barry@wooz.org
Wed, 12 Dec 2001 17:39:19 -0500


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

Modified Files:
      Tag: Zope-3x-branch
	testPermissionRegistry.py 
Log Message:
Adapt and clean up tests for PermissionRegistry refactoring.


=== Zope3/lib/python/Zope/App/Security/tests/testPermissionRegistry.py 1.1.2.4 => 1.1.2.5 ===
 import unittest, sys
 
+from Zope.App.Security.PermissionRegistry import definePermission
+from Zope.App.Security.PermissionRegistry import definedPermission
+from Zope.App.Security.PermissionRegistry import getPermission
+from Zope.App.Security.IPermission import IPermission
+from Interface.verify import verify
+
 class Test(unittest.TestCase):
 
     def tearDown(self):
         from Zope.App.Security.PermissionRegistry import _clear
         _clear()
         
-    def testDefinePermission(self):
-        from Zope.App.Security.PermissionRegistry import definePermission
-        from Zope.App.Security.PermissionRegistry import definedPermission
-        from Zope.App.Security.PermissionRegistry import rolesForPermission
-
-        self.assertRaises( LookupError, rolesForPermission, 'Foo' )
-
+    def testEmptyPermissions(self):
+        self.assertRaises(LookupError, getPermission, 'Foo')
         self.failIf(definedPermission('Foo'))
-        definePermission('Foo')
-        self.failUnless(definedPermission('Foo'))
-
-        roles = rolesForPermission( 'Foo' )
-        self.assertEquals( len( roles ), 0 )
-
-    def testDefineRole( self ):
-        from Zope.App.Security.PermissionRegistry import defineRole
-        from Zope.App.Security.PermissionRegistry import definedRole
-        
-        role = defineRole( 'Everyman' )
-        self.failUnless( definedRole( 'Everyman' ) )
+        self.assertEqual(getPermission('Foo', None), None)
 
-    def testIncludeNonesuchPermission( self ):
-        from Zope.App.Security.PermissionRegistry import defineRole
-        from Zope.App.Security.PermissionRegistry import definedRole
-        from Zope.App.Security.PermissionRegistry import definePermission
-        
-        role = defineRole( 'Everyman' )
-        self.assertRaises( LookupError, role.includePermission, 'Foo' )
-
-    def testIncludePermission( self ):
-        from Zope.App.Security.PermissionRegistry import defineRole
-        from Zope.App.Security.PermissionRegistry import definedRole
-        from Zope.App.Security.PermissionRegistry import definePermission
-        from Zope.App.Security.PermissionRegistry import rolesForPermission
-        
-        definePermission( 'Foo' )
-        role = defineRole( 'Everyman' )
-
-        role.includePermission( 'Foo' )
-        self.failUnless( role.hasPermission( 'Foo' ) )
-
-        roles = rolesForPermission( 'Foo' )
-        self.assertEquals( len( roles ), 1 )
+    def testPermissionIsAnIPermission(self):
+        definePermission('Foo')
+        permission = getPermission('Foo')
+        self.assertEqual(verify(IPermission, permission), 1)
 
-        self.assertRaises( LookupError, role.includePermission, 'Foo' )
+    def testDefinePermission(self):
+        perm = definePermission('Foo')
+        self.failUnless(verify(IPermission, perm))
+        self.failUnless(definedPermission('Foo'))
+        permission = getPermission('Foo')
+        self.assertEquals(permission.getTitle(), 'Foo')
 
+    def testDefinePermissionWithTitle(self):
+        eq = self.assertEqual
+        definePermission('Foo', 'Foo-able')
+        permission = getPermission('Foo')
+        eq(permission.getTitle(), 'Foo-able')
+        eq(permission.getDescription(), '')
+    
+    def testDefinePermissionWithTitleAndDescription(self):
+        eq = self.assertEqual
+        definePermission('Foo', 'Foo-able', 'A foo-worthy permission')
+        permission = getPermission('Foo')
+        eq(permission.getTitle(), 'Foo-able')
+        eq(permission.getDescription(), 'A foo-worthy permission')
+    
 
 def test_suite():
     loader=unittest.TestLoader()
     return loader.loadTestsFromTestCase(Test)
+
 
 if __name__=='__main__':
     unittest.TextTestRunner().run(test_suite())