from pgwui_common import exceptions as common_ex
from pgwui_common import routes
from pgwui_common import plugin
+import pgwui_common.urls
# Constants
def apply_component_defaults(settings, components):
'''Apply component default settings to existing settings
'''
- config = Configurator(settings=settings)
- config.include('pgwui_common')
-
- components_to_config = autoconfigurable_components(settings, components)
- rp = settings['pgwui'].get('route_prefix')
- with config.route_prefix_context(rp):
- for component in components_to_config:
- log.debug('Autoconfiguring PGWUI component: {}'.format(component))
- config.include(component)
- routes.add_routes(config, settings)
- log.debug('Done autoconfiguring PGWUI components')
- return config
+ with Configurator(settings=settings) as config:
+ config.include('pgwui_common')
+
+ components_to_config = autoconfigurable_components(
+ settings, components)
+ rp = settings['pgwui'].get('route_prefix')
+ with config.route_prefix_context(rp):
+ for component in components_to_config:
+ log.debug(
+ 'Autoconfiguring PGWUI component: {}'.format(component))
+ config.include(component)
+ routes.add_routes(config, settings)
+ log.debug('Done autoconfiguring PGWUI components')
+ return config
def pgwui_server_config(settings):
'''
components = plugin.find_pgwui_components()
exit_on_invalid_settings(settings, components)
- return apply_component_defaults(settings, components)
+ config = apply_component_defaults(settings, components)
+ pgwui_common.urls.add_urls_setting(config, settings)
+ return config
def main(global_config, **settings):
import pgwui_common.check_settings
import pgwui_common.plugin
import pgwui_common.routes
+import pgwui_common.urls
# Use as a regular module, not a plugin, so lint checks work
from pgwui_testing import testing
import pgwui_server.pgwui_server as pgwui_server
import pgwui_server.exceptions as server_ex
+# Activiate the PGWUI pytest plugin
+pytest_plugins = ("pgwui",)
# Mark all tests with "unittest"
pytestmark = pytest.mark.unittest
mock_add_routes = testing.make_mock_fixture(
pgwui_common.routes, 'add_routes')
+mock_set_urls = testing.make_mock_fixture(
+ pgwui_common.urls, 'set_urls')
+
# Unit tests
['pgwui_mock_component_name']
result = pgwui_server.apply_component_defaults({'pgwui': {}}, [])
- assert isinstance(result, type(MockConfigurator()))
+ assert str(type(result)) == str(type(MockConfigurator))
logs = caplog.record_tuples
pgwui_server, 'apply_component_defaults')
+mock_add_urls_setting = testing.make_mock_fixture(
+ pgwui_common.urls, 'add_urls_setting')
+
+
# pgwui_server_config()
def test_pgwui_server_config(
+ pyramid_config,
mock_find_pgwui_components,
- mock_apply_component_defaults, mock_exit_on_invalid_settings):
- '''Returns a configuration'''
- test_configurator = 'test configurator'
- mock_apply_component_defaults.return_value = test_configurator
+ mock_exit_on_invalid_settings,
+ mock_apply_component_defaults,
+ mock_add_urls_setting):
+ '''Makes expected calls, returns a configuration
+ '''
+ mock_apply_component_defaults.return_value = pyramid_config
result = pgwui_server.pgwui_server_config({})
- assert result == test_configurator
+ mock_find_pgwui_components.assert_called_once()
+ 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
mock_pgwui_server_config = testing.make_mock_fixture(