本文整理汇总了Python中fig.Service类的典型用法代码示例。如果您正苦于以下问题:Python Service类的具体用法?Python Service怎么用?Python Service使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Service类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_create_container_no_build
def test_create_container_no_build(self):
self.mock_client.images.return_value = []
service = Service('foo', client=self.mock_client, build='.')
service.create_container(do_build=False)
self.assertFalse(self.mock_client.images.called)
self.assertFalse(self.mock_client.build.called)
示例2: test_get_volumes_from_container
def test_get_volumes_from_container(self):
container_id = 'aabbccddee'
service = Service(
'test',
volumes_from=[mock.Mock(id=container_id, spec=Container)])
self.assertEqual(service._get_volumes_from(), [container_id])
示例3: test_build_with_cache
def test_build_with_cache(self):
mock_client = mock.create_autospec(docker.Client)
service = Service(
'buildtest',
client=mock_client,
build='/path',
tags=['foo', 'foo:v2'])
expected = 'abababab'
with mock.patch('fig.service.stream_output') as mock_stream_output:
mock_stream_output.return_value = [
dict(stream='Successfully built %s' % expected)
]
image_id = service.build()
self.assertEqual(image_id, expected)
mock_client.build.assert_called_once_with(
'/path',
tag=service.full_name,
stream=True,
rm=True,
nocache=False)
self.assertEqual(mock_client.tag.mock_calls, [
mock.call(image_id, 'foo', tag=None),
mock.call(image_id, 'foo', tag='v2'),
])
示例4: test_start_container_uses_tagged_image_if_it_exists
def test_start_container_uses_tagged_image_if_it_exists(self):
self.client.build("tests/fixtures/simple-dockerfile", tag="figtest_test")
service = Service(
name="test", client=self.client, build="this/does/not/exist/and/will/throw/error", project="figtest"
)
container = service.start_container()
container.wait()
self.assertIn("success", container.logs())
示例5: test_split_domainname_fqdn
def test_split_domainname_fqdn(self):
service = Service('foo',
hostname='name.domain.tld',
client=self.mock_client)
self.mock_client.containers.return_value = []
opts = service._get_container_create_options({'image': 'foo'})
self.assertEqual(opts['hostname'], 'name', 'hostname')
self.assertEqual(opts['domainname'], 'domain.tld', 'domainname')
示例6: test_create_container_with_build
def test_create_container_with_build(self):
self.mock_client.images.return_value = []
service = Service('foo', client=self.mock_client, build='.')
service.build = mock.create_autospec(service.build)
service.create_container(do_build=True)
self.mock_client.images.assert_called_once_with(name=service.full_name)
service.build.assert_called_once_with()
示例7: test_split_domainname_fqdn
def test_split_domainname_fqdn(self):
service = Service('foo',
hostname = 'name.domain.tld',
)
service.next_container_name = lambda x: 'foo'
opts = service._get_container_create_options({})
self.assertEqual(opts['hostname'], 'name', 'hostname')
self.assertEqual(opts['domainname'], 'domain.tld', 'domainname')
示例8: test_get_container
def test_get_container(self, mock_container_class):
container_dict = dict(Name="default_foo_2")
self.mock_client.containers.return_value = [container_dict]
service = Service("foo", client=self.mock_client)
container = service.get_container(number=2)
self.assertEqual(container, mock_container_class.from_ps.return_value)
mock_container_class.from_ps.assert_called_once_with(self.mock_client, container_dict)
示例9: test_parse_environment
def test_parse_environment(self):
service = Service(
"foo",
environment=["NORMAL=F1", "CONTAINS_EQUALS=F=2", "TRAILING_EQUALS="],
client=self.mock_client,
image="image_name",
)
options = service._get_container_create_options({})
self.assertEqual(options["environment"], {"NORMAL": "F1", "CONTAINS_EQUALS": "F=2", "TRAILING_EQUALS": ""})
示例10: test_env_from_multiple_files
def test_env_from_multiple_files(self):
service = Service(
"foo",
env_file=["tests/fixtures/env/one.env", "tests/fixtures/env/two.env"],
client=self.mock_client,
image="image_name",
)
options = service._get_container_create_options({})
self.assertEqual(options["environment"], {"ONE": "2", "TWO": "1", "THREE": "3", "FOO": "baz", "DOO": "dah"})
示例11: test_get_volumes_from_service_no_container
def test_get_volumes_from_service_no_container(self):
container_id = "abababab"
from_service = mock.create_autospec(Service)
from_service.containers.return_value = []
from_service.create_container.return_value = mock.Mock(id=container_id, spec=Container)
service = Service("test", volumes_from=[from_service])
self.assertEqual(service._get_volumes_from(), [container_id])
from_service.create_container.assert_called_once_with()
示例12: test_get_volumes_from_service_container_exists
def test_get_volumes_from_service_container_exists(self):
container_ids = ["aabbccddee", "12345"]
from_service = mock.create_autospec(Service)
from_service.containers.return_value = [
mock.Mock(id=container_id, spec=Container) for container_id in container_ids
]
service = Service("test", volumes_from=[from_service])
self.assertEqual(service._get_volumes_from(), container_ids)
示例13: test_get_container
def test_get_container(self, mock_container_class):
mock_client = mock.create_autospec(docker.Client)
container_dict = dict(Name='default_foo_2')
mock_client.containers.return_value = [container_dict]
service = Service('foo', client=mock_client)
container = service.get_container(number=2)
self.assertEqual(container, mock_container_class.from_ps.return_value)
mock_container_class.from_ps.assert_called_once_with(
mock_client, container_dict)
示例14: test_start_container_builds_images
def test_start_container_builds_images(self):
service = Service(
name='test',
client=self.client,
build='tests/fixtures/simple-dockerfile',
)
container = service.start_container()
container.wait()
self.assertIn('success', container.logs())
self.assertEqual(len(self.client.images(name='default_test')), 1)
示例15: test_start_container_uses_tagged_image_if_it_exists
def test_start_container_uses_tagged_image_if_it_exists(self):
self.client.build('tests/fixtures/simple-dockerfile', tag='default_test')
service = Service(
name='test',
client=self.client,
build='this/does/not/exist/and/will/throw/error',
)
container = service.start_container()
container.wait()
self.assertIn('success', container.logs())