[Checkins] SVN: Sandbox/ulif/grok-adminui/src/grok/ Moved admin related ftests to admin-dir to decouple grok and grokadmin further.

Uli Fouquet uli at gnufix.de
Sun Jul 15 07:18:42 EDT 2007


Log message for revision 77991:
  Moved admin related ftests to admin-dir to decouple grok and grokadmin further.
  

Changed:
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/__init__.py
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/__init__.py
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/apps.py
  A   Sandbox/ulif/grok-adminui/src/grok/admin/ftests/test_grokadmin_functional.py
  D   Sandbox/ulif/grok-adminui/src/grok/ftests/admin/
  U   Sandbox/ulif/grok-adminui/src/grok/ftests/test_grok_functional.py

-=-
Added: Sandbox/ulif/grok-adminui/src/grok/admin/ftests/__init__.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/ftests/__init__.py	                        (rev 0)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/ftests/__init__.py	2007-07-15 11:18:41 UTC (rev 77991)
@@ -0,0 +1 @@
+# Make this is a package...

Added: Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/__init__.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/__init__.py	                        (rev 0)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/__init__.py	2007-07-15 11:18:41 UTC (rev 77991)
@@ -0,0 +1,2 @@
+# this is a package
+

Added: Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/apps.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/apps.py	                        (rev 0)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/ftests/apps/apps.py	2007-07-15 11:18:41 UTC (rev 77991)
@@ -0,0 +1,71 @@
+"""
+We fetch the standard page, which should provide us a menu to get all
+installable grok applications/components.
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/")
+  >>> print browser.contents
+  <html xmlns="http://www.w3.org/1999/xhtml">
+  ...
+  ...      <legend>Add application</legend>
+  ...
+
+We are able to add a mammoth manager...
+
+  >>> browser.getControl('Name your new app:').value = 'my-mammoth-manager'
+  >>> browser.getControl('Create').click()
+
+  >>> print browser.contents
+  <html xmlns="http://www.w3.org/1999/xhtml">
+  ...
+  ... <legend>Installed applications</legend>
+  ... <input type="checkbox" class="checkbox" name="items"
+             value="my-mammoth-manager" />
+      <a href="http://localhost/my-mammoth-manager">
+           my-mammoth-manager
+           (MammothManager)
+        </a>
+  ... <legend>Add application</legend>
+  ...
+
+Launch the added mammoth manager
+
+  >>> mylink = browser.getLink('my-mammoth-manager (MammothManager)').click()
+  >>> print browser.contents
+  Let's manage some mammoths!
+
+  >>> print browser.url
+  http://localhost/my-mammoth-manager
+
+We are able to delete installed mammoth-managers
+
+  >>> browser.open("http://localhost/")
+  >>> print browser.contents
+  <html xmlns="http://www.w3.org/1999/xhtml">
+  ...
+  ... <legend>Installed applications</legend>
+  ...
+  >>> ctrl = browser.getControl(name='items')
+  >>> ctrl.getControl(value='my-mammoth-manager').selected = True
+  >>> browser.getControl('Delete Selected').click()
+  >>> print browser.contents
+  <html xmlns="http://www.w3.org/1999/xhtml">
+  ...
+  ...<legend>Add application</legend>
+  ...
+
+"""
+  
+import grok
+
+class MammothManager(grok.Application, grok.Container):
+    """"A mammoth manager"""
+    pass
+
+class Index(grok.View):
+
+    def render(self):
+        return u"Let's manage some mammoths!"

Added: Sandbox/ulif/grok-adminui/src/grok/admin/ftests/test_grokadmin_functional.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/admin/ftests/test_grokadmin_functional.py	                        (rev 0)
+++ Sandbox/ulif/grok-adminui/src/grok/admin/ftests/test_grokadmin_functional.py	2007-07-15 11:18:41 UTC (rev 77991)
@@ -0,0 +1,50 @@
+import unittest
+import grok
+import os.path
+
+from pkg_resources import resource_listdir
+from zope.testing import doctest
+from zope.app.testing.functional import (HTTPCaller, getRootFolder,
+                                         FunctionalTestSetup, sync, ZCMLLayer)
+
+ftesting_zcml = os.path.join(os.path.dirname(grok.__file__), 'ftesting.zcml')
+GrokFunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'GrokFunctionalLayer')
+
+def setUp(test):
+    FunctionalTestSetup().setUp()
+
+def tearDown(test):
+    FunctionalTestSetup().tearDown()
+
+def suiteFromPackage(name):
+    files = resource_listdir(__name__, name)
+    suite = unittest.TestSuite()
+    for filename in files:
+        if not filename.endswith('.py'):
+            continue
+        if filename == '__init__.py':
+            continue
+
+        dottedname = 'grok.admin.ftests.%s.%s' % (name, filename[:-3])
+        test = doctest.DocTestSuite(
+            dottedname, setUp=setUp, tearDown=tearDown,
+            extraglobs=dict(http=HTTPCaller(),
+                            getRootFolder=getRootFolder,
+                            sync=sync),
+            optionflags=(doctest.ELLIPSIS+
+                         doctest.NORMALIZE_WHITESPACE+
+                         doctest.REPORT_NDIFF)
+            )
+        test.layer = GrokFunctionalLayer
+
+        suite.addTest(test)
+    return suite
+
+def test_suite():
+    suite = unittest.TestSuite()
+    for name in ['apps']:
+        suite.addTest(suiteFromPackage(name))
+    return suite
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')

Modified: Sandbox/ulif/grok-adminui/src/grok/ftests/test_grok_functional.py
===================================================================
--- Sandbox/ulif/grok-adminui/src/grok/ftests/test_grok_functional.py	2007-07-15 09:46:38 UTC (rev 77990)
+++ Sandbox/ulif/grok-adminui/src/grok/ftests/test_grok_functional.py	2007-07-15 11:18:41 UTC (rev 77991)
@@ -43,7 +43,7 @@
 def test_suite():
     suite = unittest.TestSuite()
     for name in ['view', 'static', 'xmlrpc', 'traversal', 'form', 'url',
-                 'security', 'utility', 'catalog', 'admin']:
+                 'security', 'utility', 'catalog']:
         suite.addTest(suiteFromPackage(name))
     return suite
 



More information about the Checkins mailing list