Merge pull request #4113 from shin-/4103-merge-empty-logging

Fix logging dict merging
This commit is contained in:
Aanand Prasad 2016-11-08 14:56:27 +00:00 committed by GitHub
commit 0902edef43
2 changed files with 46 additions and 1 deletions

View File

@ -771,7 +771,7 @@ def merge_service_dicts(base, override, version):
for field in ['dns', 'dns_search', 'env_file', 'tmpfs']: for field in ['dns', 'dns_search', 'env_file', 'tmpfs']:
md.merge_field(field, merge_list_or_string) md.merge_field(field, merge_list_or_string)
md.merge_field('logging', merge_logging) md.merge_field('logging', merge_logging, default={})
for field in set(ALLOWED_KEYS) - set(md): for field in set(ALLOWED_KEYS) - set(md):
md.merge_scalar(field) md.merge_scalar(field)

View File

@ -1657,6 +1657,51 @@ class ConfigTest(unittest.TestCase):
} }
} }
def test_merge_logging_v2_no_base(self):
base = {
'image': 'alpine:edge'
}
override = {
'logging': {
'driver': 'json-file',
'options': {
'frequency': '2000'
}
}
}
actual = config.merge_service_dicts(base, override, V2_0)
assert actual == {
'image': 'alpine:edge',
'logging': {
'driver': 'json-file',
'options': {
'frequency': '2000'
}
}
}
def test_merge_logging_v2_no_override(self):
base = {
'image': 'alpine:edge',
'logging': {
'driver': 'syslog',
'options': {
'frequency': '2000'
}
}
}
override = {}
actual = config.merge_service_dicts(base, override, V2_0)
assert actual == {
'image': 'alpine:edge',
'logging': {
'driver': 'syslog',
'options': {
'frequency': '2000'
}
}
}
def test_external_volume_config(self): def test_external_volume_config(self):
config_details = build_config_details({ config_details = build_config_details({
'version': '2', 'version': '2',