diff options
author | d11wtq <chris@w3style.co.uk> | 2014-06-08 11:32:16 +0000 |
---|---|---|
committer | Chris Corbyn <chris@w3style.co.uk> | 2014-06-09 01:31:48 +0000 |
commit | d8b0fa294ecc975093e8d8539ee52151a2136e76 (patch) | |
tree | 2dde90431fee3136b85db242386ac188413cf086 | |
parent | a6c8319b5df7c353de12c87e0896087749159240 (diff) |
Add integration tests for Project.up() w/ start_links and keep_old
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
-rw-r--r-- | tests/integration/project_test.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 28dab507..f2b9075e 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -46,6 +46,21 @@ class ProjectTest(DockerClientTestCase): project.up(['db']) self.assertEqual(len(project.containers()), 1) + self.assertEqual(len(db.containers()), 1) + self.assertEqual(len(web.containers()), 0) + + project.kill() + project.remove_stopped() + + def test_project_up_recreates_containers(self): + web = self.create_service('web') + db = self.create_service('db', volumes=['/var/db']) + project = Project('figtest', [web, db], self.client) + project.start() + self.assertEqual(len(project.containers()), 0) + + project.up(['db']) + self.assertEqual(len(project.containers()), 1) old_db_id = project.containers()[0].id db_volume_path = project.containers()[0].inspect()['Volumes']['/var/db'] @@ -59,6 +74,28 @@ class ProjectTest(DockerClientTestCase): project.kill() project.remove_stopped() + def test_project_up_with_keep_old(self): + web = self.create_service('web') + db = self.create_service('db', volumes=['/var/db']) + project = Project('figtest', [web, db], self.client) + project.start() + self.assertEqual(len(project.containers()), 0) + + project.up(['db']) + self.assertEqual(len(project.containers()), 1) + old_db_id = project.containers()[0].id + db_volume_path = project.containers()[0].inspect()['Volumes']['/var/db'] + + project.up(keep_old=True) + self.assertEqual(len(project.containers()), 2) + + db_container = [c for c in project.containers() if 'db' in c.name][0] + self.assertEqual(c.id, old_db_id) + self.assertEqual(c.inspect()['Volumes']['/var/db'], db_volume_path) + + project.kill() + project.remove_stopped() + def test_project_up_without_auto_start(self): console = self.create_service('console', auto_start=False) db = self.create_service('db') @@ -74,6 +111,42 @@ class ProjectTest(DockerClientTestCase): project.kill() project.remove_stopped() + def test_project_up_starts_links(self): + console = self.create_service('console') + db = self.create_service('db', volumes=['/var/db']) + web = self.create_service('web', links=[(db, 'db')]) + + project = Project('figtest', [web, db, console], self.client) + project.start() + self.assertEqual(len(project.containers()), 0) + + project.up(['web']) + self.assertEqual(len(project.containers()), 2) + self.assertEqual(len(web.containers()), 1) + self.assertEqual(len(db.containers()), 1) + self.assertEqual(len(console.containers()), 0) + + project.kill() + project.remove_stopped() + + def test_project_up_with_no_links(self): + console = self.create_service('console') + db = self.create_service('db', volumes=['/var/db']) + web = self.create_service('web', links=[(db, 'db')]) + + project = Project('figtest', [web, db, console], self.client) + project.start() + self.assertEqual(len(project.containers()), 0) + + project.up(['web'], start_links=False) + self.assertEqual(len(project.containers()), 1) + self.assertEqual(len(web.containers()), 1) + self.assertEqual(len(db.containers()), 0) + self.assertEqual(len(console.containers()), 0) + + project.kill() + project.remove_stopped() + def test_unscale_after_restart(self): web = self.create_service('web') project = Project('figtest', [web], self.client) |