소스 검색

Ensure test passes

Signed-off-by: Henke Adolfsson <[email protected]>
Henke Adolfsson 6 년 전
부모
커밋
aa79fb2473
1개의 변경된 파일34개의 추가작업 그리고 20개의 파일을 삭제
  1. 34 20
      tests/integration/project_test.py

+ 34 - 20
tests/integration/project_test.py

@@ -1,6 +1,7 @@
 from __future__ import absolute_import
 from __future__ import unicode_literals
 
+import copy
 import json
 import os
 import random
@@ -1500,34 +1501,47 @@ class ProjectTest(DockerClientTestCase):
     def test_project_up_with_added_secrets(self):
         node = create_host_file(self.client, os.path.abspath('tests/fixtures/secrets/default'))
 
-        config_data = build_config(
-            version=V3_1,
-            services=[{
-                'name': 'web',
-                'image': 'busybox:latest',
-                'command': 'cat /run/secrets/special',
-                # 'secrets': [
-                #     types.ServiceSecret.parse({'source': 'super', 'target': 'special'}),
-                # ],
-                'environment': ['constraint:node=={}'.format(node if node is not None else '*')]
-            }],
-            secrets={
+        config_input1 = {
+            'version': V3_1,
+            'services': [
+                {
+                    'name': 'web',
+                    'image': 'busybox:latest',
+                    'command': 'cat /run/secrets/special',
+                    'environment': ['constraint:node=={}'.format(node if node is not None else '')]
+                }
+
+            ],
+            'secrets': {
                 'super': {
-                    'file': os.path.abspath('tests/fixtures/secrets/default'),
-                },
-            },
-        )
+                    'file': os.path.abspath('tests/fixtures/secrets/default')
+                }
+            }
+        }
+        config_input2 = copy.deepcopy(config_input1)
+        # Add the secret
+        config_input2['services'][0]['secrets'] = [
+            types.ServiceSecret.parse({'source': 'super', 'target': 'special'})
+        ]
 
+        config_data1 = build_config(**config_input1)
+        config_data2 = build_config(**config_input2)
+
+        # First up with non-secret
         project = Project.from_config(
             client=self.client,
             name='composetest',
-            config_data=config_data,
+            config_data=config_data1,
         )
         project.up()
         project.stop()
-        project.services[0].secrets = [
-            types.ServiceSecret.parse({'source': 'super', 'target': 'special'})
-        ]
+
+        # Then up with secret
+        project = Project.from_config(
+            client=self.client,
+            name='composetest',
+            config_data=config_data2,
+        )
         project.up()
         project.stop()