mirror of https://github.com/docker/compose.git
Merge pull request #2975 from dnephin/fix_crash_on_none_in_config
Fix validation message when there are multiple nested oneOf validations.
This commit is contained in:
commit
d5514965d5
|
@ -332,6 +332,10 @@ def _parse_oneof_validator(error):
|
|||
types = []
|
||||
for context in error.context:
|
||||
|
||||
if context.validator == 'oneOf':
|
||||
_, error_msg = _parse_oneof_validator(context)
|
||||
return path_string(context.path), error_msg
|
||||
|
||||
if context.validator == 'required':
|
||||
return (None, context.message)
|
||||
|
||||
|
|
|
@ -394,6 +394,27 @@ class ConfigTest(unittest.TestCase):
|
|||
config.load(config_details)
|
||||
assert "service 'web' must be a mapping not a string." in exc.exconly()
|
||||
|
||||
def test_load_with_empty_build_args(self):
|
||||
config_details = build_config_details(
|
||||
{
|
||||
'version': '2',
|
||||
'services': {
|
||||
'web': {
|
||||
'build': {
|
||||
'context': '.',
|
||||
'args': None,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
with pytest.raises(ConfigurationError) as exc:
|
||||
config.load(config_details)
|
||||
assert (
|
||||
"services.web.build.args contains an invalid type, it should be an "
|
||||
"array, or an object" in exc.exconly()
|
||||
)
|
||||
|
||||
def test_config_integer_service_name_raise_validation_error(self):
|
||||
with pytest.raises(ConfigurationError) as excinfo:
|
||||
config.load(
|
||||
|
|
Loading…
Reference in New Issue