[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