Ejemplo n.º 1
0
    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'])
Ejemplo n.º 2
0
    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'])
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)