mirror of https://github.com/docker/compose.git
Fix extends with multiple files.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
4017ea99fe
commit
c7b71422c0
|
@ -422,6 +422,8 @@ def merge_service_dicts_from_files(base, override):
|
|||
new_service = merge_service_dicts(base, override)
|
||||
if 'extends' in override:
|
||||
new_service['extends'] = override['extends']
|
||||
elif 'extends' in base:
|
||||
new_service['extends'] = base['extends']
|
||||
return new_service
|
||||
|
||||
|
||||
|
|
|
@ -552,6 +552,37 @@ class ConfigTest(unittest.TestCase):
|
|||
}
|
||||
]
|
||||
|
||||
def test_merge_service_dicts_from_files_with_extends_in_base(self):
|
||||
base = {
|
||||
'volumes': ['.:/app'],
|
||||
'extends': {'service': 'app'}
|
||||
}
|
||||
override = {
|
||||
'image': 'alpine:edge',
|
||||
}
|
||||
actual = config.merge_service_dicts_from_files(base, override)
|
||||
assert actual == {
|
||||
'image': 'alpine:edge',
|
||||
'volumes': ['.:/app'],
|
||||
'extends': {'service': 'app'}
|
||||
}
|
||||
|
||||
def test_merge_service_dicts_from_files_with_extends_in_override(self):
|
||||
base = {
|
||||
'volumes': ['.:/app'],
|
||||
'extends': {'service': 'app'}
|
||||
}
|
||||
override = {
|
||||
'image': 'alpine:edge',
|
||||
'extends': {'service': 'foo'}
|
||||
}
|
||||
actual = config.merge_service_dicts_from_files(base, override)
|
||||
assert actual == {
|
||||
'image': 'alpine:edge',
|
||||
'volumes': ['.:/app'],
|
||||
'extends': {'service': 'foo'}
|
||||
}
|
||||
|
||||
|
||||
class PortsTest(unittest.TestCase):
|
||||
INVALID_PORTS_TYPES = [
|
||||
|
|
Loading…
Reference in New Issue