[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