return result
+def parse_component_settings(component_keys, key, settings):
+ '''Parse plugin component setting assigments into a dict
+ '''
+ if key in component_keys:
+ settings[key] = dict(parse_assignments(settings[key]))
+
+
def validate_settings(errors, settings, components):
'''Be sure all settings validate
'''
component_keys = ['pgwui.{}'.format(component)
for component in components]
for key in settings.keys():
+ parse_component_settings(component_keys, key, settings)
abort_on_bad_setting(errors, component_keys, key)
validate_setting_values(errors, settings)
validate_hmac(errors, settings)
pgwui_server_init, 'parse_assignments')
+# parse_component_settings()
+
+def test_parse_component_settings(mock_parse_assignments):
+ '''Plugin component settings are properly parsed
+ '''
+ expected_server_settings = {'a': '1', 'b': '2'}
+ component = 'pgwui.pgwui_server'
+ settings = {component: 'ignored'}
+
+ mock_parse_assignments.return_value = [('a', '1'), ('b', '2')]
+ pgwui_server_init.parse_component_settings(
+ [component], component, settings)
+
+ assert settings[component] == expected_server_settings
+
+
+mock_parse_component_settings = testing.make_mock_fixture(
+ pgwui_server_init, 'parse_component_settings')
+
+
# validate_settings()
-def test_validate_settings(mock_abort_on_bad_setting,
+def test_validate_settings(mock_parse_component_settings,
+ mock_abort_on_bad_setting,
mock_validate_setting_values,
mock_validate_hmac):
'''Calls abort_on_bad_setting() for each key in setting,
assert mock_validate_setting_values.called
assert mock_validate_hmac.called
+
assert mock_abort_on_bad_setting.call_count == len(settings)
assert mock_abort_on_bad_setting.call_args[0][1] == \
['pgwui.{}'.format(components[0])]