[Checkins] SVN: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ Moved tests into subdirectory in order to separate them from application code. Also, tests are now picked up by zope.testrunner without messing with test-patterns. Dropped z3c.testsetup, replaced by unittest and functional unittest + description how to register tests.
Jan-Jaap Driessen
jdriessen at thehealthagency.com
Fri Jan 14 06:51:38 EST 2011
Log message for revision 119579:
Moved tests into subdirectory in order to separate them from application code. Also, tests are now picked up by zope.testrunner without messing with test-patterns. Dropped z3c.testsetup, replaced by unittest and functional unittest + description how to register tests.
Changed:
D grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/app.txt_tmpl
D grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ftesting.zcml_tmpl
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/__init__.py
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/app.txt_tmpl
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/ftesting.zcml_tmpl
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/test_+project_lowercase+.py_tmpl
A grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/tests.py_tmpl
D grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests.py_tmpl
-=-
Deleted: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/app.txt_tmpl
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/app.txt_tmpl 2011-01-14 10:42:01 UTC (rev 119578)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/app.txt_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -1,42 +0,0 @@
-Do a functional doctest test on the app.
-========================================
-
-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}()
-
-Run tests in the testbrowser
-----------------------------
-
-The zope.testbrowser.browser module exposes a Browser class that
-simulates a web browser similar to Mozilla Firefox or IE. We use that
-to test how our application behaves in a browser. For more
-information, see http://pypi.python.org/pypi/zope.testbrowser.
-
-Create a browser and visit the instance you just created:
-
- >>> 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'
-
- >>> print browser.contents
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/grokexample/style.css" />
- <base href="http://localhost/app/@@index" />
- </head>
- <body>
- <h1>Congratulations!</h1>
- <p>Your Grok application is up and running.
- Edit <code>${package}/app_templates/index.pt</code> to change
- this page.</p>
- <img src="http://localhost/fanstatic/${project_lowercase}/evencaveman.jpg" />
- </body>
- </html>
Deleted: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ftesting.zcml_tmpl
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ftesting.zcml_tmpl 2011-01-14 10:42:01 UTC (rev 119578)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ftesting.zcml_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -1,47 +0,0 @@
-<configure
- xmlns="http://namespaces.zope.org/zope"
- i18n_domain="${package}"
- package="${package}"
- >
-
- <include package="${package}" />
-
- <!-- Typical functional testing security setup -->
- <securityPolicy
- component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
- />
-
- <unauthenticatedPrincipal
- id="zope.anybody"
- title="Unauthenticated User"
- />
- <unauthenticatedGroup
- id="zope.Anybody"
- title="Unauthenticated Users"
- />
- <authenticatedGroup
- id="zope.Authenticated"
- title="Authenticated Users"
- />
- <everybodyGroup
- id="zope.Everybody"
- title="All Users"
- />
-
- <grant
- permission="zope.View"
- principal="zope.Everybody"
- />
-
- <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>
Copied: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/app.txt_tmpl (from rev 119573, grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/app.txt_tmpl)
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/app.txt_tmpl (rev 0)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/app.txt_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -0,0 +1,42 @@
+Do a functional doctest test on the app.
+========================================
+
+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}()
+
+Run tests in the testbrowser
+----------------------------
+
+The zope.testbrowser.browser module exposes a Browser class that
+simulates a web browser similar to Mozilla Firefox or IE. We use that
+to test how our application behaves in a browser. For more
+information, see http://pypi.python.org/pypi/zope.testbrowser.
+
+Create a browser and visit the instance you just created:
+
+ >>> 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'
+
+ >>> print browser.contents
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="http://localhost/fanstatic/grokexample/style.css" />
+ <base href="http://localhost/app/@@index" />
+ </head>
+ <body>
+ <h1>Congratulations!</h1>
+ <p>Your Grok application is up and running.
+ Edit <code>${package}/app_templates/index.pt</code> to change
+ this page.</p>
+ <img src="http://localhost/fanstatic/${project_lowercase}/evencaveman.jpg" />
+ </body>
+ </html>
Copied: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/ftesting.zcml_tmpl (from rev 119573, grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/ftesting.zcml_tmpl)
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/ftesting.zcml_tmpl (rev 0)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/ftesting.zcml_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -0,0 +1,47 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ i18n_domain="${package}"
+ package="${package}"
+ >
+
+ <include package="${package}" />
+
+ <!-- Typical functional testing security setup -->
+ <securityPolicy
+ component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+ />
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+ <unauthenticatedGroup
+ id="zope.Anybody"
+ title="Unauthenticated Users"
+ />
+ <authenticatedGroup
+ id="zope.Authenticated"
+ title="Authenticated Users"
+ />
+ <everybodyGroup
+ id="zope.Everybody"
+ title="All Users"
+ />
+
+ <grant
+ permission="zope.View"
+ principal="zope.Everybody"
+ />
+
+ <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: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/test_+project_lowercase+.py_tmpl
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/test_+project_lowercase+.py_tmpl (rev 0)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/test_+project_lowercase+.py_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -0,0 +1,31 @@
+import unittest
+
+from zope.component import queryMultiAdapter
+from zope.publisher.browser import TestRequest
+
+from zope.fanstatic.testing import ZopeFanstaticBrowserLayer
+
+import ${package}.tests
+from ${package}.app import ${app_class_name}
+
+# In this file we create a unittest, a functional unittest.
+
+class MyTestCase(unittest.TestCase):
+
+ def test_foo(self):
+ self.assertEqual(1, 1)
+
+browser_layer = ZopeFanstaticBrowserLayer(${package}.tests)
+
+class MyFunctionalTestCase(unittest.TestCase):
+
+ layer = browser_layer
+
+ def test_foo(self):
+ index = queryMultiAdapter((${app_class_name}(), TestRequest()), name='index')
+ self.assertNotEqual(index, None)
+
+ # There is no view called 'index2'
+ index2 = queryMultiAdapter((${app_class_name}(), TestRequest()), name='index2')
+ self.assertEqual(index2, None)
+
Copied: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/tests.py_tmpl (from rev 119573, grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests.py_tmpl)
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/tests.py_tmpl (rev 0)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests/tests.py_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -0,0 +1,28 @@
+# The tests in test_${project_lowercase}.py are picked up by zope.testrunner.
+
+# When decorating a unittest.TestCase or doctest with a layer, the layer is
+# used to group tests and execute setup and teardown of the grok environment
+# for the test to run in.
+
+import unittest
+import doctest
+
+from zope.fanstatic.testing import ZopeFanstaticBrowserLayer
+
+import ${package}.tests
+
+browser_layer = ZopeFanstaticBrowserLayer(${package}.tests)
+
+def test_suite():
+ suite = unittest.TestSuite()
+
+ app_test = doctest.DocFileSuite('app.txt', # Add more doctest files here.
+ optionflags = (
+ doctest.ELLIPSIS +
+ doctest.NORMALIZE_WHITESPACE +
+ doctest.REPORT_NDIFF),
+ globs={'getRootFolder': browser_layer.getRootFolder})
+ app_test.layer = browser_layer
+
+ suite.addTest(app_test)
+ return suite
Deleted: grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests.py_tmpl
===================================================================
--- grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests.py_tmpl 2011-01-14 10:42:01 UTC (rev 119578)
+++ grokproject/branches/janjaapdriessen-fanstatic/grokproject/template/src/+package+/tests.py_tmpl 2011-01-14 11:51:37 UTC (rev 119579)
@@ -1,22 +0,0 @@
-import unittest
-import doctest
-
-from zope.fanstatic.testing import ZopeFanstaticBrowserLayer
-
-import ${package}
-
-browser_layer = ZopeFanstaticBrowserLayer(${package})
-
-def test_suite():
- suite = unittest.TestSuite()
-
- app_test = doctest.DocFileSuite('app.txt',
- optionflags = (
- doctest.ELLIPSIS +
- doctest.NORMALIZE_WHITESPACE +
- doctest.REPORT_NDIFF),
- globs={'getRootFolder': browser_layer.getRootFolder})
- app_test.layer = browser_layer
-
- suite.addTest(app_test)
- return suite
More information about the checkins
mailing list