コード例 #1
0
ファイル: container_test.py プロジェクト: BlueNestBox/fig
 def test_name_without_project(self):
     container = Container.from_ps(None, {
         "Id":"abc",
         "Image":"busybox:latest",
         "Command":"sleep 300",
         "Names":["/figtest_db_1"]
     }, has_been_inspected=True)
     self.assertEqual(container.name_without_project, "db_1")
コード例 #2
0
 def test_name(self):
     container = Container.from_ps(None, {
         "Id": "abc",
         "Image": "ubuntu:12.04",
         "Command": "sleep 300",
         "Names": ["/figtest_db_1"]
     },
                                   has_been_inspected=True)
     self.assertEqual(container.name, "figtest_db_1")
コード例 #3
0
ファイル: container_test.py プロジェクト: tristanz/fig
    def test_human_readable_ports_public_and_private(self):
        self.container_dict['NetworkSettings']['Ports'].update({
            "45454/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "49197" } ],
            "45453/tcp": [],
        })
        container = Container(None, self.container_dict, has_been_inspected=True)

        expected = "45453/tcp, 0.0.0.0:49197->45454/tcp"
        self.assertEqual(container.human_readable_ports, expected)
コード例 #4
0
ファイル: service_test.py プロジェクト: adam-ard/fig
 def test_create_container_with_volumes_from(self):
     volume_service = self.create_service('data')
     volume_container_1 = volume_service.create_container()
     volume_container_2 = Container.create(self.client, image='busybox:latest', command=["/bin/sleep", "300"])
     host_service = self.create_service('host', volumes_from=[volume_service, volume_container_2])
     host_container = host_service.create_container()
     host_service.start_container(host_container)
     self.assertIn(volume_container_1.id, host_container.inspect()['HostConfig']['VolumesFrom'])
     self.assertIn(volume_container_2.id, host_container.inspect()['HostConfig']['VolumesFrom'])
コード例 #5
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_from_ps(self):
     container = Container.from_ps(None,
                                   self.container_dict,
                                   has_been_inspected=True)
     self.assertEqual(container.dictionary, {
         "Id": "abc",
         "Image":"busybox:latest",
         "Name": "/figtest_db_1",
     })
コード例 #6
0
ファイル: container_test.py プロジェクト: salehe/fig
 def test_name_without_project(self):
     container = Container.from_ps(None, {
         "Id": "abc",
         "Image": "busybox:latest",
         "Command": "sleep 300",
         "Names": ["/figtest_db_1"]
     },
                                   has_been_inspected=True)
     self.assertEqual(container.name_without_project, "db_1")
コード例 #7
0
ファイル: container_test.py プロジェクト: tristanz/fig
    def test_get_local_port(self):
        self.container_dict['NetworkSettings']['Ports'].update({
            "45454/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "49197" } ],
        })
        container = Container(None, self.container_dict, has_been_inspected=True)

        self.assertEqual(
            container.get_local_port(45454, protocol='tcp'),
            '0.0.0.0:49197')
コード例 #8
0
ファイル: container_test.py プロジェクト: salehe/fig
    def test_inspect_if_not_inspected(self):
        mock_client = mock.create_autospec(docker.Client)
        container = Container(mock_client, dict(Id="the_id"))

        container.inspect_if_not_inspected()
        mock_client.inspect_container.assert_called_once_with("the_id")
        self.assertEqual(container.dictionary,
                         mock_client.inspect_container.return_value)
        self.assertTrue(container.has_been_inspected)

        container.inspect_if_not_inspected()
        self.assertEqual(mock_client.inspect_container.call_count, 1)
コード例 #9
0
ファイル: container_test.py プロジェクト: BlueNestBox/fig
 def test_number(self):
     container = Container.from_ps(None, {
         "Id":"abc",
         "Image":"busybox:latest",
         "Command":"sleep 300",
         "Created":1387384730,
         "Status":"Up 8 seconds",
         "Ports":None,
         "SizeRw":0,
         "SizeRootFs":0,
         "Names":["/figtest_db_1"]
     }, has_been_inspected=True)
     self.assertEqual(container.number, 1)
コード例 #10
0
ファイル: service_test.py プロジェクト: tristanz/fig
 def test_create_container_with_volumes_from(self):
     volume_service = self.create_service('data')
     volume_container_1 = volume_service.create_container()
     volume_container_2 = Container.create(self.client,
                                           image='busybox:latest',
                                           command=["/bin/sleep", "300"])
     host_service = self.create_service(
         'host', volumes_from=[volume_service, volume_container_2])
     host_container = host_service.create_container()
     host_service.start_container(host_container)
     self.assertIn(volume_container_1.id,
                   host_container.inspect()['HostConfig']['VolumesFrom'])
     self.assertIn(volume_container_2.id,
                   host_container.inspect()['HostConfig']['VolumesFrom'])
コード例 #11
0
ファイル: container_test.py プロジェクト: shaohua/fig
 def test_number(self):
     container = Container.from_ps(self.client, {
         "Id": "abc",
         "Image": "ubuntu:12.04",
         "Command": "sleep 300",
         "Created": 1387384730,
         "Status": "Up 8 seconds",
         "Ports": None,
         "SizeRw": 0,
         "SizeRootFs": 0,
         "Names": ["/db_1"]
     },
                                   has_been_inspected=True)
     self.assertEqual(container.number, 1)
