[Checkins] SVN: grokcore.viewlet/trunk/ Update functional tests to use zope.app.wsgi Browser implementation

Sylvain Viollon sylvain at infrae.com
Wed Apr 14 08:28:47 EDT 2010


Log message for revision 110860:
  Update functional tests to use zope.app.wsgi Browser implementation
  instead of zope.app.testing one.
  

Changed:
  U   grokcore.viewlet/trunk/CHANGES.txt
  U   grokcore.viewlet/trunk/setup.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/test_grok_functional.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/order.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/template_namespaces.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/view_directive.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_interface.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_manager_association.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_security.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_template.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_directive.py
  U   grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_template.py

-=-
Modified: grokcore.viewlet/trunk/CHANGES.txt
===================================================================
--- grokcore.viewlet/trunk/CHANGES.txt	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/CHANGES.txt	2010-04-14 12:28:47 UTC (rev 110860)
@@ -4,7 +4,8 @@
 1.5 (unreleased)
 ----------------
 
-* ...
+* Update functional tests to use Browser implementation of zope.app.wsgi
+  instead of zope.app.testing.
 
 1.4.1 (2010-02-28)
 ------------------

Modified: grokcore.viewlet/trunk/setup.py
===================================================================
--- grokcore.viewlet/trunk/setup.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/setup.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -15,7 +15,7 @@
     'zope.app.appsetup',
     'zope.app.pagetemplate',
     'zope.app.publication',
-    'zope.app.testing',
+    'zope.app.wsgi',
     'zope.browserpage',
     'zope.configuration',
     'zope.container',
@@ -23,7 +23,6 @@
     'zope.principalregistry',
     'zope.securitypolicy',
     'zope.site',
-    'zope.testbrowser',
     'zope.testing',
     'zope.traversing',
     ]

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/test_grok_functional.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/test_grok_functional.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/test_grok_functional.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -1,47 +1,19 @@
 import re
 import unittest
 import grokcore.viewlet
-import os.path
 
 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(grokcore.viewlet.__file__), 'ftesting.zcml')
-GrokFunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'GrokFunctionalLayer',
-                                allow_teardown=True)
+FunctionalLayer = BrowserLayer(grokcore.viewlet)
 
-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 suiteFromPackage(name):
     files = resource_listdir(__name__, name)
     suite = unittest.TestSuite()
@@ -53,17 +25,13 @@
 
         dottedname = 'grokcore.viewlet.ftests.%s.%s' % (name, 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 = GrokFunctionalLayer
+                         doctest.REPORT_NDIFF))
+        test.layer = FunctionalLayer
 
         suite.addTest(test)
     return suite

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/order.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/order.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/order.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -15,7 +15,7 @@
 Traverse to the view on the model object. We get the viewlets
 registered for the default layer, with the anybody permission::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/fred/@@orderview")
@@ -31,7 +31,6 @@
 A different way of determining viewlet order is for the
 viewletmanager to override the sort() method::
 
-  >>> from zope.testbrowser.testing import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/fred/@@orderview2")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/template_namespaces.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/template_namespaces.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/template_namespaces.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -8,7 +8,7 @@
 
 Let's look at the first template, which includes the viewlet::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/cave/@@index")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/view_directive.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/view_directive.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/view_directive.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -12,7 +12,7 @@
 Traverse to the view on the model object. We get the viewlets
 registered for the default layer, with the anybody permission::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/fred/@@boneview")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_interface.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_interface.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_interface.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -11,7 +11,7 @@
 Viewing the cave object should result in the viewlet being displayed,
 as it is associated with the interface::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/cave")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_manager_association.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_manager_association.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_manager_association.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -9,7 +9,7 @@
 
 Viewing the cave object should result in the viewlet being displayed::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/cave")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_security.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_security.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_security.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -17,7 +17,7 @@
 Traverse to the view on the model object. We get the viewlets
 registered for the default layer, with the anybody permission::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/wilma/@@caveview")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_template.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_template.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewlet_template.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -9,7 +9,7 @@
 
 Viewing the cave object should result in the viewlet being displayed::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/cave")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_directive.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_directive.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_directive.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -12,7 +12,7 @@
 Traverse to the view on the model object. We get the viewlets
 registered for the default layer, with the anybody permission::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/fred/@@boneview")

Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_template.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_template.py	2010-04-14 12:26:52 UTC (rev 110859)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/ftests/viewlet/viewletmanager_template.py	2010-04-14 12:28:47 UTC (rev 110860)
@@ -16,7 +16,7 @@
 Traverse to the view on the model object. We get the viewlets
 registered for the default layer, with the anybody permission::
 
-  >>> from zope.testbrowser.testing import Browser
+  >>> from zope.app.wsgi.testlayer import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
   >>> browser.open("http://localhost/fred/@@orderview")



More information about the checkins mailing list