Use an anonymous intermediate container so that when recreating containers, suffixes always start from 1

This commit is contained in:
Aanand Prasad 2014-01-15 17:06:16 +00:00
commit ea4753c49a
2 changed files with 20 additions and 5 deletions

View file

@ -112,20 +112,24 @@ class ServiceTest(DockerClientTestCase):
service = self.create_service('db', environment={'FOO': '1'}, volumes=['/var/db'])
old_container = service.create_container()
self.assertEqual(old_container.dictionary['Config']['Env'], ['FOO=1'])
self.assertEqual(old_container.name, 'figtest_db_1')
service.start_container(old_container)
volume_path = old_container.inspect()['Volumes']['/var/db']
num_containers_before = len(self.client.containers(all=True))
service.options['environment']['FOO'] = '2'
(old, new) = service.recreate_containers()
self.assertEqual(old, [old_container])
self.assertEqual(len(old), 1)
self.assertEqual(len(new), 1)
new_container = new[0]
self.assertEqual(new_container.dictionary['Config']['Env'], ['FOO=2'])
self.assertEqual(new_container.name, 'figtest_db_1')
service.start_container(new_container)
self.assertEqual(new_container.inspect()['Volumes']['/var/db'], volume_path)
self.assertEqual(len(service.containers(stopped=True)), 2)
self.assertEqual(len(self.client.containers(all=True)), num_containers_before + 1)
self.assertNotEqual(old_container.id, new_container.id)
def test_start_container_passes_through_options(self):