[Checkins] SVN: grokui.admin/trunk/src/grokui/admin/tests/ Using zope.app.wsgi for functional tests.

Souheil CHELFOUH souheil at chelfouh.com
Thu Apr 29 07:51:52 EDT 2010


Log message for revision 111574:
  Using zope.app.wsgi for functional tests.
  

Changed:
  U   grokui.admin/trunk/src/grokui/admin/tests/apps.py
  U   grokui.admin/trunk/src/grokui/admin/tests/brokenobjs.py
  U   grokui.admin/trunk/src/grokui/admin/tests/events.py
  D   grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml
  A   grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml
  U   grokui.admin/trunk/src/grokui/admin/tests/infoviews.py
  U   grokui.admin/trunk/src/grokui/admin/tests/server.py
  U   grokui.admin/trunk/src/grokui/admin/tests/test_grokadmin_functional.py

-=-
Modified: grokui.admin/trunk/src/grokui/admin/tests/apps.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/apps.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/apps.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -2,7 +2,7 @@
 Applications management
 =======================
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
 

Modified: grokui.admin/trunk/src/grokui/admin/tests/brokenobjs.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/brokenobjs.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/brokenobjs.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -8,7 +8,7 @@
 
 We first setup the environment:
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
 

Modified: grokui.admin/trunk/src/grokui/admin/tests/events.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/events.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/events.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -4,7 +4,7 @@
 
 When we create a new app, a grok.IObjectCreatedEvent is called:
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
 

Deleted: grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml	2010-04-29 11:51:52 UTC (rev 111574)
@@ -1,44 +0,0 @@
-<configure
-   xmlns="http://namespaces.zope.org/zope"
-   xmlns:grok="http://namespaces.zope.org/grok"
-   i18n_domain="grok"
-   package="grokui.admin">
-
-  <include package="zope.component" file="meta.zcml" />
-  <include package="zope.security" file="meta.zcml" />
-  <include package="zope.securitypolicy" file="meta.zcml" />
-  <include package="zope.principalregistry" file="meta.zcml" />
-
-  <include package="zope.security" />
-  <include package="zope.securitypolicy" />
-  <include package="zope.principalregistry" />
-
-  <include package="grokui.admin" />
-  <grok:grok package="grokui.admin.tests" />
-
-  <securityPolicy
-      component="zope.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>

Added: grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml	                        (rev 0)
+++ grokui.admin/trunk/src/grokui/admin/tests/ftesting.zcml	2010-04-29 11:51:52 UTC (rev 111574)
@@ -0,0 +1,50 @@
+<configure
+   xmlns="http://namespaces.zope.org/zope"
+   xmlns:browser="http://namespaces.zope.org/browser"
+   xmlns:grok="http://namespaces.zope.org/grok"
+   i18n_domain="grok"
+   package="grokui.admin">
+
+  <include package="zope.component" file="meta.zcml" />
+  <include package="zope.security" file="meta.zcml" />
+  <include package="zope.securitypolicy" file="meta.zcml" />
+  <include package="zope.principalregistry" file="meta.zcml" />
+
+  <include package="zope.security" />
+  <include package="zope.securitypolicy" />
+  <include package="zope.principalregistry" />
+
+  <include package="grokui.admin" />
+  <grok:grok package="grokui.admin.tests" />
+
+  <securityPolicy
+      component="zope.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"
+      />
+
+  <browser:defaultView
+      name="index.html"
+      for="zope.container.interfaces.IContainer"
+      />
+  
+  <role id="zope.Manager" title="Site Manager" />
+  <grantAll role="zope.Manager" />
+  <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>

Modified: grokui.admin/trunk/src/grokui/admin/tests/infoviews.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/infoviews.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/infoviews.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -11,7 +11,7 @@
 
 We must have a browser available::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
 
 We must be authenticated to fetch those infos::

Modified: grokui.admin/trunk/src/grokui/admin/tests/server.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/server.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/server.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -3,8 +3,9 @@
 
 We start with authenticating ourselves::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
+  >>> browser.handleErrors = False
   >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
 
 We fetch the standard page, which should provide us a menu to get all

Modified: grokui.admin/trunk/src/grokui/admin/tests/test_grokadmin_functional.py
===================================================================
--- grokui.admin/trunk/src/grokui/admin/tests/test_grokadmin_functional.py	2010-04-29 11:50:53 UTC (rev 111573)
+++ grokui.admin/trunk/src/grokui/admin/tests/test_grokadmin_functional.py	2010-04-29 11:51:52 UTC (rev 111574)
@@ -3,54 +3,23 @@
 import re
 import unittest
 import os.path
+import grokui.admin
 
 from pkg_resources import resource_listdir
 from zope.testing import doctest, renormalizing
-from zope.app.testing.functional import (
-    HTTPCaller, getRootFolder, FunctionalTestSetup, sync, ZCMLLayer)
+from zope.app.wsgi.testlayer import BrowserLayer
 
-
 ftesting_zcml = os.path.join(
     os.path.dirname(__file__), 'ftesting.zcml')
 
-GrokAdminFunctionalLayer = ZCMLLayer(
-    ftesting_zcml, __name__, 'GrokAdminFunctionalLayer', allow_teardown=True)
+FunctionalLayer = BrowserLayer(grokui.admin.tests, zcml_file=ftesting_zcml)
 
-
-def setUp(test):
-    FunctionalTestSetup().setUp()
-
-
-def tearDown(test):
-    FunctionalTestSetup().tearDown()
-
-
 checker = renormalizing.RENormalizing([
     # Accommodate to exception wrapping in newer versions of mechanize
     (re.compile(r'httperror_seek_wrapper:', re.M), 'HTTPError:'),
     ])
 
 
-def http_call(method, path, data=None, **kw):
-    """Function to help make RESTful calls.
-
-    method - HTTP method to use
-    path - testbrowser style path
-    data - (body) data to submit
-    kw - any request parameters
-    """
-
-    if path.startswith('http://localhost'):
-        path = path[len('http://localhost'):]
-    request_string = '%s %s HTTP/1.1\n' % (method, path)
-    for key, value in kw.items():
-        request_string += '%s: %s\n' % (key, value)
-    if data is not None:
-        request_string += '\r\n'
-        request_string += data
-    return HTTPCaller()(request_string, handle_errors=False)
-
-
 def test_suite():
     suite = unittest.TestSuite()
     files = resource_listdir(__name__, '')
@@ -64,17 +33,14 @@
 
         dottedname = 'grokui.admin.tests.%s' % (filename[:-3])
         test = doctest.DocTestSuite(
-            dottedname, setUp=setUp, tearDown=tearDown,
+            dottedname,
             checker=checker,
-            extraglobs=dict(http=HTTPCaller(),
-                            http_call=http_call,
-                            getRootFolder=getRootFolder,
-                            sync=sync),
+            extraglobs=dict(getRootFolder=FunctionalLayer.getRootFolder),
             optionflags=(doctest.ELLIPSIS +
                          doctest.NORMALIZE_WHITESPACE +
                          doctest.REPORT_NDIFF),
             )
-        test.layer = GrokAdminFunctionalLayer
+        test.layer = FunctionalLayer
 
         suite.addTest(test)
     return suite



More information about the checkins mailing list