summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-10-28 23:12:41 +0000
committerChris McDonough <chrism@agendaless.com>2008-10-28 23:12:41 +0000
commit85078f4eb39c6827973292a628cdf5ff6b34249a (patch)
tree2ec4d723643bfe73d2bd8f3f8e16415bc3e4acd4 /repoze/bfg/tests
parentb8a620bbb842c59336f8513e0d97de1074e815dc (diff)
downloadpyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.tar.gz
pyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.tar.bz2
pyramid-85078f4eb39c6827973292a628cdf5ff6b34249a.zip
- If the ``render_view_to_response`` function was called, if the
view was found and called, but it returned something that did not implement IResponse, the error would pass by unflagged. This was noticed when I created a view function that essentially returned None, but received a NotFound error rather than a ValueError when the view was rendered. This was fixed.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_view.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py
index 6eee8fbab..3636692a8 100644
--- a/repoze/bfg/tests/test_view.py
+++ b/repoze/bfg/tests/test_view.py
@@ -124,6 +124,27 @@ class RenderViewToResponseTests(unittest.TestCase, BaseTest):
response = renderer(context, request, name='registered', secure=False)
self.assertEqual(response.status, '200 OK')
+
+ def test_call_view_response_doesnt_implement_IResponse(self):
+ context = DummyContext()
+ from zope.interface import Interface
+ from zope.interface import directlyProvides
+ from repoze.bfg.interfaces import IRequest
+ class IContext(Interface):
+ pass
+ directlyProvides(context, IContext)
+ response = 'abc'
+ view = make_view(response)
+ self._registerView(view, 'registered', IContext, IRequest)
+ environ = self._makeEnviron()
+ from webob import Request
+ request = Request(environ)
+ directlyProvides(request, IRequest)
+ renderer = self._getFUT()
+ self.assertRaises(ValueError, renderer, context, request,
+ name='registered', secure=False)
+
+
class RenderViewToIterableTests(unittest.TestCase, BaseTest):
def _getFUT(self):
from repoze.bfg.view import render_view_to_iterable