|
@@ -1,5 +1,7 @@
|
|
from __future__ import unicode_literals
|
|
from __future__ import unicode_literals
|
|
|
|
+
|
|
from compose import config
|
|
from compose import config
|
|
|
|
+from compose.const import LABEL_PROJECT
|
|
from compose.project import Project
|
|
from compose.project import Project
|
|
from compose.container import Container
|
|
from compose.container import Container
|
|
from .testcases import DockerClientTestCase
|
|
from .testcases import DockerClientTestCase
|
|
@@ -55,6 +57,7 @@ class ProjectTest(DockerClientTestCase):
|
|
image='busybox:latest',
|
|
image='busybox:latest',
|
|
volumes=['/var/data'],
|
|
volumes=['/var/data'],
|
|
name='composetest_data_container',
|
|
name='composetest_data_container',
|
|
|
|
+ labels={LABEL_PROJECT: 'composetest'},
|
|
)
|
|
)
|
|
project = Project.from_dicts(
|
|
project = Project.from_dicts(
|
|
name='composetest',
|
|
name='composetest',
|
|
@@ -69,9 +72,6 @@ class ProjectTest(DockerClientTestCase):
|
|
db = project.get_service('db')
|
|
db = project.get_service('db')
|
|
self.assertEqual(db.volumes_from, [data_container])
|
|
self.assertEqual(db.volumes_from, [data_container])
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_net_from_service(self):
|
|
def test_net_from_service(self):
|
|
project = Project.from_dicts(
|
|
project = Project.from_dicts(
|
|
name='composetest',
|
|
name='composetest',
|
|
@@ -95,15 +95,13 @@ class ProjectTest(DockerClientTestCase):
|
|
net = project.get_service('net')
|
|
net = project.get_service('net')
|
|
self.assertEqual(web._get_net(), 'container:' + net.containers()[0].id)
|
|
self.assertEqual(web._get_net(), 'container:' + net.containers()[0].id)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_net_from_container(self):
|
|
def test_net_from_container(self):
|
|
net_container = Container.create(
|
|
net_container = Container.create(
|
|
self.client,
|
|
self.client,
|
|
image='busybox:latest',
|
|
image='busybox:latest',
|
|
name='composetest_net_container',
|
|
name='composetest_net_container',
|
|
- command='top'
|
|
|
|
|
|
+ command='top',
|
|
|
|
+ labels={LABEL_PROJECT: 'composetest'},
|
|
)
|
|
)
|
|
net_container.start()
|
|
net_container.start()
|
|
|
|
|
|
@@ -123,9 +121,6 @@ class ProjectTest(DockerClientTestCase):
|
|
web = project.get_service('web')
|
|
web = project.get_service('web')
|
|
self.assertEqual(web._get_net(), 'container:' + net_container.id)
|
|
self.assertEqual(web._get_net(), 'container:' + net_container.id)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_start_stop_kill_remove(self):
|
|
def test_start_stop_kill_remove(self):
|
|
web = self.create_service('web')
|
|
web = self.create_service('web')
|
|
db = self.create_service('db')
|
|
db = self.create_service('db')
|
|
@@ -171,9 +166,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(web.containers()), 0)
|
|
self.assertEqual(len(web.containers()), 0)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_starts_uncreated_services(self):
|
|
def test_project_up_starts_uncreated_services(self):
|
|
db = self.create_service('db')
|
|
db = self.create_service('db')
|
|
web = self.create_service('web', links=[(db, 'db')])
|
|
web = self.create_service('web', links=[(db, 'db')])
|
|
@@ -205,9 +197,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertNotEqual(db_container.id, old_db_id)
|
|
self.assertNotEqual(db_container.id, old_db_id)
|
|
self.assertEqual(db_container.get('Volumes./etc'), db_volume_path)
|
|
self.assertEqual(db_container.get('Volumes./etc'), db_volume_path)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_with_no_recreate_running(self):
|
|
def test_project_up_with_no_recreate_running(self):
|
|
web = self.create_service('web')
|
|
web = self.create_service('web')
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
@@ -228,9 +217,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(db_container.inspect()['Volumes']['/var/db'],
|
|
self.assertEqual(db_container.inspect()['Volumes']['/var/db'],
|
|
db_volume_path)
|
|
db_volume_path)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_with_no_recreate_stopped(self):
|
|
def test_project_up_with_no_recreate_stopped(self):
|
|
web = self.create_service('web')
|
|
web = self.create_service('web')
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
@@ -258,9 +244,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(db_container.inspect()['Volumes']['/var/db'],
|
|
self.assertEqual(db_container.inspect()['Volumes']['/var/db'],
|
|
db_volume_path)
|
|
db_volume_path)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_without_all_services(self):
|
|
def test_project_up_without_all_services(self):
|
|
console = self.create_service('console')
|
|
console = self.create_service('console')
|
|
db = self.create_service('db')
|
|
db = self.create_service('db')
|
|
@@ -273,9 +256,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(console.containers()), 1)
|
|
self.assertEqual(len(console.containers()), 1)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_starts_links(self):
|
|
def test_project_up_starts_links(self):
|
|
console = self.create_service('console')
|
|
console = self.create_service('console')
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
db = self.create_service('db', volumes=['/var/db'])
|
|
@@ -291,9 +271,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(db.containers()), 1)
|
|
self.assertEqual(len(console.containers()), 0)
|
|
self.assertEqual(len(console.containers()), 0)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_starts_depends(self):
|
|
def test_project_up_starts_depends(self):
|
|
project = Project.from_dicts(
|
|
project = Project.from_dicts(
|
|
name='composetest',
|
|
name='composetest',
|
|
@@ -329,9 +306,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(len(project.get_service('data').containers()), 1)
|
|
self.assertEqual(len(project.get_service('data').containers()), 1)
|
|
self.assertEqual(len(project.get_service('console').containers()), 0)
|
|
self.assertEqual(len(project.get_service('console').containers()), 0)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_project_up_with_no_deps(self):
|
|
def test_project_up_with_no_deps(self):
|
|
project = Project.from_dicts(
|
|
project = Project.from_dicts(
|
|
name='composetest',
|
|
name='composetest',
|
|
@@ -368,9 +342,6 @@ class ProjectTest(DockerClientTestCase):
|
|
self.assertEqual(len(project.get_service('data').containers(stopped=True)), 1)
|
|
self.assertEqual(len(project.get_service('data').containers(stopped=True)), 1)
|
|
self.assertEqual(len(project.get_service('console').containers()), 0)
|
|
self.assertEqual(len(project.get_service('console').containers()), 0)
|
|
|
|
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|
|
-
|
|
|
|
def test_unscale_after_restart(self):
|
|
def test_unscale_after_restart(self):
|
|
web = self.create_service('web')
|
|
web = self.create_service('web')
|
|
project = Project('composetest', [web], self.client)
|
|
project = Project('composetest', [web], self.client)
|
|
@@ -395,5 +366,3 @@ class ProjectTest(DockerClientTestCase):
|
|
project.up()
|
|
project.up()
|
|
service = project.get_service('web')
|
|
service = project.get_service('web')
|
|
self.assertEqual(len(service.containers()), 1)
|
|
self.assertEqual(len(service.containers()), 1)
|
|
- project.kill()
|
|
|
|
- project.remove_stopped()
|
|
|