[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