[Checkins] SVN: Zope/trunk/ Get rid of a ZopeTestCase dependency

Hanno Schlichting hannosch at hannosch.eu
Sat Jun 5 14:43:44 EDT 2010


Log message for revision 113164:
  Get rid of a ZopeTestCase dependency
  

Changed:
  U   Zope/trunk/AC-vs-DTML-TODO.txt
  U   Zope/trunk/src/AccessControl/tests/testZCML.py

-=-
Modified: Zope/trunk/AC-vs-DTML-TODO.txt
===================================================================
--- Zope/trunk/AC-vs-DTML-TODO.txt	2010-06-05 17:41:58 UTC (rev 113163)
+++ Zope/trunk/AC-vs-DTML-TODO.txt	2010-06-05 18:43:44 UTC (rev 113164)
@@ -34,10 +34,6 @@
     the App package, which could serve as a general dumping ground for ZMI
     related stuff from "reusable" packages.
 
-- Test only dependencies:
-
-  * Testing
-
 DocumentTemplate
 ----------------
 

Modified: Zope/trunk/src/AccessControl/tests/testZCML.py
===================================================================
--- Zope/trunk/src/AccessControl/tests/testZCML.py	2010-06-05 17:41:58 UTC (rev 113163)
+++ Zope/trunk/src/AccessControl/tests/testZCML.py	2010-06-05 18:43:44 UTC (rev 113164)
@@ -62,6 +62,9 @@
 class Dummy4:
     foo = None
 
+class Dummy5:
+    pass
+
 def test_security_equivalence():
     """This test demonstrates that the traditional declarative security of
     Zope 2 can be replaced by ZCML statements without any loss of
@@ -220,6 +223,9 @@
       >>> from zope.component.testing import setUp, tearDown
       >>> setUp()
 
+      >>> from zope.component import eventtesting
+      >>> eventtesting.setUp()
+
     zope.security has a function zope.security.checkPermission which provides
     an easy way of checking whether the currently authenticated user
     has the permission to access an object.  The function delegates to
@@ -235,33 +241,34 @@
       >>> XMLConfig('meta.zcml', AccessControl)()
       >>> XMLConfig('permissions.zcml', AccessControl)()
 
+      >>> from AccessControl.tests.testZCML import Dummy5
+      >>> dummy = Dummy5()
+
     In the following we want to test AccessControl's checkPermission function.
-    We do that by taking the test's folder and asserting several
-    standard permissions.  What we want to assure is that
-    checkPermission translates the Zope 2 permissions correctly,
-    especially the edge cases:
+    What we want to assure is that checkPermission translates the Zope 2
+    permissions correctly, especially the edge cases:
 
     a) zope2.Public (which should always be available to everyone)
 
       >>> from AccessControl.security import checkPermission
-      >>> checkPermission('zope2.Public', self.folder)
+      >>> checkPermission('zope2.Public', dummy)
       True
 
     b) zope2.Private (which should never available to anyone)
 
-      >>> checkPermission('zope.Private', self.folder)
+      >>> checkPermission('zope.Private', dummy)
       False
-      >>> checkPermission('zope2.Private', self.folder)
+      >>> checkPermission('zope2.Private', dummy)
       False
 
     Any other standard Zope 2 permission will also resolve correctly:
 
-      >>> checkPermission('zope2.AccessContentsInformation', self.folder)
-      True
+      >>> checkPermission('zope2.ViewManagementScreens', dummy)
+      False
 
     Invalid permissions will obviously result in a negative response:
 
-      >>> checkPermission('notapermission', self.folder)
+      >>> checkPermission('notapermission', dummy)
       False
 
 
@@ -281,24 +288,24 @@
     a) zope2.Public (which should always be available to everyone)
 
       >>> from zope.security import checkPermission
-      >>> checkPermission('zope2.Public', self.folder)
+      >>> checkPermission('zope2.Public', dummy)
       True
 
     b) zope2.Private (which should never available to anyone)
 
-      >>> checkPermission('zope.Private', self.folder)
+      >>> checkPermission('zope.Private', dummy)
       False
-      >>> checkPermission('zope2.Private', self.folder)
+      >>> checkPermission('zope2.Private', dummy)
       False
 
     Any other standard Zope 2 permission will also resolve correctly:
 
-      >>> checkPermission('zope2.AccessContentsInformation', self.folder)
-      True
+      >>> checkPermission('zope2.ViewManagementScreens', dummy)
+      False
 
     Invalid permissions will obviously result in a negative response:
 
-      >>> checkPermission('notapermission', self.folder)
+      >>> checkPermission('notapermission', dummy)
       False
 
     Clean up:
@@ -311,9 +318,12 @@
     to create a permission that does not already exist, it is created on 
     startup, with roles defaulting to Manager.
 
-      >>> from Testing.ZopeTestCase.placeless import setUp, tearDown
+      >>> from zope.component.testing import setUp, tearDown
       >>> setUp()
 
+      >>> from zope.component import eventtesting
+      >>> eventtesting.setUp()
+
     First, we need to configure the relevant parts of AccessControl:
 
       >>> import AccessControl
@@ -340,19 +350,20 @@
       
     The permission will be made available globally, with default role set
     of ('Manager',).
-      
-      >>> roles = self.app.rolesOfPermission('AccessControl: Dummy permission')
-      >>> sorted(r['name'] for r in roles if r['selected'])
-      ['Manager']
 
+      >>> import Products
+      >>> permissions = getattr(Products, '__ac_permissions__', ())
+      >>> [p[2] for p in permissions
+      ...          if p[0] == 'AccessControl: Dummy permission']
+      [('Manager',)]
+
     Let's also ensure that permissions are not overwritten if they exist
     already:
-      
+
       >>> from AccessControl.Permission import _registeredPermissions
-      >>> import Products
       >>> _registeredPermissions['Dummy: Other dummy'] = 1
-      >>> Products.__ac_permissions__ += (('Dummy: Other dummy', (), (),),)
-      >>> self.app.manage_permission('Dummy: Other dummy', roles=['Anonymous'])
+      >>> Products.__ac_permissions__ += (
+      ...     ('Dummy: Other dummy', (), ('Anonymous', ),),)
 
       >>> from StringIO import StringIO
       >>> configure_zcml = StringIO('''
@@ -369,13 +380,14 @@
       >>> from zope.configuration.xmlconfig import xmlconfig
       >>> xmlconfig(configure_zcml)
 
-      >>> roles = self.app.rolesOfPermission('Dummy: Other dummy')
-      >>> sorted(r['name'] for r in roles if r['selected'])
-      ['Anonymous']
+      >>> permissions = getattr(Products, '__ac_permissions__', ())
+      >>> [p[2] for p in permissions
+      ...          if p[0] == 'Dummy: Other dummy']
+      [('Anonymous',)]
 
       >>> tearDown()
     """
 
 def test_suite():
-    from Testing.ZopeTestCase import ZopeDocTestSuite
-    return ZopeDocTestSuite()
+    import doctest
+    return doctest.DocTestSuite()



More information about the checkins mailing list