Просмотр исходного кода

Preserve the version when specified in the file

Signed-off-by: Ulysses Souza <[email protected]>
Ulysses Souza 5 лет назад
Родитель
Сommit
fde1c681a7
3 измененных файлов с 20 добавлено и 27 удалено
  1. 0 2
      compose/config/config.py
  2. 9 9
      tests/acceptance/cli_test.py
  3. 11 16
      tests/unit/config/config_test.py

+ 0 - 2
compose/config/config.py

@@ -224,8 +224,6 @@ class ConfigFile(namedtuple('_ConfigFile', 'filename config')):
 
             if version.startswith("1"):
                 version = V1
-            else:
-                version = VERSION
 
         if version == V1:
             raise ConfigurationError(

+ 9 - 9
tests/acceptance/cli_test.py

@@ -284,7 +284,7 @@ services:
 
         output = yaml.safe_load(result.stdout)
         expected = {
-            'version': str(VERSION),
+            'version': '2',
             'volumes': {'data': {'driver': 'local'}},
             'networks': {'front': {}},
             'services': {
@@ -308,7 +308,7 @@ services:
         self.base_dir = 'tests/fixtures/restart'
         result = self.dispatch(['config'])
         assert yaml.safe_load(result.stdout) == {
-            'version': str(VERSION),
+            'version': '2',
             'services': {
                 'never': {
                     'image': 'busybox',
@@ -354,12 +354,12 @@ services:
         result = self.dispatch(['config'])
         json_result = yaml.safe_load(result.stdout)
         assert json_result == {
-            'version': str(VERSION),
+            'version': '2.4',
             'services': {
                 'web': {
                     'command': 'true',
                     'image': 'alpine:latest',
-                    'ports': [{'target': 5643}, {'target': 9999}]
+                    'ports': ['5643/tcp', '9999/tcp']
                 }
             }
         }
@@ -369,12 +369,12 @@ services:
         result = self.dispatch(['--env-file', '.env2', 'config'])
         json_result = yaml.safe_load(result.stdout)
         assert json_result == {
-            'version': str(VERSION),
+            'version': '2.4',
             'services': {
                 'web': {
                     'command': 'false',
                     'image': 'alpine:latest',
-                    'ports': [{'target': 5644}, {'target': 9998}]
+                    'ports': ['5644/tcp', '9998/tcp']
                 }
             }
         }
@@ -384,12 +384,12 @@ services:
         result = self.dispatch(['--project-directory', 'alt/', 'config'])
         json_result = yaml.safe_load(result.stdout)
         assert json_result == {
-            'version': str(VERSION),
+            'version': '2.4',
             'services': {
                 'web': {
                     'command': 'echo uwu',
                     'image': 'alpine:3.10.1',
-                    'ports': [{'target': 3341}, {'target': 4449}]
+                    'ports': ['3341/tcp', '4449/tcp']
                 }
             }
         }
@@ -501,7 +501,7 @@ services:
         self.base_dir = 'tests/fixtures/v3-full'
         result = self.dispatch(['config'])
         assert yaml.safe_load(result.stdout) == {
-            'version': str(VERSION),
+            'version': '3.5',
             'volumes': {
                 'foobar': {
                     'labels': {

+ 11 - 16
tests/unit/config/config_test.py

@@ -160,25 +160,20 @@ class ConfigTest(unittest.TestCase):
         }
 
     def test_valid_versions(self):
-        for version in ['2', '2.0']:
-            cfg = config.load(build_config_details({'version': version}))
-            assert cfg.version == VERSION
-
-        cfg = config.load(build_config_details({'version': '2.1'}))
-        assert cfg.version == VERSION
-
-        cfg = config.load(build_config_details({'version': '2.2'}))
-        assert cfg.version == VERSION
-
-        cfg = config.load(build_config_details({'version': '2.3'}))
+        cfg = config.load(
+            build_config_details({
+                'services': {
+                    'foo': {'image': 'busybox'},
+                    'bar': {'image': 'busybox', 'environment': ['FOO=1']},
+                }
+            })
+        )
         assert cfg.version == VERSION
 
-        for version in ['3', '3.0']:
+        for version in ['2', '2.0', '2.1', '2.2', '2.3',
+                        '3', '3.0', '3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8']:
             cfg = config.load(build_config_details({'version': version}))
-            assert cfg.version == VERSION
-
-        cfg = config.load(build_config_details({'version': '3.1'}))
-        assert cfg.version == VERSION
+            assert cfg.version == version
 
     def test_v1_file_version(self):
         cfg = config.load(build_config_details({'web': {'image': 'busybox'}}))