Fix for unclear error message for invalid YAML merge include (#196).
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Dan Helfman 2019-06-16 21:33:40 -07:00
commit 6c136ebbf1
5 changed files with 31 additions and 4 deletions

View file

@ -1,5 +1,7 @@
import sys
import pytest
import ruamel.yaml
from flexmock import flexmock
from borgmatic.config import load as module
@ -38,3 +40,23 @@ def test_load_configuration_merges_include():
)
assert module.load_configuration('config.yaml') == {'foo': 'override', 'baz': 'quux'}
def test_load_configuration_does_not_merge_include_list():
builtins = flexmock(sys.modules['builtins'])
builtins.should_receive('open').with_args('include.yaml').and_return(
'''
- one
- two
'''
)
builtins.should_receive('open').with_args('config.yaml').and_return(
'''
foo: bar
repositories:
<<: !include include.yaml
'''
)
with pytest.raises(ruamel.yaml.error.YAMLError):
assert module.load_configuration('config.yaml')