Move keep_old check up into Project

Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
This commit is contained in:
d11wtq 2014-06-08 22:47:09 +00:00 committed by Chris Corbyn
commit ab1fbc96c3
4 changed files with 48 additions and 54 deletions

View file

@ -74,7 +74,7 @@ class ProjectTest(DockerClientTestCase):
project.kill()
project.remove_stopped()
def test_project_up_with_keep_old(self):
def test_project_up_with_keep_old_running(self):
web = self.create_service('web')
db = self.create_service('db', volumes=['/var/db'])
project = Project('figtest', [web, db], self.client)
@ -96,6 +96,34 @@ class ProjectTest(DockerClientTestCase):
project.kill()
project.remove_stopped()
def test_project_up_with_keep_old_stopped(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'])
project.stop()
old_containers = project.containers(stopped=True)
self.assertEqual(len(old_containers), 1)
old_db_id = old_containers[0].id
db_volume_path = old_containers[0].inspect()['Volumes']['/var/db']
project.up(keep_old=True)
new_containers = project.containers(stopped=True)
self.assertEqual(len(new_containers), 2)
db_container = [c for c in new_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')

View file

@ -132,52 +132,6 @@ 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'})