|
@@ -1151,6 +1151,8 @@ class ProjectTest(DockerClientTestCase):
|
|
|
|
|
|
@v3_only()
|
|
|
def test_project_up_with_secrets(self):
|
|
|
+ create_host_file(self.client, os.path.abspath('tests/fixtures/secrets/default'))
|
|
|
+
|
|
|
config_data = build_config(
|
|
|
version=V3_1,
|
|
|
services=[{
|
|
@@ -1181,7 +1183,7 @@ class ProjectTest(DockerClientTestCase):
|
|
|
container, = containers
|
|
|
|
|
|
output = container.logs()
|
|
|
- assert output == "This is the secret\n"
|
|
|
+ assert output == b"This is the secret\n"
|
|
|
|
|
|
@v2_only()
|
|
|
def test_initialize_volumes_invalid_volume_driver(self):
|
|
@@ -1428,7 +1430,7 @@ class ProjectTest(DockerClientTestCase):
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- config_data = build_config(config_dict)
|
|
|
+ config_data = load_config(config_dict)
|
|
|
project = Project.from_config(
|
|
|
name='composetest', config_data=config_data, client=self.client
|
|
|
)
|
|
@@ -1465,7 +1467,7 @@ class ProjectTest(DockerClientTestCase):
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- config_data = build_config(config_dict)
|
|
|
+ config_data = load_config(config_dict)
|
|
|
project = Project.from_config(
|
|
|
name='composetest', config_data=config_data, client=self.client
|
|
|
)
|
|
@@ -1501,7 +1503,7 @@ class ProjectTest(DockerClientTestCase):
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- config_data = build_config(config_dict)
|
|
|
+ config_data = load_config(config_dict)
|
|
|
project = Project.from_config(
|
|
|
name='composetest', config_data=config_data, client=self.client
|
|
|
)
|
|
@@ -1515,3 +1517,30 @@ class ProjectTest(DockerClientTestCase):
|
|
|
assert 'svc1' in svc2.get_dependency_names()
|
|
|
with pytest.raises(NoHealthCheckConfigured):
|
|
|
svc1.is_healthy()
|
|
|
+
|
|
|
+
|
|
|
+def create_host_file(client, filename):
|
|
|
+ dirname = os.path.dirname(filename)
|
|
|
+
|
|
|
+ with open(filename, 'r') as fh:
|
|
|
+ content = fh.read()
|
|
|
+
|
|
|
+ container = client.create_container(
|
|
|
+ 'busybox:latest',
|
|
|
+ ['sh', '-c', 'echo -n "{}" > {}'.format(content, filename)],
|
|
|
+ volumes={dirname: {}},
|
|
|
+ host_config=client.create_host_config(
|
|
|
+ binds={dirname: {'bind': dirname, 'ro': False}},
|
|
|
+ network_mode='none',
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ try:
|
|
|
+ client.start(container)
|
|
|
+ exitcode = client.wait(container)
|
|
|
+
|
|
|
+ if exitcode != 0:
|
|
|
+ output = client.logs(container)
|
|
|
+ raise Exception(
|
|
|
+ "Container exited with code {}:\n{}".format(exitcode, output))
|
|
|
+ finally:
|
|
|
+ client.remove_container(container, force=True)
|