Corect application of the route_prefix setting to the static assets
authorKarl O. Pinc <kop@karlpinc.com>
Fri, 4 Oct 2024 23:49:09 +0000 (18:49 -0500)
committerKarl O. Pinc <kop@karlpinc.com>
Fri, 4 Oct 2024 23:49:09 +0000 (18:49 -0500)
src/pgwui_common/pgwui_common.py
tests/test_pgwui_common.py

index 96a49202d567045fc34f9873081cb376e0212334..1d8f01750048dca801ea55cfe6eb4507e564d016 100644 (file)
@@ -52,11 +52,10 @@ def configure_pages(config, pgwui_settings):
     configure_page(config, pgwui_settings, 'menu_page')
 
 
-def establish_settings(config):
+def establish_settings(config, pgwui_settings):
     '''Add defaults into settings when they are not present
     and pre-process setting values as needed
     '''
-    pgwui_settings = config.get_settings()['pgwui']
     pgwui_settings.setdefault(
         'client_encoding', DEFAULT_PGWUI_CLIENT_ENCODING)
     configure_pages(config, pgwui_settings)
@@ -67,10 +66,12 @@ def includeme(config):
     '''
     config.include('pyramid_mako')
     config.include('pyramid_beaker')
-    with config.route_prefix_context(settings['pgwui'].get('route_prefix')):
+
+    pgwui_settings = config.get_settings()['pgwui']
+    with config.route_prefix_context(pgwui_settings.get('route_prefix')):
         config.add_static_view(
             'static/pgwui_common',
             'pgwui_common:static/',
             cache_max_age=3600)
-    establish_settings(config)
+    establish_settings(config, pgwui_settings)
     config.scan()
index f86b7d0ceb42c33d97877a8163f36096e87ba1b5..b93630db5e4c2a5eee0f06281533e289785d55d0 100644 (file)
@@ -127,8 +127,7 @@ def test_establish_settings_check_defaults(
     '''Check that the defaults are set as expected
     '''
     pgwui = dict()
-    pyramid_request_config.get_settings()['pgwui'] = pgwui
-    pgwui_common.establish_settings(pyramid_request_config)
+    pgwui_common.establish_settings(pyramid_request_config, pgwui)
 
     assert pgwui['client_encoding'] \
         == pgwui_common.DEFAULT_PGWUI_CLIENT_ENCODING
@@ -140,8 +139,7 @@ def test_establish_settings_calls(
     '''Check that configure_pages() is called with the right args, once
     '''
     pgwui = dict()
-    pyramid_request_config.get_settings()['pgwui'] = pgwui
-    pgwui_common.establish_settings(pyramid_request_config)
+    pgwui_common.establish_settings(pyramid_request_config, pgwui)
 
     assert ([call[0] for call in mock_configure_pages.call_args_list]
             == [(pyramid_request_config, pgwui)])
@@ -155,14 +153,16 @@ mock_establish_settings = testing.make_mock_fixture(
 
 @pytest.mark.unittest
 def test_includeme_establish_settings_called(
+        pyramid_request_config,
         mock_add_static_view, mock_include, mock_establish_settings):
     '''Pyramid Configure() methods and establish_settings are all called'''
-    with pyramid.testing.testConfig() as config:
-        mocked_include = mock_include(config)
-        mocked_add_static_view = mock_add_static_view(config)
-        pgwui_common.includeme(config)
-        assert mocked_include.call_count == 2
-        mocked_add_static_view.assert_called_once()
+    pyramid_request_config.get_settings()['pgwui'] = {}
+    mocked_include = mock_include(pyramid_request_config)
+    mocked_add_static_view = mock_add_static_view(pyramid_request_config)
+    pgwui_common.includeme(pyramid_request_config)
+
+    assert mocked_include.call_count == 2
+    mocked_add_static_view.assert_called_once()
     mock_establish_settings.assert_called_once()