From 4c8a89b6aaf9398778fddea461c2e92a4102cb18 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Wed, 14 Nov 2018 20:27:17 -0600 Subject: [PATCH] Distribution can be used without PGWUI_Logout --- src/pgwui_common/__init__.py | 8 ++++++-- src/pgwui_common/templates/auth_base.mak | 4 +++- tests/test___init__.py | 20 ++++++++++++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/pgwui_common/__init__.py b/src/pgwui_common/__init__.py index c0b827f..642e773 100644 --- a/src/pgwui_common/__init__.py +++ b/src/pgwui_common/__init__.py @@ -50,8 +50,12 @@ def auth_base_view(wrapped): ''' response = base_view(wrapped)(request) pgwui = response['pgwui'] - pgwui.setdefault('route.logout', - request.route_url('logout')) + try: + logout_route = request.route_url('logout') + except KeyError: + pass # A logout route is not required + else: + pgwui.setdefault('route.logout', logout_route) return response return wrapper diff --git a/src/pgwui_common/templates/auth_base.mak b/src/pgwui_common/templates/auth_base.mak index 9edac7e..da5317c 100644 --- a/src/pgwui_common/templates/auth_base.mak +++ b/src/pgwui_common/templates/auth_base.mak @@ -47,7 +47,9 @@ <%def name="navbar()"> diff --git a/tests/test___init__.py b/tests/test___init__.py index 7ae2173..4759e6b 100644 --- a/tests/test___init__.py +++ b/tests/test___init__.py @@ -69,8 +69,10 @@ def test_base_view_default(pyramid_request_config): # auth_base_view() -def test_auth_base_view(pyramid_request_config): - '''The response contains base_view and auth_base_view variables''' +def test_auth_base_view_logout(pyramid_request_config): + '''The response contains base_view and auth_base_view variables + when there is a logout route + ''' pgwui_common_init.includeme(pyramid_request_config) logout_route = '/logout' @@ -84,6 +86,20 @@ def test_auth_base_view(pyramid_request_config): assert pgwui['route.logout'] == request.application_url + logout_route +def test_auth_base_view_nologout(pyramid_request_config): + '''The response contains base_view and auth_base_view variables + when there is no logout route + ''' + pgwui_common_init.includeme(pyramid_request_config) + + wrapper = pgwui_common_init.auth_base_view(mock_view) + request = get_current_request() + + response = wrapper(request) + pgwui = response['pgwui'] + check_base_view_results(request, pgwui) + + # includeme() def test_includeme_configurecalled(): -- 2.34.1