diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-14 21:47:10 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-14 21:47:10 +0000 |
| commit | 9d9f0825f4d0da22bc39a511471d16316f421c16 (patch) | |
| tree | 6014cd7573f64866ebb67b848e2180479fb5363b | |
| parent | 3f6d1f025719f9238c3f869dff408f33b00e4766 (diff) | |
| download | pyramid-9d9f0825f4d0da22bc39a511471d16316f421c16.tar.gz pyramid-9d9f0825f4d0da22bc39a511471d16316f421c16.tar.bz2 pyramid-9d9f0825f4d0da22bc39a511471d16316f421c16.zip | |
Warn if views return non-Response objects.
| -rw-r--r-- | repoze/bfg/tests/test_wsgiadapter.py | 12 | ||||
| -rw-r--r-- | repoze/bfg/wsgiadapter.py | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/repoze/bfg/tests/test_wsgiadapter.py b/repoze/bfg/tests/test_wsgiadapter.py index 4555cbba5..500c7b138 100644 --- a/repoze/bfg/tests/test_wsgiadapter.py +++ b/repoze/bfg/tests/test_wsgiadapter.py @@ -80,7 +80,17 @@ class NaiveWSGIAdapterTests(unittest.TestCase, PlacelessSetup): self.assertEqual(result, ['Hello world']) self.assertEqual(start_response.headers, ()) self.assertEqual(start_response.status, '200 OK') - + + def test_view_returns_nonresponse(self): + request = DummyRequest() + def view(request): + return None + context = DummyContext() + adapter = self._makeOne(context, request, view) + environ = {} + start_response = DummyStartResponse() + self.assertRaises(ValueError, adapter, environ, start_response) + def test_view_fails_security_policy(self): import zope.component gsm = zope.component.getGlobalSiteManager() diff --git a/repoze/bfg/wsgiadapter.py b/repoze/bfg/wsgiadapter.py index 9b35c6aa2..968092a4e 100644 --- a/repoze/bfg/wsgiadapter.py +++ b/repoze/bfg/wsgiadapter.py @@ -55,6 +55,8 @@ class NaiveWSGIViewAdapter: response = view else: response = mapply(view, positional = (), keyword = kwdict) + if not isResponse(response): + raise ValueError('response was not IResponse: %s' % response) if not catch_response: catch_response = (response.status, response.headerlist) start_response(*catch_response) |
