[Checkins] SVN: gocept.xmlrpcskin/trunk/ Set up a Zope server to run a test

Wolfgang Schnerring wosc at wosc.de
Tue Jul 26 05:20:18 EDT 2011


Log message for revision 122354:
  Set up a Zope server to run a test
  

Changed:
  U   gocept.xmlrpcskin/trunk/buildout.cfg
  U   gocept.xmlrpcskin/trunk/setup.py
  U   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/configure.zcml
  U   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/ftesting.zcml
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/testing.py
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/__init__.py
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/configure.zcml
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/view.py
  A   gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/test_endtoend.py

-=-
Modified: gocept.xmlrpcskin/trunk/buildout.cfg
===================================================================
--- gocept.xmlrpcskin/trunk/buildout.cfg	2011-07-26 09:19:42 UTC (rev 122353)
+++ gocept.xmlrpcskin/trunk/buildout.cfg	2011-07-26 09:20:18 UTC (rev 122354)
@@ -1,7 +1,12 @@
 [buildout]
+extends =
+    http://download.zope.org/zopetoolkit/index/1.1/ztk-versions.cfg
+    http://download.zope.org/zopetoolkit/index/1.1/zopeapp-versions.cfg
 develop = .
 parts = test
+versions = versions
 package = gocept.xmlrpcskin
+allow-picked-versions = false
 
 [test]
 recipe = zc.recipe.testrunner

Modified: gocept.xmlrpcskin/trunk/setup.py
===================================================================
--- gocept.xmlrpcskin/trunk/setup.py	2011-07-26 09:19:42 UTC (rev 122353)
+++ gocept.xmlrpcskin/trunk/setup.py	2011-07-26 09:20:18 UTC (rev 122354)
@@ -45,6 +45,13 @@
         'zope.traversing',
     ],
     extras_require=dict(test=[
-        'zope.testbrowser',
+        'zope.app.appsetup',
+        'zope.app.publication',
+        'zope.app.testing',
+        'zope.browserpage',
+        'zope.location',
+        'zope.principalregistry',
+        'zope.securitypolicy',
+        'zope.testbrowser[zope-functional-testing]',
     ]),
 )

Modified: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/configure.zcml
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/configure.zcml	2011-07-26 09:19:42 UTC (rev 122353)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/configure.zcml	2011-07-26 09:20:18 UTC (rev 122354)
@@ -1,11 +1,14 @@
 <configure
     xmlns="http://namespaces.zope.org/zope"
-    xmlns:browser="http://namespaces.zope.org/browser"
     >
 
-  <browser:view
-      name="skin" type="zope.publisher.interfaces.xmlrpc.IXMLRPCRequest"
-      provides="zope.traversing.interfaces.ITraversable" for="*"
+  <include package="zope.component" file="meta.zcml" />
+
+  <adapter
+      name="skin"
+      for="* zope.publisher.interfaces.xmlrpc.IXMLRPCRequest"
+      provides="zope.traversing.interfaces.ITraversable"
       factory=".traverser.xmlrpc_skin"
       />
+
 </configure>

Modified: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/ftesting.zcml
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/ftesting.zcml	2011-07-26 09:19:42 UTC (rev 122353)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/ftesting.zcml	2011-07-26 09:20:18 UTC (rev 122354)
@@ -1,34 +1,46 @@
 <configure
-   xmlns="http://namespaces.zope.org/zope"
-   i18n_domain="zope"
-   >
+    xmlns="http://namespaces.zope.org/zope"
+    i18n_domain="zope"
+    >
 
-  <!-- typical functional testing security setup -->
+  <!-- Zope server -->
+  <include package="zope.component" file="meta.zcml" />
+  <include package="zope.app.publication" file="meta.zcml" />
+  <include package="zope.publisher" file="meta.zcml" />
+  <include package="zope.security" file="meta.zcml" />
   <include package="zope.securitypolicy" file="meta.zcml"/>
