summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authord11wtq <chris@w3style.co.uk>2014-06-08 11:11:52 +0000
committerChris Corbyn <chris@w3style.co.uk>2014-06-09 01:31:48 +0000
commita6c8319b5df7c353de12c87e0896087749159240 (patch)
tree30f8e7030b9052613a9296fc8125ff1b441d5d54
parent5d92f12f8e33506c986efdf366371a372f3594bb (diff)
Add integration tests for Service.recreate_containers() with keep_old
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
-rw-r--r--tests/integration/service_test.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py
index 78ddbd85..8f4d3f79 100644
--- a/tests/integration/service_test.py
+++ b/tests/integration/service_test.py
@@ -132,6 +132,52 @@ class ServiceTest(DockerClientTestCase):
self.assertNotEqual(old_container.id, new_container.id)
self.assertRaises(APIError, lambda: self.client.inspect_container(intermediate_container.id))
+ def test_recreate_containers_with_keep_old_running(self):
+ service = self.create_service(
+ 'db',
+ environment={'FOO': '1'},
+ volumes=['/var/db'],
+ entrypoint=['ps'],
+ command=['ax']
+ )
+ old_container = service.create_container()
+ service.start_container(old_container)
+
+ num_containers_before = len(self.client.containers(all=True))
+
+ tuples = service.recreate_containers(keep_old=True)
+ self.assertEqual(len(tuples), 1)
+
+ intermediate_container = tuples[0][0]
+ new_container = tuples[0][1]
+
+ self.assertIsNone(intermediate_container)
+ self.assertEqual(len(self.client.containers(all=True)), num_containers_before)
+ self.assertEqual(old_container.id, new_container.id)
+
+ def test_recreate_containers_with_keep_old_stopped(self):
+ service = self.create_service(
+ 'db',
+ environment={'FOO': '1'},
+ volumes=['/var/db'],
+ entrypoint=['ps'],
+ command=['ax']
+ )
+ old_container = service.create_container()
+ old_container.stop()
+
+ num_containers_before = len(self.client.containers(all=True))
+
+ tuples = service.recreate_containers(keep_old=True)
+ self.assertEqual(len(tuples), 1)
+
+ intermediate_container = tuples[0][0]
+ new_container = tuples[0][1]
+
+ self.assertIsNone(intermediate_container)
+ self.assertEqual(len(self.client.containers(all=True)), num_containers_before)
+ self.assertEqual(old_container.id, new_container.id)
+
def test_start_container_passes_through_options(self):
db = self.create_service('db')
db.start_container(environment={'FOO': 'BAR'})