diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-24 10:31:20 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-24 10:31:20 +0000 |
| commit | 7292d4d6a7d63c55a718dc50943bc9cbf90ae6fe (patch) | |
| tree | 61af50cf949b1f2d895375f37d223fbf12237fce /repoze/bfg/tests | |
| parent | 5ab02920213361e245489c1eedd83757893e0ffa (diff) | |
| download | pyramid-7292d4d6a7d63c55a718dc50943bc9cbf90ae6fe.tar.gz pyramid-7292d4d6a7d63c55a718dc50943bc9cbf90ae6fe.tar.bz2 pyramid-7292d4d6a7d63c55a718dc50943bc9cbf90ae6fe.zip | |
Behavior Changes
----------------
- The ``repoze.bfg.view.render_view_to_response`` API will no longer
raise a ValueError if an object returned by a view function it calls
does not possess certain attributes (``headerlist``, ``app_iter``,
``status``). This API used to attempt to perform a check using the
``is_response`` function in ``repoze.bfg.view``, and raised a
``ValueError`` if the ``is_response`` check failed. The
responsibility is now the caller's to ensure that the return value
from a view function is a "real" response.
- WSGI environ dicts passed to ``repoze.bfg`` 's Router must now
contain a REQUEST_METHOD key/value; if they do not, a KeyError will
be raised (speed).
Implementation Changes
----------------------
- Various speed micro-tweaks.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_registry.py | 8 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_router.py | 13 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_view.py | 56 |
3 files changed, 17 insertions, 60 deletions
diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py index f54ac934f..2f7123cff 100644 --- a/repoze/bfg/tests/test_registry.py +++ b/repoze/bfg/tests/test_registry.py @@ -12,7 +12,7 @@ class TestRegistry(unittest.TestCase): def test_registerHandler_and_notify(self): registry = self._makeOne() - self.assertEqual(registry._has_listeners, False) + self.assertEqual(registry.has_listeners, False) from zope.interface import Interface from zope.interface import implements class IFoo(Interface): @@ -23,21 +23,21 @@ class TestRegistry(unittest.TestCase): def f(event): L.append(event) registry.registerHandler(f, [IFoo]) - self.assertEqual(registry._has_listeners, True) + self.assertEqual(registry.has_listeners, True) event = FooEvent() registry.notify(event) self.assertEqual(L, [event]) def test_registerSubscriptionAdapter_and_notify(self): registry = self._makeOne() - self.assertEqual(registry._has_listeners, False) + self.assertEqual(registry.has_listeners, False) from zope.interface import Interface class EventHandler: pass class IFoo(Interface): pass registry.registerSubscriptionAdapter(EventHandler, [IFoo], Interface) - self.assertEqual(registry._has_listeners, True) + self.assertEqual(registry.has_listeners, True) class TestPopulateRegistry(unittest.TestCase): def setUp(self): diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py index 8c2a5cf04..c17bc623a 100644 --- a/repoze/bfg/tests/test_router.py +++ b/repoze/bfg/tests/test_router.py @@ -180,6 +180,19 @@ class RouterTests(unittest.TestCase): self.failUnless("view_name: ''" in message) self.failUnless("subpath: []" in message) + def test_call_view_returns_nonresponse(self): + rootfactory = make_rootfactory(None) + context = DummyContext() + traversalfactory = make_traversal_factory(context, '', []) + environ = self._makeEnviron() + self._registerTraverserFactory(traversalfactory, '', None) + view = make_view('abc') + self._registerView(view, '', None, None) + self._registerRootFactory(rootfactory) + router = self._makeOne() + start_response = DummyStartResponse() + self.assertRaises(ValueError, router, environ, start_response) + def test_call_view_registered_nonspecific_default_path(self): rootfactory = make_rootfactory(None) context = DummyContext() diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index 9bdc7d80a..e32a04deb 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -123,26 +123,6 @@ class RenderViewToResponseTests(BaseTest, unittest.TestCase): 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) - self.assertRaises(ValueError, self._callFUT, context, request, - name='registered', secure=False) - - class RenderViewToIterableTests(BaseTest, unittest.TestCase): def _callFUT(self, *arg, **kw): from repoze.bfg.view import render_view_to_iterable @@ -228,24 +208,6 @@ class RenderViewToIterableTests(BaseTest, unittest.TestCase): secure=False) self.assertEqual(iterable, ()) - 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) - self.assertRaises(ValueError, self._callFUT, context, request, - name='registered', secure=False) - class RenderViewTests(unittest.TestCase, BaseTest): def _callFUT(self, *arg, **kw): from repoze.bfg.view import render_view @@ -329,24 +291,6 @@ class RenderViewTests(unittest.TestCase, BaseTest): s = self._callFUT(context, request, name='registered', secure=False) self.assertEqual(s, '') - 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) - self.assertRaises(ValueError, self._callFUT, context, request, - name='registered', secure=False) - class TestIsResponse(unittest.TestCase): def _callFUT(self, *arg, **kw): from repoze.bfg.view import is_response |