コード例 #12
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_environment(self):
     container = Container(None, {
         'Id': 'abc',
         'Config': {
             'Env': [
                 'FOO=BAR',
                 'BAZ=DOGE',
             ]
         }
     }, has_been_inspected=True)
     self.assertEqual(container.environment, {
         'FOO': 'BAR',
         'BAZ': 'DOGE',
     })
コード例 #13
0
ファイル: project.py プロジェクト: rail44/karakuri
 def get_config(self):
     tmp_container = Container.create(self.client, image=self.image_name, command='true')
     try:
         res = self.client.copy(tmp_container.name, '/karakuri.yml')
     except APIError:
         work_dir = tmp_container.inspect()['Config']['WorkingDir']
         res = self.client.copy(tmp_container.name, '{0}/karakuri.yml'.format(work_dir))
     tmp_container.remove()
     io = BytesIO()
     io.write(res.data)
     io.seek(0)
     tar = tarfile.open(mode='r:', fileobj=io)
     config_str = tar.extractfile('karakuri.yml').read()
     config_str = Template(config_str).substitute(TAG=self.tag)
     return yaml.load(config_str)
コード例 #14
0
ファイル: container_test.py プロジェクト: zdexter/fig
    def test_get(self):
        container = Container(None, {
            "Status": "Up 8 seconds",
            "HostConfig": {
                "VolumesFrom": [
                    "volume_id",
                ]
            },
        },
                              has_been_inspected=True)

        self.assertEqual(container.get('Status'), "Up 8 seconds")
        self.assertEqual(container.get('HostConfig.VolumesFrom'), [
            "volume_id",
        ])
        self.assertEqual(container.get('Foo.Bar.DoesNotExist'), None)
コード例 #15
0
ファイル: container_test.py プロジェクト: EnTeQuAk/fig
 def test_from_ps(self):
     container = Container.from_ps(self.client, {
         "Id":"abc",
         "Image":"ubuntu:12.04",
         "Command":"sleep 300",
         "Created":1387384730,
         "Status":"Up 8 seconds",
         "Ports":None,
         "SizeRw":0,
         "SizeRootFs":0,
         "Names":["/db_1"]
     }, has_been_inspected=True)
     self.assertEqual(container.dictionary, {
         "ID": "abc",
         "Image":"ubuntu:12.04",
         "Name": "/db_1",
     })
コード例 #16
0
ファイル: container_test.py プロジェクト: salehe/fig
 def test_from_ps(self):
     container = Container.from_ps(None, {
         "Id": "abc",
         "Image": "busybox:latest",
         "Command": "sleep 300",
         "Created": 1387384730,
         "Status": "Up 8 seconds",
         "Ports": None,
         "SizeRw": 0,
         "SizeRootFs": 0,
         "Names": ["/figtest_db_1"]
     },
                                   has_been_inspected=True)
     self.assertEqual(container.dictionary, {
         "Id": "abc",
         "Image": "busybox:latest",
         "Name": "/figtest_db_1",
     })
コード例 #17
0
ファイル: project_test.py プロジェクト: tristanz/fig
 def test_volumes_from_container(self):
     data_container = Container.create(
         self.client,
         image='busybox:latest',
         volumes=['/var/data'],
         name='figtest_data_container',
     )
     project = Project.from_config(
         name='figtest',
         config={
             'db': {
                 'image': 'busybox:latest',
                 'volumes_from': ['figtest_data_container'],
             },
         },
         client=self.client,
     )
     db = project.get_service('db')
     self.assertEqual(db.volumes_from, [data_container])
コード例 #18
0
ファイル: project_test.py プロジェクト: APSL/fig
 def test_volumes_from_container(self):
     data_container = Container.create(
         self.client,
         image='busybox:latest',
         volumes=['/var/data'],
         name='figtest_data_container',
     )
     project = Project.from_config(
         name='figtest',
         config={
             'db': {
                 'image': 'busybox:latest',
                 'volumes_from': ['figtest_data_container'],
             },
         },
         client=self.client,
     )
     db = project.get_service('db')
     self.assertEqual(db.volumes_from, [data_container])
コード例 #19
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_number(self):
     container = Container.from_ps(None,
                                   self.container_dict,
                                   has_been_inspected=True)
     self.assertEqual(container.number, 1)
コード例 #20
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_name(self):
     container = Container.from_ps(None,
                                   self.container_dict,
                                   has_been_inspected=True)
     self.assertEqual(container.name, "figtest_db_1")
コード例 #21
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_name_without_project(self):
     container = Container.from_ps(None,
                                   self.container_dict,
                                   has_been_inspected=True)
     self.assertEqual(container.name_without_project, "db_1")
コード例 #22
0
ファイル: container_test.py プロジェクト: tristanz/fig
 def test_human_readable_ports_none(self):
     container = Container(None, self.container_dict, has_been_inspected=True)
     self.assertEqual(container.human_readable_ports, '')