소스 검색

Fix volume definition in v3 schema

Signed-off-by: Joffrey F <[email protected]>
Joffrey F 8 년 전
부모
커밋
5c2165eaaf
4개의 변경된 파일18개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 2
      compose/config/config_schema_v3.0.json
  2. 7 1
      tests/acceptance/cli_test.py
  3. 4 0
      tests/fixtures/v3-full/docker-compose.yml
  4. 5 2
      tests/integration/testcases.py

+ 2 - 2
compose/config/config_schema_v3.0.json

@@ -330,9 +330,9 @@
             "name": {"type": "string"}
           },
           "additionalProperties": false
-        }
+        },
+        "labels": {"$ref": "#/definitions/list_or_dict"}
       },
-      "labels": {"$ref": "#/definitions/list_or_dict"},
       "additionalProperties": false
     },
 

+ 7 - 1
tests/acceptance/cli_test.py

@@ -295,7 +295,13 @@ class CLITestCase(DockerClientTestCase):
         assert yaml.load(result.stdout) == {
             'version': '3.0',
             'networks': {},
-            'volumes': {},
+            'volumes': {
+                'foobar': {
+                    'labels': {
+                        'com.docker.compose.test': 'true',
+                    },
+                },
+            },
             'services': {
                 'web': {
                     'image': 'busybox',

+ 4 - 0
tests/fixtures/v3-full/docker-compose.yml

@@ -35,3 +35,7 @@ services:
       retries: 5
 
     stop_grace_period: 20s
+volumes:
+  foobar:
+    labels:
+      com.docker.compose.test: 'true'

+ 5 - 2
tests/integration/testcases.py

@@ -13,6 +13,7 @@ from compose.config.config import resolve_environment
 from compose.config.config import V1
 from compose.config.config import V2_0
 from compose.config.config import V2_1
+from compose.config.config import V3_0
 from compose.config.environment import Environment
 from compose.const import API_VERSIONS
 from compose.const import LABEL_PROJECT
@@ -36,13 +37,15 @@ def get_links(container):
 
 def engine_max_version():
     if 'DOCKER_VERSION' not in os.environ:
-        return V2_1
+        return V3_0
     version = os.environ['DOCKER_VERSION'].partition('-')[0]
     if version_lt(version, '1.10'):
         return V1
     elif version_lt(version, '1.12'):
         return V2_0
-    return V2_1
+    elif version_lt(version, '1.13'):
+        return V2_1
+    return V3_0
 
 
 def build_version_required_decorator(ignored_versions):