def boolean_setting(errors, setting, settings):
if setting in settings:
- val = literal_eval(settings[setting])
+ try:
+ val = literal_eval(settings[setting])
+ except ValueError:
+ val = None
if (val is not True
and val is not False):
errors.append(exceptions.NotBooleanSettingError(
assert isinstance(errors[0], ex.NotBooleanSettingError)
+def test_boolean_setting_notparsable():
+ '''Deliver an exception when the setting does not evaluate to a
+ boolean because it is not parseable
+ '''
+ errors = []
+ pgwui_server_init.boolean_setting(errors, 'key', {'key': 'a'})
+
+ assert errors
+ assert isinstance(errors[0], ex.NotBooleanSettingError)
+
+
mock_boolean_setting = testing.make_mock_fixture(
pgwui_server_init, 'boolean_setting')