[Checkins] SVN: Sandbox/darrylcousins/mars.resource/ Working up
tests
Darryl Cousins
darryl at darrylcousins.net.nz
Tue Jul 17 08:38:34 EDT 2007
Log message for revision 78070:
Working up tests
Changed:
U Sandbox/darrylcousins/mars.resource/buildout.cfg
U Sandbox/darrylcousins/mars.resource/setup.py
U Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml
U Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py
D Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_all.py
A Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py
A Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt
A Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py
-=-
Modified: Sandbox/darrylcousins/mars.resource/buildout.cfg
===================================================================
--- Sandbox/darrylcousins/mars.resource/buildout.cfg 2007-07-17 12:07:46 UTC (rev 78069)
+++ Sandbox/darrylcousins/mars.resource/buildout.cfg 2007-07-17 12:38:33 UTC (rev 78070)
@@ -5,6 +5,9 @@
[test]
recipe = zc.recipe.testrunner
eggs = mars.resource [test]
+defaults = ['--tests-pattern', '^f?tests$',
+ '-v'
+ ]
[zope3]
location = .
Modified: Sandbox/darrylcousins/mars.resource/setup.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/setup.py 2007-07-17 12:07:46 UTC (rev 78069)
+++ Sandbox/darrylcousins/mars.resource/setup.py 2007-07-17 12:38:33 UTC (rev 78070)
@@ -25,21 +25,11 @@
extras_require = dict(
test=['zope.app.testing',
'zope.testbrowser',
- 'zope.app.zcmlfiles',
- 'zope.app.securitypolicy',
- 'zope.app.authentication',
'mars.layer',
]
),
install_requires = [
'setuptools',
- 'zope.app.intid',
- 'zope.app.catalog',
- 'zope.component',
- 'zope.interface',
- 'zope.publisher',
- 'zope.app.publisher',
'grok',
- 'martian',
],
)
Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml 2007-07-17 12:07:46 UTC (rev 78069)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml 2007-07-17 12:38:33 UTC (rev 78070)
@@ -8,8 +8,6 @@
<include package="mars.layer" file="meta.zcml" />
<include package="mars.resource" file="meta.zcml" />
- <include package="z3c.layer.minimal.tests" file="ftesting.zcml" />
-
<include package="grok" />
</configure>
Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py 2007-07-17 12:07:46 UTC (rev 78069)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py 2007-07-17 12:38:33 UTC (rev 78070)
@@ -1,15 +1,13 @@
"""
-Test the claimed directives.
>>> import grok
- >>> grok.grok('mars.resource.tests.resource')
+ >>> grok.grok('mars.resource.ftests.resource')
>>> from zope.testbrowser.testing import Browser
>>> browser = Browser()
>>> browser.handleErrors = False
- >>> #browser.addHeader('Authorization', 'Basic mgr:mgrpw')
-These tests make use of minimal layer
+These tests make use of a minimal layer
>>> skinURL = 'http://localhost/++skin++myskin'
>>> browser.open(skinURL + '/++resource++site.css')
Deleted: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_all.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_all.py 2007-07-17 12:07:46 UTC (rev 78069)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_all.py 2007-07-17 12:38:33 UTC (rev 78070)
@@ -1,22 +0,0 @@
-import unittest
-from pkg_resources import resource_listdir
-
-from grok.ftests.test_grok_functional import FunctionalDocTestSuite
-
-from zope.app.testing import functional
-functional.defineLayer('TestLayer', 'ftesting.zcml')
-
-def test_suite():
- suite = unittest.TestSuite()
- dottedname = 'mars.resource.tests.%s'
- for name in ['resource']:
- test = FunctionalDocTestSuite(dottedname % name)
- test.layer = TestLayer
- suite.addTest(test)
-
- return suite
-
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
Added: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py (rev 0)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py 2007-07-17 12:38:33 UTC (rev 78070)
@@ -0,0 +1,27 @@
+import unittest
+from zope.testing import doctest
+
+from zope.app.testing.functional import FunctionalTestSetup
+from zope.app.testing import functional
+functional.defineLayer('TestLayer', 'ftesting.zcml')
+
+optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
+
+def setUp(test):
+ FunctionalTestSetup().setUp()
+
+def tearDown(test):
+ FunctionalTestSetup().tearDown()
+
+def test_suite():
+ suite = unittest.TestSuite()
+ dottedname = 'mars.resource.ftests.resource'
+ test = doctest.DocTestSuite(
+ dottedname, setUp=setUp,
+ tearDown=tearDown, optionflags=optionflags)
+ test.layer = TestLayer
+ suite.addTest(test)
+ return suite
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
Property changes on: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py
___________________________________________________________________
Name: svn:keywords
+ Id
Added: Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt (rev 0)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt 2007-07-17 12:38:33 UTC (rev 78070)
@@ -0,0 +1,63 @@
+=============
+Mars Resource
+=============
+
+Set up
+------
+
+First some imports.
+
+ >>> import zope.component
+ >>> import zope.interface
+ >>> import mars.resource
+ >>> import grok
+ >>> import os, tempfile
+ >>> temp_dir = tempfile.mkdtemp()
+
+We also a request object for looking up the resources.
+
+ >>> from zope.publisher.browser import TestRequest
+ >>> request = TestRequest()
+
+Define a resource file
+----------------------
+
+In test we need to create a temp file.
+
+ >>> csspath = os.path.join(temp_dir, 'myTemplate.pt')
+ >>> open(csspath, 'w').write('''body { color: black; }''')
+
+ >>> class Style(mars.resource.ResourceFactory):
+ ... grok.name('site.css')
+ ... mars.resource.file(csspath)
+
+In the test we manually ``grok`` the factory, normally this happens when a
+module is ``grokked`` on start up.
+
+ >>> from mars.resource.meta import ResourceGrokker
+ >>> ResourceGrokker().grok('', Style, zope.interface.Interface,
+ ... module_info, {})
+ True
+
+We can now look up the resource.
+
+ >>> from zope.publisher.interfaces.browser import IBrowserRequest
+ >>> resource = zope.component.getAdapter(request, IBrowserRequest, 'site.css')
+
+ >>> print resource()
+ http://127.0.0.1/@@/site.css
+
+ >>> print resource.GET()
+ body { color: black; }
+
+Define a resource directory
+---------------------------
+
+Need a doctest for this. Please see ftests/.
+
+Cleanup
+-------
+
+ >>> import shutil
+ >>> shutil.rmtree(temp_dir)
+
Property changes on: Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt
___________________________________________________________________
Name: svn:keywords
+ Date Author
Added: Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py (rev 0)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py 2007-07-17 12:38:33 UTC (rev 78070)
@@ -0,0 +1,36 @@
+import unittest
+from zope.testing import doctest
+
+import zope.interface
+
+from martian.interfaces import IModuleInfo
+
+class ModuleInfo(object):
+ zope.interface.implements(IModuleInfo)
+ path = ''
+ package_dotted_name = ''
+
+ def getAnnotation(self, name, default):
+ return default
+
+from zope.app.testing import setup
+globs = dict(module_info=ModuleInfo(), root=setup.placefulSetUp(True))
+
+optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
+
+def setUp(test):
+ pass
+
+def test_suite():
+ suite = unittest.TestSuite()
+ suite.addTests([doctest.DocFileSuite('./resource.txt',
+ setUp=setUp, globs=globs,
+ optionflags=optionflags),
+ ])
+
+ return suite
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
+
+
Property changes on: Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py
___________________________________________________________________
Name: svn:keywords
+ Id
More information about the Checkins
mailing list