|
@@ -39,7 +39,7 @@ class ProjectTestCase(DockerClientTestCase):
|
|
|
|
|
|
|
|
class BasicProjectTest(ProjectTestCase):
|
|
class BasicProjectTest(ProjectTestCase):
|
|
|
def setUp(self):
|
|
def setUp(self):
|
|
|
- super(BasicProjectTest, self).setUp()
|
|
|
|
|
|
|
+ super().setUp()
|
|
|
|
|
|
|
|
self.cfg = {
|
|
self.cfg = {
|
|
|
'db': {'image': BUSYBOX_IMAGE_WITH_TAG, 'command': 'top'},
|
|
'db': {'image': BUSYBOX_IMAGE_WITH_TAG, 'command': 'top'},
|
|
@@ -95,7 +95,7 @@ class BasicProjectTest(ProjectTestCase):
|
|
|
|
|
|
|
|
class ProjectWithDependenciesTest(ProjectTestCase):
|
|
class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
def setUp(self):
|
|
def setUp(self):
|
|
|
- super(ProjectWithDependenciesTest, self).setUp()
|
|
|
|
|
|
|
+ super().setUp()
|
|
|
|
|
|
|
|
self.cfg = {
|
|
self.cfg = {
|
|
|
'db': {
|
|
'db': {
|
|
@@ -116,7 +116,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
|
|
|
|
|
def test_up(self):
|
|
def test_up(self):
|
|
|
containers = self.run_up(self.cfg)
|
|
containers = self.run_up(self.cfg)
|
|
|
- assert set(c.service for c in containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_change_leaf(self):
|
|
def test_change_leaf(self):
|
|
|
old_containers = self.run_up(self.cfg)
|
|
old_containers = self.run_up(self.cfg)
|
|
@@ -124,7 +124,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
self.cfg['nginx']['environment'] = {'NEW_VAR': '1'}
|
|
self.cfg['nginx']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(self.cfg)
|
|
new_containers = self.run_up(self.cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'nginx'}
|
|
|
|
|
|
|
|
def test_change_middle(self):
|
|
def test_change_middle(self):
|
|
|
old_containers = self.run_up(self.cfg)
|
|
old_containers = self.run_up(self.cfg)
|
|
@@ -132,7 +132,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
self.cfg['web']['environment'] = {'NEW_VAR': '1'}
|
|
self.cfg['web']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(self.cfg)
|
|
new_containers = self.run_up(self.cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['web'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'web'}
|
|
|
|
|
|
|
|
def test_change_middle_always_recreate_deps(self):
|
|
def test_change_middle_always_recreate_deps(self):
|
|
|
old_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
old_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
@@ -140,7 +140,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
self.cfg['web']['environment'] = {'NEW_VAR': '1'}
|
|
self.cfg['web']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
new_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == {'web', 'nginx'}
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_change_root(self):
|
|
def test_change_root(self):
|
|
|
old_containers = self.run_up(self.cfg)
|
|
old_containers = self.run_up(self.cfg)
|
|
@@ -148,7 +148,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
self.cfg['db']['environment'] = {'NEW_VAR': '1'}
|
|
self.cfg['db']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(self.cfg)
|
|
new_containers = self.run_up(self.cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['db'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'db'}
|
|
|
|
|
|
|
|
def test_change_root_always_recreate_deps(self):
|
|
def test_change_root_always_recreate_deps(self):
|
|
|
old_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
old_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
@@ -156,7 +156,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
self.cfg['db']['environment'] = {'NEW_VAR': '1'}
|
|
self.cfg['db']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
new_containers = self.run_up(self.cfg, always_recreate_deps=True)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == {
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {
|
|
|
'db', 'web', 'nginx'
|
|
'db', 'web', 'nginx'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -213,7 +213,7 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|
|
|
|
|
|
|
class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
def setUp(self):
|
|
def setUp(self):
|
|
|
- super(ProjectWithDependsOnDependenciesTest, self).setUp()
|
|
|
|
|
|
|
+ super().setUp()
|
|
|
|
|
|
|
|
self.cfg = {
|
|
self.cfg = {
|
|
|
'version': '2',
|
|
'version': '2',
|
|
@@ -238,7 +238,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
def test_up(self):
|
|
def test_up(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
|
containers = self.run_up(local_cfg)
|
|
containers = self.run_up(local_cfg)
|
|
|
- assert set(c.service for c in containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_change_leaf(self):
|
|
def test_change_leaf(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -247,7 +247,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
local_cfg['services']['nginx']['environment'] = {'NEW_VAR': '1'}
|
|
local_cfg['services']['nginx']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(local_cfg)
|
|
new_containers = self.run_up(local_cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'nginx'}
|
|
|
|
|
|
|
|
def test_change_middle(self):
|
|
def test_change_middle(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -256,7 +256,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
local_cfg['services']['web']['environment'] = {'NEW_VAR': '1'}
|
|
local_cfg['services']['web']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(local_cfg)
|
|
new_containers = self.run_up(local_cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['web'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'web'}
|
|
|
|
|
|
|
|
def test_change_middle_always_recreate_deps(self):
|
|
def test_change_middle_always_recreate_deps(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -265,7 +265,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
local_cfg['services']['web']['environment'] = {'NEW_VAR': '1'}
|
|
local_cfg['services']['web']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(local_cfg, always_recreate_deps=True)
|
|
new_containers = self.run_up(local_cfg, always_recreate_deps=True)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_change_root(self):
|
|
def test_change_root(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -274,7 +274,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
local_cfg['services']['db']['environment'] = {'NEW_VAR': '1'}
|
|
local_cfg['services']['db']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(local_cfg)
|
|
new_containers = self.run_up(local_cfg)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['db'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'db'}
|
|
|
|
|
|
|
|
def test_change_root_always_recreate_deps(self):
|
|
def test_change_root_always_recreate_deps(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -283,7 +283,7 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
local_cfg['services']['db']['environment'] = {'NEW_VAR': '1'}
|
|
local_cfg['services']['db']['environment'] = {'NEW_VAR': '1'}
|
|
|
new_containers = self.run_up(local_cfg, always_recreate_deps=True)
|
|
new_containers = self.run_up(local_cfg, always_recreate_deps=True)
|
|
|
|
|
|
|
|
- assert set(c.service for c in new_containers - old_containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in new_containers - old_containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_change_root_no_recreate(self):
|
|
def test_change_root_no_recreate(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -303,24 +303,24 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
del next_cfg['services']['web']['depends_on']
|
|
del next_cfg['services']['web']['depends_on']
|
|
|
|
|
|
|
|
containers = self.run_up(local_cfg)
|
|
containers = self.run_up(local_cfg)
|
|
|
- assert set(c.service for c in containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
project = self.make_project(local_cfg)
|
|
project = self.make_project(local_cfg)
|
|
|
project.stop(timeout=1)
|
|
project.stop(timeout=1)
|
|
|
|
|
|
|
|
next_containers = self.run_up(next_cfg)
|
|
next_containers = self.run_up(next_cfg)
|
|
|
- assert set(c.service for c in next_containers) == set(['web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in next_containers} == {'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_service_removed_while_up(self):
|
|
def test_service_removed_while_up(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
|
containers = self.run_up(local_cfg)
|
|
containers = self.run_up(local_cfg)
|
|
|
- assert set(c.service for c in containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
del local_cfg['services']['db']
|
|
del local_cfg['services']['db']
|
|
|
del local_cfg['services']['web']['depends_on']
|
|
del local_cfg['services']['web']['depends_on']
|
|
|
|
|
|
|
|
containers = self.run_up(local_cfg)
|
|
containers = self.run_up(local_cfg)
|
|
|
- assert set(c.service for c in containers) == set(['web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'web', 'nginx'}
|
|
|
|
|
|
|
|
def test_dependency_removed(self):
|
|
def test_dependency_removed(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
@@ -328,24 +328,24 @@ class ProjectWithDependsOnDependenciesTest(ProjectTestCase):
|
|
|
del next_cfg['services']['nginx']['depends_on']
|
|
del next_cfg['services']['nginx']['depends_on']
|
|
|
|
|
|
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
|
- assert set(c.service for c in containers) == set(['db', 'web', 'nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'db', 'web', 'nginx'}
|
|
|
|
|
|
|
|
project = self.make_project(local_cfg)
|
|
project = self.make_project(local_cfg)
|
|
|
project.stop(timeout=1)
|
|
project.stop(timeout=1)
|
|
|
|
|
|
|
|
next_containers = self.run_up(next_cfg, service_names=['nginx'])
|
|
next_containers = self.run_up(next_cfg, service_names=['nginx'])
|
|
|
- assert set(c.service for c in next_containers if c.is_running) == set(['nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in next_containers if c.is_running} == {'nginx'}
|
|
|
|
|
|
|
|
def test_dependency_added(self):
|
|
def test_dependency_added(self):
|
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
local_cfg = copy.deepcopy(self.cfg)
|
|
|
|
|
|
|
|
del local_cfg['services']['nginx']['depends_on']
|
|
del local_cfg['services']['nginx']['depends_on']
|
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
|
- assert set(c.service for c in containers) == set(['nginx'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'nginx'}
|
|
|
|
|
|
|
|
local_cfg['services']['nginx']['depends_on'] = ['db']
|
|
local_cfg['services']['nginx']['depends_on'] = ['db']
|
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
containers = self.run_up(local_cfg, service_names=['nginx'])
|
|
|
- assert set(c.service for c in containers) == set(['nginx', 'db'])
|
|
|
|
|
|
|
+ assert {c.service for c in containers} == {'nginx', 'db'}
|
|
|
|
|
|
|
|
|
|
|
|
|
class ServiceStateTest(DockerClientTestCase):
|
|
class ServiceStateTest(DockerClientTestCase):
|