summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-08 14:25:46 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-08 14:25:46 +0000
commita1f12be881a025d0640052554e8d53cdfe19afa9 (patch)
treede2fd7cf49a7307c3fed92f5bdd18d4804d019ac /repoze/bfg/tests
parent41aeaa3c4c22380f076c1989cfd1b52600751286 (diff)
downloadpyramid-a1f12be881a025d0640052554e8d53cdfe19afa9.tar.gz
pyramid-a1f12be881a025d0640052554e8d53cdfe19afa9.tar.bz2
pyramid-a1f12be881a025d0640052554e8d53cdfe19afa9.zip
Redirect on default view if name doesn't end with slash.
Rejigger sample app, adding more templates.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_router.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py
index bfa72fe41..25d3bfdcf 100644
--- a/repoze/bfg/tests/test_router.py
+++ b/repoze/bfg/tests/test_router.py
@@ -60,6 +60,30 @@ class RouterTests(unittest.TestCase, PlacelessSetup):
self.assertEqual(status, '404 Not Found')
self.failUnless('http://localhost:8080' in result[0], result)
+ def test_call_default_view_redirect(self):
+ rootpolicy = make_rootpolicy(None)
+ context = DummyContext()
+ traversalfactory = make_traversal_factory(context, '', [])
+ response = DummyResponse()
+ viewfactory = make_view_factory(response)
+ wsgifactory = make_wsgi_factory('200 OK', (), ['Hello world'])
+ environ = self._makeEnviron(PATH_INFO='/doesnt/end/in/slash')
+ self._registerTraverserFactory(traversalfactory, '', None, None)
+ self._registerViewFactory(viewfactory, '', None, None)
+ self._registerWSGIFactory(wsgifactory, '', None, None)
+ router = self._makeOne(rootpolicy)
+ start_response = DummyStartResponse()
+ result = router(environ, start_response)
+ headers = start_response.headers
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(
+ headers[0],
+ ('content-type', 'text/html; charset=UTF-8'))
+ self.assertEqual(
+ headers[1],
+ ('location', 'http://localhost:8080/doesnt/end/in/slash/'))
+ self.assertEqual(start_response.status, '302 Found')
+
def test_call_view_registered_nonspecific_default_path(self):
rootpolicy = make_rootpolicy(None)
context = DummyContext()