mirror of
https://github.com/docker/compose.git
synced 2025-07-26 23:24:05 +02:00
Fix validation message when there are multiple ested oneOf validations.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
f8e3c46fbb
commit
b79ad5f966
@ -332,6 +332,10 @@ def _parse_oneof_validator(error):
|
|||||||
types = []
|
types = []
|
||||||
for context in error.context:
|
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':
|
if context.validator == 'required':
|
||||||
return (None, context.message)
|
return (None, context.message)
|
||||||
|
|
||||||
|
@ -394,6 +394,27 @@ class ConfigTest(unittest.TestCase):
|
|||||||
config.load(config_details)
|
config.load(config_details)
|
||||||
assert "service 'web' must be a mapping not a string." in exc.exconly()
|
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):
|
def test_config_integer_service_name_raise_validation_error(self):
|
||||||
with pytest.raises(ConfigurationError) as excinfo:
|
with pytest.raises(ConfigurationError) as excinfo:
|
||||||
config.load(
|
config.load(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user