+
+  <include package="zope.component" />
+  <include package="zope.location" />
+  <include package="zope.traversing" />
+  <include package="zope.traversing.browser"/>
+
+  <include package="zope.app.appsetup" />
+  <include package="zope.container" />
+  <include package="zope.site" />
+  <include package="zope.annotation"/>
+
+  <include package="zope.browserpage" />
+  <include package="zope.publisher"/>
+  <include package="zope.app.publication" />
+  <include package="zope.app.publisher.browser" />
+
+  <!-- minimal all-public security setup -->
+  <include package="zope.principalregistry" />
+  <include package="zope.security" />
   <include package="zope.securitypolicy" />
-  <include package="zope.app.authentication"/>
   <securityPolicy
       component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
       />
 
-  <unauthenticatedPrincipal
-      id="zope.anybody"
-      title="Unauthenticated User"
-      />
-  <grant
-      permission="zope.View"
-      principal="zope.anybody"
-      />
+  <role id="zope.Anonymous" title="Everybody"
+        description="All users have this role implicitly" />
+  <grant permission="zope.View"
+         role="zope.Anonymous" />
 
-  <principal
-      id="zope.mgr"
-      title="Manager"
-      login="mgr"
-      password="mgrpw"
-      />
+  <!-- ourselves -->
 
-  <role id="zope.Manager" title="Site Manager" />
-  <grantAll role="zope.Manager" />
-  <grant role="zope.Manager" principal="zope.mgr" />
+  <include package="gocept.xmlrpcskin" file="meta.zcml" />
+  <include package="gocept.xmlrpcskin" />
 
 </configure>

Added: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/testing.py
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/testing.py	                        (rev 0)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/testing.py	2011-07-26 09:20:18 UTC (rev 122354)
@@ -0,0 +1,26 @@
+#############################################################################
+#
+# Copyright (c) 2011 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+
+import pkg_resources
+import zope.app.testing.functional
+
+
+layer = zope.app.testing.functional.ZCMLLayer(
+    pkg_resources.resource_filename(__name__, 'ftesting.zcml'),
+    __name__, 'layer', allow_teardown=True)
+
+
+class TestCase(zope.app.testing.functional.FunctionalTestCase):
+
+    layer = layer

Added: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/__init__.py
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/__init__.py	                        (rev 0)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/__init__.py	2011-07-26 09:20:18 UTC (rev 122354)
@@ -0,0 +1 @@
+# python package

Added: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/configure.zcml
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/configure.zcml	                        (rev 0)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/configure.zcml	2011-07-26 09:20:18 UTC (rev 122354)
@@ -0,0 +1,14 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
+    >
+
+  <include package="zope.browserpage" file="meta.zcml" />
+
+  <browser:page
+      for="*"
+      name="index.html"
+      class=".view.Index"
+      permission="zope.Public"
+      />
+</configure>

Added: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/view.py
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/view.py	                        (rev 0)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/fixture/view.py	2011-07-26 09:20:18 UTC (rev 122354)
@@ -0,0 +1,19 @@
+#############################################################################
+#
+# Copyright (c) 2011 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+
+
+class Index(object):
+
+    def __call__(self):
+        return 'Hello, world!'

Added: gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/test_endtoend.py
===================================================================
--- gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/test_endtoend.py	                        (rev 0)
+++ gocept.xmlrpcskin/trunk/src/gocept/xmlrpcskin/tests/test_endtoend.py	2011-07-26 09:20:18 UTC (rev 122354)
@@ -0,0 +1,30 @@
+#############################################################################
+#
+# Copyright (c) 2011 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+
+import gocept.xmlrpcskin.testing
+import gocept.xmlrpcskin.tests.fixture
+import zope.configuration.xmlconfig
+import zope.testbrowser.testing
+
+
+class SkinTest(gocept.xmlrpcskin.testing.TestCase):
+
+    def test_view_is_registered_only_for_layer(self):
+        zope.configuration.xmlconfig.file(
+            'configure.zcml', gocept.xmlrpcskin.tests.fixture)
+
+        b = zope.testbrowser.testing.Browser()
+        b.handleErrors = False
+        b.open('http://localhost/index.html')
+        self.assertEqual('Hello, world!', b.contents)



More information about the checkins mailing list