From 281b7399cef16199867d345adadc31725448c1df Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Tue, 8 Dec 2020 14:41:08 -0600 Subject: [PATCH] Return error(s) when page routes or assets do not resolve --- src/pgwui_server/pgwui_server.py | 4 +++- tests/test_pgwui_server.py | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/pgwui_server/pgwui_server.py b/src/pgwui_server/pgwui_server.py index a85aa58..4a4bd54 100644 --- a/src/pgwui_server/pgwui_server.py +++ b/src/pgwui_server/pgwui_server.py @@ -247,7 +247,9 @@ def pgwui_server_config(settings): components = plugin.find_pgwui_components() exit_on_invalid_settings(settings, components) config = apply_component_defaults(settings, components) - pgwui_common.urls.add_urls_setting(config, settings) + errors = pgwui_common.urls.add_urls_setting(config, settings) + if errors: + exit_reporting_errors(errors) return config diff --git a/tests/test_pgwui_server.py b/tests/test_pgwui_server.py index be52e3a..75ffbcb 100644 --- a/tests/test_pgwui_server.py +++ b/tests/test_pgwui_server.py @@ -581,15 +581,22 @@ mock_add_urls_setting = testing.make_mock_fixture( # pgwui_server_config() +@pytest.mark.parametrize( + ('errors', 'ere_calls'), [ + ([], 0), + (['some error'], 1)]) def test_pgwui_server_config( pyramid_config, mock_find_pgwui_components, mock_exit_on_invalid_settings, mock_apply_component_defaults, - mock_add_urls_setting): + mock_add_urls_setting, + mock_exit_reporting_errors, + errors, ere_calls): '''Makes expected calls, returns a configuration ''' mock_apply_component_defaults.return_value = pyramid_config + mock_add_urls_setting.return_value = errors result = pgwui_server.pgwui_server_config({}) @@ -597,7 +604,9 @@ def test_pgwui_server_config( mock_exit_on_invalid_settings.assert_called_once() mock_apply_component_defaults.assert_called_once() mock_add_urls_setting.assert_called_once() - assert result == pyramid_config + assert mock_exit_reporting_errors.call_count == ere_calls + if not errors: + assert result == pyramid_config mock_pgwui_server_config = testing.make_mock_fixture( -- 2.34.1