summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-07-07 01:24:37 -0400
committerChris McDonough <chrism@plope.com>2011-07-07 01:24:37 -0400
commit32859f733794556e339ea2779b03894e570e0336 (patch)
treec76af9799f7bb7b2c45df108ee4e0f4e2a9fff0c
parent661ea7644a8c725a0f03df01c1618a592e712e1a (diff)
downloadpyramid-32859f733794556e339ea2779b03894e570e0336.tar.gz
pyramid-32859f733794556e339ea2779b03894e570e0336.tar.bz2
pyramid-32859f733794556e339ea2779b03894e570e0336.zip
fix a few tests broken by refactoring
-rw-r--r--pyramid/config.py34
-rw-r--r--pyramid/tests/restbugapp/views.py2
-rw-r--r--pyramid/tests/test_router.py21
3 files changed, 33 insertions, 24 deletions
diff --git a/pyramid/config.py b/pyramid/config.py
index 493a37f3b..184c0c6e8 100644
--- a/pyramid/config.py
+++ b/pyramid/config.py
@@ -3122,22 +3122,26 @@ class ViewDeriver(object):
def _rendered_view(context, request):
renderer = static_renderer
- response = wrapped_view(context, request)
+ result = wrapped_view(context, request)
registry = self.kw['registry']
- attrs = getattr(request, '__dict__', {})
- if 'override_renderer' in attrs:
- # renderer overridden by newrequest event or other
- renderer_name = attrs.pop('override_renderer')
- renderer = RendererHelper(name=renderer_name,
- package=self.kw.get('package'),
- registry = registry)
- if '__view__' in attrs:
- view_inst = attrs.pop('__view__')
- else:
- view_inst = getattr(wrapped_view, '__original_view__',
- wrapped_view)
- response = renderer.render_view(request, response, view_inst,
- context)
+ # this must adapt, it can't do a simple interface check
+ # (webob responses)
+ response = registry.queryAdapterOrSelf(result, IResponse)
+ if response is None:
+ attrs = getattr(request, '__dict__', {})
+ if 'override_renderer' in attrs:
+ # renderer overridden by newrequest event or other
+ renderer_name = attrs.pop('override_renderer')
+ renderer = RendererHelper(name=renderer_name,
+ package=self.kw.get('package'),
+ registry = registry)
+ if '__view__' in attrs:
+ view_inst = attrs.pop('__view__')
+ else:
+ view_inst = getattr(wrapped_view, '__original_view__',
+ wrapped_view)
+ response = renderer.render_view(request, result, view_inst,
+ context)
return response
return _rendered_view
diff --git a/pyramid/tests/restbugapp/views.py b/pyramid/tests/restbugapp/views.py
index b94851099..2ace59fa9 100644
--- a/pyramid/tests/restbugapp/views.py
+++ b/pyramid/tests/restbugapp/views.py
@@ -1,4 +1,4 @@
-from webob import Response
+from pyramid.response import Response
class BaseRESTView(object):
def __init__(self, context, request):
diff --git a/pyramid/tests/test_router.py b/pyramid/tests/test_router.py
index 5fd2cf01e..af311cfc2 100644
--- a/pyramid/tests/test_router.py
+++ b/pyramid/tests/test_router.py
@@ -4,9 +4,8 @@ from pyramid import testing
class TestRouter(unittest.TestCase):
def setUp(self):
- testing.setUp()
- from pyramid.threadlocal import get_current_registry
- self.registry = get_current_registry()
+ self.config = testing.setUp()
+ self.registry = self.config.registry
def tearDown(self):
testing.tearDown()
@@ -242,7 +241,8 @@ class TestRouter(unittest.TestCase):
self._registerTraverserFactory(context)
environ = self._makeEnviron()
view = DummyView('abc')
- self._registerView(view, '', IViewClassifier, None, None)
+ self._registerView(self.config.derive_view(view), '', IViewClassifier,
+ None, None)
router = self._makeOne()
start_response = DummyStartResponse()
self.assertRaises(ValueError, router, environ, start_response)
@@ -255,7 +255,8 @@ class TestRouter(unittest.TestCase):
self._registerTraverserFactory(context)
environ = self._makeEnviron()
view = DummyView('abc')
- self._registerView(view, '', IViewClassifier, None, None)
+ self._registerView(self.config.derive_view(view), '',
+ IViewClassifier, None, None)
router = self._makeOne()
start_response = DummyStartResponse()
def make_response(s):
@@ -273,7 +274,8 @@ class TestRouter(unittest.TestCase):
response.app_iter = ['Hello world']
view = DummyView(response)
environ = self._makeEnviron()
- self._registerView(view, '', IViewClassifier, None, None)
+ self._registerView(self.config.derive_view(view), '',
+ IViewClassifier, None, None)
self._registerRootFactory(context)
router = self._makeOne()
start_response = DummyStartResponse()
@@ -856,9 +858,12 @@ class TestRouter(unittest.TestCase):
environ = self._makeEnviron()
response = DummyResponse()
view = DummyView(response, raise_exception=RuntimeError)
- self._registerView(view, '', IViewClassifier, IRequest, None)
+
+ self._registerView(self.config.derive_view(view), '',
+ IViewClassifier, IRequest, None)
exception_view = DummyView(None)
- self._registerView(exception_view, '', IExceptionViewClassifier,
+ self._registerView(self.config.derive_view(exception_view), '',
+ IExceptionViewClassifier,
IRequest, RuntimeError)
router = self._makeOne()
start_response = DummyStartResponse()