[Checkins] SVN: grokproject/trunk/grokproject/template/src/+package+/ use new style test layers in newly created project too
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Tue Oct 19 09:58:25 EDT 2010
Log message for revision 117762:
use new style test layers in newly created project too
Changed:
U grokproject/trunk/grokproject/template/src/+package+/app.txt_tmpl
U grokproject/trunk/grokproject/template/src/+package+/ftesting.zcml_tmpl
U grokproject/trunk/grokproject/template/src/+package+/tests.py_tmpl
-=-
Modified: grokproject/trunk/grokproject/template/src/+package+/app.txt_tmpl
===================================================================
--- grokproject/trunk/grokproject/template/src/+package+/app.txt_tmpl 2010-10-19 13:37:09 UTC (rev 117761)
+++ grokproject/trunk/grokproject/template/src/+package+/app.txt_tmpl 2010-10-19 13:58:24 UTC (rev 117762)
@@ -1,15 +1,15 @@
Do a functional doctest test on the app.
========================================
-:Test-Layer: functional
+.. :doctest:
+.. :layer: ${package}.tests.browser_layer
Let's first create an instance of ${app_class_name} at the top level:
- >>> from ${package}.app import ${app_class_name}
- >>> root = getRootFolder()
- >>> root['app'] = ${app_class_name}()
+ >>> from ${package}.app import ${app_class_name}
+ >>> root = getRootFolder()
+ >>> root['app'] = ${app_class_name}()
-
Run tests in the testbrowser
----------------------------
@@ -20,13 +20,27 @@
Create a browser and visit the instance you just created:
- >>> from zope.testbrowser.testing import Browser
- >>> browser = Browser()
- >>> browser.open('http://localhost/app')
+ >>> from zope.app.wsgi.testlayer import Browser
+ >>> browser = Browser()
+ >>> browser.open('http://localhost/app')
Check some basic information about the page you visit:
- >>> browser.url
- 'http://localhost/app'
- >>> browser.headers.get('Status').upper()
- '200 OK'
+ >>> browser.url
+ 'http://localhost/app'
+
+ >>> print browser.contents
+ <html>
+ <head>
+ <base href="http://localhost/app/@@index" />
+ <BLANKLINE>
+ </head>
+ <body>
+ <h1>Congratulations!</h1>
+ <BLANKLINE>
+ <p>Your Grok application is up and running.
+ Edit <code>${package}/app_templates/index.pt</code> to change
+ this page.</p>
+ </body>
+ </html>
+ <BLANKLINE>
Modified: grokproject/trunk/grokproject/template/src/+package+/ftesting.zcml_tmpl
===================================================================
--- grokproject/trunk/grokproject/template/src/+package+/ftesting.zcml_tmpl 2010-10-19 13:37:09 UTC (rev 117761)
+++ grokproject/trunk/grokproject/template/src/+package+/ftesting.zcml_tmpl 2010-10-19 13:58:24 UTC (rev 117762)
@@ -15,29 +15,24 @@
id="zope.anybody"
title="Unauthenticated User"
/>
- <unauthenticatedGroup
+ <unauthenticatedGroup
id="zope.Anybody"
- title="Unauthenticated Users"
+ title="Unauthenticated Users"
/>
- <authenticatedGroup
+ <authenticatedGroup
id="zope.Authenticated"
- title="Authenticated Users"
+ title="Authenticated Users"
/>
- <everybodyGroup
+ <everybodyGroup
id="zope.Everybody"
title="All Users"
/>
- <grant
+ <grant
permission="zope.View"
principal="zope.Everybody"
/>
- <grant
- permission="zope.app.dublincore.view"
- principal="zope.Everybody"
- />
-
<principal
id="zope.mgr"
title="Manager"
Modified: grokproject/trunk/grokproject/template/src/+package+/tests.py_tmpl
===================================================================
--- grokproject/trunk/grokproject/template/src/+package+/tests.py_tmpl 2010-10-19 13:37:09 UTC (rev 117761)
+++ grokproject/trunk/grokproject/template/src/+package+/tests.py_tmpl 2010-10-19 13:58:24 UTC (rev 117762)
@@ -1,12 +1,10 @@
import os.path
import z3c.testsetup
+from zope.app.wsgi.testlayer import BrowserLayer
+
import ${package}
-from zope.app.testing.functional import ZCMLLayer
+browser_layer = BrowserLayer(${package})
-ftesting_zcml = os.path.join(
- os.path.dirname(${package}.__file__), 'ftesting.zcml')
-FunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'FunctionalLayer',
- allow_teardown=True)
-
-test_suite = z3c.testsetup.register_all_tests('${package}')
+test_suite = z3c.testsetup.register_all_tests(
+ '${package}', globs={'getRootFolder': browser_layer.getRootFolder})
More information about the checkins
mailing list