def test_containers(self): service = Service('db', client=self.mock_client, image='foo', project='myproject') self.mock_client.containers.return_value = [] self.assertEqual(service.containers(), []) self.mock_client.containers.return_value = [ { 'Image': 'busybox', 'Id': 'OUT_1', 'Names': ['/myproject', '/foo/bar'] }, { 'Image': 'busybox', 'Id': 'OUT_2', 'Names': ['/myproject_db'] }, { 'Image': 'busybox', 'Id': 'OUT_3', 'Names': ['/db_1'] }, { 'Image': 'busybox', 'Id': 'IN_1', 'Names': ['/myproject_db_1', '/myproject_web_1/db'] }, ] self.assertEqual([c.id for c in service.containers()], ['IN_1'])
def test_containers(self): service = Service('db', client=self.mock_client, project='myproject') self.mock_client.containers.return_value = [] self.assertEqual(service.containers(), []) self.mock_client.containers.return_value = [ {'Image': 'busybox', 'Id': 'OUT_1', 'Names': ['/myproject', '/foo/bar']}, {'Image': 'busybox', 'Id': 'OUT_2', 'Names': ['/myproject_db']}, {'Image': 'busybox', 'Id': 'OUT_3', 'Names': ['/db_1']}, {'Image': 'busybox', 'Id': 'IN_1', 'Names': ['/myproject_db_1', '/myproject_web_1/db']}, ] self.assertEqual([c.id for c in service.containers()], ['IN_1'])
def test_recreate_containers_with_image_declared_volume(self): service = Service( project='composetest', name='db', client=self.client, build='tests/fixtures/dockerfile-with-volume', ) old_container = create_and_start_container(service) self.assertEqual(old_container.get('Volumes').keys(), ['/data']) volume_path = old_container.get('Volumes')['/data'] service.recreate_containers() new_container = service.containers()[0] service.start_container(new_container) self.assertEqual(new_container.get('Volumes').keys(), ['/data']) self.assertEqual(new_container.get('Volumes')['/data'], volume_path)
def test_recreate_containers_with_image_declared_volume(self): service = Service( project='composetest', name='db', client=self.client, build='tests/fixtures/dockerfile-with-volume', ) old_container = create_and_start_container(service) self.assertEqual(old_container.get('Volumes').keys(), ['/data']) volume_path = old_container.get('Volumes')['/data'] service.recreate_containers() new_container = service.containers()[0] service.start_container(new_container) self.assertEqual(new_container.get('Volumes').keys(), ['/data']) self.assertEqual(new_container.get('Volumes')['/data'], volume_path)