|
@@ -1486,6 +1486,44 @@ class ConfigTest(unittest.TestCase):
|
|
|
'extends': {'service': 'foo'}
|
|
'extends': {'service': 'foo'}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ def test_merge_service_dicts_heterogeneous(self):
|
|
|
|
|
+ base = {
|
|
|
|
|
+ 'volumes': ['.:/app'],
|
|
|
|
|
+ 'ports': ['5432']
|
|
|
|
|
+ }
|
|
|
|
|
+ override = {
|
|
|
|
|
+ 'image': 'alpine:edge',
|
|
|
|
|
+ 'ports': [5432]
|
|
|
|
|
+ }
|
|
|
|
|
+ actual = config.merge_service_dicts_from_files(
|
|
|
|
|
+ base,
|
|
|
|
|
+ override,
|
|
|
|
|
+ DEFAULT_VERSION)
|
|
|
|
|
+ assert actual == {
|
|
|
|
|
+ 'image': 'alpine:edge',
|
|
|
|
|
+ 'volumes': ['.:/app'],
|
|
|
|
|
+ 'ports': ['5432']
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ def test_merge_service_dicts_heterogeneous_2(self):
|
|
|
|
|
+ base = {
|
|
|
|
|
+ 'volumes': ['.:/app'],
|
|
|
|
|
+ 'ports': [5432]
|
|
|
|
|
+ }
|
|
|
|
|
+ override = {
|
|
|
|
|
+ 'image': 'alpine:edge',
|
|
|
|
|
+ 'ports': ['5432']
|
|
|
|
|
+ }
|
|
|
|
|
+ actual = config.merge_service_dicts_from_files(
|
|
|
|
|
+ base,
|
|
|
|
|
+ override,
|
|
|
|
|
+ DEFAULT_VERSION)
|
|
|
|
|
+ assert actual == {
|
|
|
|
|
+ 'image': 'alpine:edge',
|
|
|
|
|
+ 'volumes': ['.:/app'],
|
|
|
|
|
+ 'ports': ['5432']
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
def test_merge_build_args(self):
|
|
def test_merge_build_args(self):
|
|
|
base = {
|
|
base = {
|
|
|
'build': {
|
|
'build': {
|