Return error(s) when page routes or assets do not resolve
authorKarl O. Pinc <kop@karlpinc.com>
Tue, 8 Dec 2020 20:41:08 +0000 (14:41 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Tue, 8 Dec 2020 20:41:08 +0000 (14:41 -0600)
src/pgwui_server/pgwui_server.py
tests/test_pgwui_server.py

index a85aa58fbf730371623550cd29b3aba128becd7a..4a4bd54ee877b22a74268423b9b42386e3e2dca6 100644 (file)
@@ -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
 
 
index be52e3afd3a8e49a20821f994b9aa10265f0d822..75ffbcb0c9ad3682f3e6ac253f00605bf067816f 100644 (file)
@@ -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(