summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHanno Schlichting <hanno@hannosch.eu>2009-12-16 04:09:00 +0000
committerHanno Schlichting <hanno@hannosch.eu>2009-12-16 04:09:00 +0000
commitbe0305eba12363d9bee592228ba32a41691563fb (patch)
treebfe5912b18687e8e2ea1d4f1a0228e42d7281843 /src
parent036de6fb726a0a17b662a06b3e936cb3ec9f83c8 (diff)
downloadzope-traversing-be0305eba12363d9bee592228ba32a41691563fb.tar.gz
Refactored functional tests to loose dependency on both zope.app.appsetup and zope.app.testing.
Diffstat (limited to 'src')
-rw-r--r--src/zope/traversing/tests/ftesting.zcml1
-rw-r--r--src/zope/traversing/tests/test_vhosting.py51
2 files changed, 38 insertions, 14 deletions
diff --git a/src/zope/traversing/tests/ftesting.zcml b/src/zope/traversing/tests/ftesting.zcml
index d97cde8..3f4fe1b 100644
--- a/src/zope/traversing/tests/ftesting.zcml
+++ b/src/zope/traversing/tests/ftesting.zcml
@@ -21,7 +21,6 @@
<include package="zope.site" />
<include package="zope.traversing" />
- <include package="zope.app.appsetup" />
<include package="zope.app.publication" />
<browser:defaultView name="index.html" />
diff --git a/src/zope/traversing/tests/test_vhosting.py b/src/zope/traversing/tests/test_vhosting.py
index 89d0592..bf4c2c6 100644
--- a/src/zope/traversing/tests/test_vhosting.py
+++ b/src/zope/traversing/tests/test_vhosting.py
@@ -17,26 +17,31 @@ $Id$
"""
import os
import unittest
+from StringIO import StringIO
import transaction
from persistent import Persistent
+from ZODB.DB import DB
+from ZODB.DemoStorage import DemoStorage
+
+from zope.app.publication.browser import BrowserPublication
from zope.browserresource.resource import Resource
+from zope.configuration import xmlconfig
from zope.container.contained import Contained
from zope.pagetemplate.pagetemplate import PageTemplate
from zope.pagetemplate.engine import AppPT
+from zope.publisher.browser import BrowserRequest
+from zope.publisher.publish import publish
+from zope.publisher.skinnable import setDefaultSkin
from zope.security.checker import defineChecker, NamesChecker, NoProxy
from zope.security.checker import _checkers, undefineChecker
from zope.site.folder import Folder
+from zope.site.folder import rootFolder
+from zope.testing.cleanup import cleanUp
from zope.traversing.api import traverse
from zope.traversing.testing import browserResource
-from zope.app.testing import functional
-
-TraversingLayer = functional.ZCMLLayer(
- os.path.join(os.path.split(__file__)[0], 'ftesting.zcml'),
- __name__, 'TraversingLayer', allow_teardown=True)
-
class MyObj(Contained):
def __getitem__(self, key):
@@ -74,17 +79,37 @@ class MyFolderPage(object):
return ''
-class TestVirtualHosting(functional.BrowserTestCase):
-
- layer = TraversingLayer
+class TestVirtualHosting(unittest.TestCase):
def setUp(self):
- functional.BrowserTestCase.setUp(self)
+ f = os.path.join(os.path.split(__file__)[0], 'ftesting.zcml')
+ xmlconfig.file(f)
+ self.db = DB(DemoStorage("Memory storage unnamed"))
+ self.connection = self.db.open()
+ root = self.connection.root()
+ root_folder = rootFolder()
+ root['Application'] = root_folder
defineChecker(MyObj, NoProxy)
def tearDown(self):
- functional.BrowserTestCase.tearDown(self)
undefineChecker(MyObj)
+ self.connection.close()
+ cleanUp()
+
+ def makeRequest(self, path=''):
+ env = {"HTTP_HOST": 'localhost',
+ "HTTP_REFERER": 'localhost'}
+ p = path.split('?')
+ if len(p) == 1:
+ env['PATH_INFO'] = p[0]
+
+ request = BrowserRequest(StringIO(''), env)
+ request.setPublication(BrowserPublication(self.db))
+ setDefaultSkin(request)
+ return request
+
+ def publish(self, path):
+ return publish(self.makeRequest(path)).response
def test_request_url(self):
self.addPage('/pt', u'<span tal:replace="request/URL"/>')
@@ -156,7 +181,7 @@ class TestVirtualHosting(functional.BrowserTestCase):
"""addFolders('/a/b/c/d') would traverse and/or create three nested
folders (a, b, c) and return a tuple (c, 'd') where c is a Folder
instance at /a/b/c."""
- folder = self.getRootFolder()
+ folder = self.connection.root()['Application']
if path[0] == '/':
path = path[1:]
path = path.split('/')
@@ -181,7 +206,7 @@ class TestVirtualHosting(functional.BrowserTestCase):
def verify(self, path, content):
result = self.publish(path)
self.assertEquals(result.getStatus(), 200)
- self.assertEquals(result.getBody(), content)
+ self.assertEquals(result.consumeBody(), content)
def verifyRedirect(self, path, location):
result = self.publish(path)