[Checkins] SVN: grok/branches/philikon-eggs2/src/grok/ftest Create ftesting.zcml that loads grok and the necessary ftesting principals.

Philipp von Weitershausen philikon at philikon.de
Thu Jul 12 05:31:26 EDT 2007


Log message for revision 77719:
  Create ftesting.zcml that loads grok and the necessary ftesting principals.
  Also clean up the ftesting layer setup.
  

Changed:
  A   grok/branches/philikon-eggs2/src/grok/ftesting.zcml
  U   grok/branches/philikon-eggs2/src/grok/ftests/test_grok_functional.py

-=-
Added: grok/branches/philikon-eggs2/src/grok/ftesting.zcml
===================================================================
--- grok/branches/philikon-eggs2/src/grok/ftesting.zcml	                        (rev 0)
+++ grok/branches/philikon-eggs2/src/grok/ftesting.zcml	2007-07-12 09:31:25 UTC (rev 77719)
@@ -0,0 +1,33 @@
+<configure
+   xmlns="http://namespaces.zope.org/zope"
+   i18n_domain="grok"
+   package="grok"
+   >
+
+  <include package="grok" />
+
+  <securityPolicy
+      component="zope.app.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+      />
+
+  <unauthenticatedPrincipal
+      id="zope.anybody"
+      title="Unauthenticated User"
+      />
+  <grant
+      permission="zope.View"
+      principal="zope.anybody"
+      />
+
+  <principal
+      id="zope.mgr"
+      title="Manager"
+      login="mgr"
+      password="mgrpw"
+      />
+
+  <role id="zope.Manager" title="Site Manager" />
+  <grantAll role="zope.Manager" />
+  <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>


Property changes on: grok/branches/philikon-eggs2/src/grok/ftesting.zcml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: grok/branches/philikon-eggs2/src/grok/ftests/test_grok_functional.py
===================================================================
--- grok/branches/philikon-eggs2/src/grok/ftests/test_grok_functional.py	2007-07-12 09:30:09 UTC (rev 77718)
+++ grok/branches/philikon-eggs2/src/grok/ftests/test_grok_functional.py	2007-07-12 09:31:25 UTC (rev 77719)
@@ -1,45 +1,21 @@
 import unittest
+import grok
+import os.path
+
 from pkg_resources import resource_listdir
 from zope.testing import doctest
 from zope.app.testing.functional import (HTTPCaller, getRootFolder,
-                                         FunctionalTestSetup, sync, Functional)
+                                         FunctionalTestSetup, sync, ZCMLLayer)
 
-# XXX bastardized from zope.app.testing.functional.FunctionalDocFileSuite :-(
-def FunctionalDocTestSuite(*paths, **kw):
-    globs = kw.setdefault('globs', {})
-    globs['http'] = HTTPCaller()
-    globs['getRootFolder'] = getRootFolder
-    globs['sync'] = sync
+ftesting_zcml = os.path.join(os.path.dirname(grok.__file__), 'ftesting.zcml')
+GrokFunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'GrokFunctionalLayer')
 
-    #kw['package'] = doctest._normalize_module(kw.get('package'))
+def setUp(test):
+    FunctionalTestSetup().setUp()
 
-    kwsetUp = kw.get('setUp')
-    def setUp(test):
-        FunctionalTestSetup().setUp()
+def tearDown(test):
+    FunctionalTestSetup().tearDown()
 
-        if kwsetUp is not None:
-            kwsetUp(test)
-    kw['setUp'] = setUp
-
-    kwtearDown = kw.get('tearDown')
-    def tearDown(test):
-        if kwtearDown is not None:
-            kwtearDown(test)
-        FunctionalTestSetup().tearDown()
-    kw['tearDown'] = tearDown
-
-    if 'optionflags' not in kw:
-        old = doctest.set_unittest_reportflags(0)
-        doctest.set_unittest_reportflags(old)
-        kw['optionflags'] = (old
-                             | doctest.ELLIPSIS
-                             | doctest.REPORT_NDIFF
-                             | doctest.NORMALIZE_WHITESPACE)
-
-    suite = doctest.DocTestSuite(*paths, **kw)
-    suite.layer = Functional
-    return suite
-
 def suiteFromPackage(name):
     files = resource_listdir(__name__, name)
     suite = unittest.TestSuite()
@@ -50,7 +26,16 @@
             continue
 
         dottedname = 'grok.ftests.%s.%s' % (name, filename[:-3])
-        test = FunctionalDocTestSuite(dottedname)
+        test = doctest.DocTestSuite(
+            dottedname, setUp=setUp, tearDown=tearDown,
+            extraglobs=dict(http=HTTPCaller(),
+                            getRootFolder=getRootFolder,
+                            sync=sync),
+            optionflags=(doctest.ELLIPSIS+
+                         doctest.NORMALIZE_WHITESPACE+
+                         doctest.REPORT_NDIFF)
+            )
+        test.layer = GrokFunctionalLayer
 
         suite.addTest(test)
     return suite



More information about the Checkins mailing list