summaryrefslogtreecommitdiff
path: root/repoze
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-12-09 23:11:17 +0000
committerChris McDonough <chrism@agendaless.com>2009-12-09 23:11:17 +0000
commitbad02d68e90e887f86bbeb866a45bfdcd5a3b984 (patch)
tree8a6cb85d5873ee38114e89cf88a1145c0fdcd084 /repoze
parente654cb15caa0b020417ec93c7922d884e2c07100 (diff)
downloadpyramid-bad02d68e90e887f86bbeb866a45bfdcd5a3b984.tar.gz
pyramid-bad02d68e90e887f86bbeb866a45bfdcd5a3b984.tar.bz2
pyramid-bad02d68e90e887f86bbeb866a45bfdcd5a3b984.zip
- A new dependency on the ``twill`` package was added to the
``setup.py`` ``tests_require`` argument (Twill will only be downloaded when :mod:`repoze.bfg` ``setup.py test`` or ``setup.py nosetests`` is invoked).
Diffstat (limited to 'repoze')
-rw-r--r--repoze/bfg/tests/fixtureapp/another.zcml2
-rw-r--r--repoze/bfg/tests/fixtureapp/configure.zcml4
-rw-r--r--repoze/bfg/tests/fixtureapp/views.py5
-rw-r--r--repoze/bfg/tests/test_integration.py42
4 files changed, 35 insertions, 18 deletions
diff --git a/repoze/bfg/tests/fixtureapp/another.zcml b/repoze/bfg/tests/fixtureapp/another.zcml
index 0ed8cff1b..f8678bad7 100644
--- a/repoze/bfg/tests/fixtureapp/another.zcml
+++ b/repoze/bfg/tests/fixtureapp/another.zcml
@@ -4,9 +4,7 @@
<view
view=".views.fixture_view"
- for="*"
name="another.html"
- permission="repoze.view"
/>
</configure>
diff --git a/repoze/bfg/tests/fixtureapp/configure.zcml b/repoze/bfg/tests/fixtureapp/configure.zcml
index 4a36d891a..b936b158e 100644
--- a/repoze/bfg/tests/fixtureapp/configure.zcml
+++ b/repoze/bfg/tests/fixtureapp/configure.zcml
@@ -4,15 +4,11 @@
<view
view=".views.fixture_view"
- for=".models.IFixture"
- permission="repoze.view"
/>
<view
view=".views.fixture_view"
- for=".models.IFixture"
name="dummyskin.html"
- permission="repoze.view"
request_type=".views.IDummy"
/>
diff --git a/repoze/bfg/tests/fixtureapp/views.py b/repoze/bfg/tests/fixtureapp/views.py
index f805b88c9..82e92d618 100644
--- a/repoze/bfg/tests/fixtureapp/views.py
+++ b/repoze/bfg/tests/fixtureapp/views.py
@@ -1,7 +1,12 @@
from zope.interface import Interface
+from webob import Response
def fixture_view(context, request):
""" """
+ return Response('fixture')
+
+def renderer_view(request):
+ return {'a':1}
class IDummy(Interface):
pass
diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py
index 9d4a9838d..d210030af 100644
--- a/repoze/bfg/tests/test_integration.py
+++ b/repoze/bfg/tests/test_integration.py
@@ -7,7 +7,7 @@ from repoze.bfg.view import static
from zope.interface import Interface
-from repoze.bfg.testing import cleanUp
+from repoze.bfg import testing
class INothing(Interface):
pass
@@ -64,20 +64,38 @@ class TestStaticApp(unittest.TestCase):
class TestFixtureApp(unittest.TestCase):
def setUp(self):
- cleanUp()
+ import sys
+ import twill
+ from repoze.bfg.configuration import Configurator
+ config = Configurator()
+ config.load_zcml('repoze.bfg.tests.fixtureapp:configure.zcml')
+ twill.add_wsgi_intercept('localhost', 6543, config.make_wsgi_app)
+ if sys.platform is 'win32':
+ out = open('nul:', 'wb')
+ else:
+ out = open('/dev/null', 'wb')
+ twill.set_output(out)
+ testing.setUp(registry=config.registry)
def tearDown(self):
- cleanUp()
+ import twill
+ import twill.commands
+ twill.commands.reset_browser()
+ twill.remove_wsgi_intercept('localhost', 6543)
+ twill.set_output(None)
+ testing.tearDown()
- def test_execute_actions(self):
- import repoze.bfg.tests.fixtureapp as package
- from zope.configuration import config
- from zope.configuration import xmlconfig
- context = config.ConfigurationMachine()
- xmlconfig.registerCommonDirectives(context)
- context.package = package
- xmlconfig.include(context, 'configure.zcml', package)
- context.execute_actions(clear=False)
+ def test_it(self):
+ import twill.commands
+ browser = twill.commands.get_browser()
+ browser.go('http://localhost:6543/another.html')
+ self.assertEqual(browser.get_code(), 200)
+ self.assertEqual(browser.get_html(), 'fixture')
+ browser.go('http://localhost:6543')
+ self.assertEqual(browser.get_code(), 200)
+ self.assertEqual(browser.get_html(), 'fixture')
+ browser.go('http://localhost:6543/dummyskin.html')
+ self.assertEqual(browser.get_code(), 404)
class DummyContext(object):
pass