'''View decorators to expose useful response "variables" to templates
'''
+import pyramid.response
def merge_urls(request, pgwui):
'''Add variables missing but needed by base.mk to the response.
'''
response = wrapped(request)
+ if isinstance(response, pyramid.response.Response):
+ return response # Pyramid views returning Response don't render
pgwui = response.get('pgwui', {})
merge_urls(request, pgwui)
response['pgwui'] = pgwui
# Karl O. Pinc <kop@karlpinc.com>
import pytest
+import pyramid.response
from pyramid.threadlocal import get_current_request
import pgwui_common.view as view
check_base_view_results(request, pgwui)
+def test_base_view_response(mock_merge_urls):
+ '''Pyramid requests are immediately returned'''
+ wrapper = view.base_view(lambda request: pyramid.response.Response())
+ request = get_current_request()
+ response = wrapper(request)
+
+ assert isinstance(response, pyramid.response.Response)
+ assert mock_merge_urls.call_count == 0
+
+
mock_base_view = testing.make_mock_fixture(view, 'base_view')