本文整理汇总了Python中tests.docker_mock.mock_docker函数的典型用法代码示例。如果您正苦于以下问题:Python mock_docker函数的具体用法?Python mock_docker怎么用?Python mock_docker使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mock_docker函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_privileged_build
def test_privileged_build(caplog, source_params):
if MOCK:
mock_docker()
image_name = ImageName(repo=TEST_IMAGE)
remote_image = image_name.copy()
remote_image.registry = LOCALHOST_REGISTRY
m = PrivilegedBuildManager("buildroot-fedora", {
"source": source_params,
"image": remote_image.to_str(),
"parent_registry": LOCALHOST_REGISTRY, # faster
"target_registries_insecure": True,
"parent_registry_insecure": True,
})
results = m.build()
dt = DockerTasker()
dt.pull_image(remote_image, insecure=True)
if source_params['provider'] == 'path':
assert_source_from_path_mounted_ok(caplog, m.temp_dir)
assert len(results.build_logs) > 0
# assert isinstance(results.built_img_inspect, dict)
# assert len(results.built_img_inspect.items()) > 0
# assert isinstance(results.built_img_info, dict)
# assert len(results.built_img_info.items()) > 0
# assert isinstance(results.base_img_info, dict)
# assert len(results.base_img_info.items()) > 0
# assert len(results.base_plugins_output) > 0
# assert len(results.built_img_plugins_output) > 0
dt.remove_container(results.container_id)
dt.remove_image(remote_image)
开发者ID:pbabinca,项目名称:dock,代码行数:32,代码来源:test_dock.py
示例2: test_add_labels_plugin_generated
def test_add_labels_plugin_generated(tmpdir, docker_tasker, auto_label, value_re_part):
df = df_parser(str(tmpdir))
df.content = DF_CONTENT
if MOCK:
mock_docker()
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image')
setattr(workflow, 'builder', X)
flexmock(workflow, source=MockSource())
flexmock(workflow, base_image_inspect=LABELS_CONF_BASE)
setattr(workflow.builder, 'df_path', df.dockerfile_path)
runner = PreBuildPluginsRunner(
docker_tasker,
workflow,
[{
'name': AddLabelsPlugin.key,
'args': {'labels': {}, "dont_overwrite": [], "auto_labels": [auto_label],
'aliases': {'Build_Host': 'com.redhat.build-host'}}
}]
)
runner.run()
if value_re_part:
assert re.match(value_re_part, df.labels[auto_label])
if auto_label == "build-date":
utc_dt = datetime.datetime.utcfromtimestamp(atomic_reactor_start_time).isoformat()
assert df.labels[auto_label] == utc_dt
开发者ID:vrutkovs,项目名称:atomic-reactor,代码行数:30,代码来源:test_add_labels.py
示例3: prepare
def prepare(self, key, value, set_labels_args=None, set_labels_kwargs=None):
if MOCK:
mock_docker()
tasker = DockerTasker()
workflow = DockerBuildWorkflow(SOURCE, "test-image")
setattr(workflow, 'builder', X())
setattr(workflow.builder, 'image_id', 'asd123')
setattr(workflow.builder, 'base_image', ImageName(repo='Fedora',
tag='22'))
setattr(workflow.builder, 'source', X())
setattr(workflow.builder.source, 'path', '/tmp')
setattr(workflow.builder.source, 'dockerfile_path', None)
expectation = (flexmock(OSBS)
.should_receive('set_labels_on_build_config'))
if set_labels_args is not None:
if set_labels_kwargs is None:
set_labels_kwargs = {}
expectation.with_args(*set_labels_args, **set_labels_kwargs)
runner = PreBuildPluginsRunner(tasker, workflow, [
{
'name': CheckAndSetRebuildPlugin.key,
'args': {
'label_key': key,
'label_value': value,
'url': '',
},
}
])
return workflow, runner
开发者ID:Akasurde,项目名称:atomic-reactor,代码行数:31,代码来源:test_check_and_set_rebuild.py
示例4: test_get_image_info_by_name_tag_in_name_nonexisten
def test_get_image_info_by_name_tag_in_name_nonexisten(temp_image_name):
if MOCK:
mock_docker()
t = DockerTasker()
response = t.get_image_info_by_image_name(temp_image_name)
assert len(response) == 0
开发者ID:pbabinca,项目名称:dock,代码行数:7,代码来源:test_tasker.py
示例5: test_add_labels_plugin
def test_add_labels_plugin(tmpdir, docker_tasker,
df_content, labels_conf_base, labels_conf, dont_overwrite, aliases,
expected_output, caplog):
df = DockerfileParser(str(tmpdir))
df.content = df_content
if MOCK:
mock_docker()
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image')
setattr(workflow, 'builder', X)
flexmock(workflow, base_image_inspect=labels_conf_base)
setattr(workflow.builder, 'df_path', df.dockerfile_path)
runner = PreBuildPluginsRunner(
docker_tasker,
workflow,
[{
'name': AddLabelsPlugin.key,
'args': {
'labels': labels_conf,
'dont_overwrite': dont_overwrite,
'auto_labels': [],
'aliases': aliases,
}
}]
)
runner.run()
if isinstance(expected_output, RuntimeError):
assert "plugin 'add_labels_in_dockerfile' raised an exception: RuntimeError" in caplog.text()
else:
assert AddLabelsPlugin.key is not None
assert df.content in expected_output
开发者ID:lcarva,项目名称:atomic-reactor,代码行数:35,代码来源:test_add_labels.py
示例6: test_simple_privileged_build
def test_simple_privileged_build(self, is_registry_running, temp_image_name,
source_provider, uri):
if MOCK:
mock_docker()
temp_image = temp_image_name
command = [
"main.py",
"--verbose",
"build",
source_provider,
"--method", "privileged",
"--build-image", PRIV_BUILD_IMAGE,
"--image", temp_image.to_str(),
"--uri", uri,
]
if is_registry_running:
logger.info("registry is running")
command += ["--source-registry", LOCALHOST_REGISTRY]
else:
logger.info("registry is NOT running")
with pytest.raises(SystemExit) as excinfo:
self.exec_cli(command)
assert excinfo.value.code == 0
开发者ID:pbabinca,项目名称:dock,代码行数:25,代码来源:test_cli.py
示例7: test_get_image_info_by_id_nonexistent
def test_get_image_info_by_id_nonexistent():
if MOCK:
mock_docker()
t = DockerTasker()
response = t.get_image_info_by_image_id("asd")
assert response is None
开发者ID:pbabinca,项目名称:dock,代码行数:7,代码来源:test_tasker.py
示例8: prepare
def prepare():
"""
Boiler-plate test set-up
"""
if MOCK:
mock_docker()
tasker = DockerTasker()
workflow = DockerBuildWorkflow(SOURCE, "test-image")
setattr(workflow, 'builder', X())
setattr(workflow.builder, 'image_id', 'asd123')
setattr(workflow.builder, 'source', X())
setattr(workflow.builder.source, 'dockerfile_path', None)
setattr(workflow.builder.source, 'path', None)
fake_conf = osbs.conf.Configuration(conf_file=None, openshift_uri='/')
flexmock(osbs.conf).should_receive('Configuration').and_return(fake_conf)
runner = PostBuildPluginsRunner(tasker, workflow, [{
'name': ImportImagePlugin.key,
'args': {
'imagestream': TEST_IMAGESTREAM,
'docker_image_repo': TEST_REPO,
'url': '',
'verify_ssl': False,
'use_auth': False
}}])
return runner
开发者ID:david-martin,项目名称:atomic-reactor,代码行数:27,代码来源:test_import_image.py
示例9: test_adddockerfile_nvr_from_labels2
def test_adddockerfile_nvr_from_labels2(tmpdir, docker_tasker):
df_content = """
FROM fedora
RUN yum install -y python-django
CMD blabla"""
df = df_parser(str(tmpdir))
df.content = df_content
if MOCK:
mock_docker()
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image')
flexmock(workflow, base_image_inspect={INSPECT_CONFIG: {"Labels": {}}})
workflow.builder = X
workflow.builder.df_path = df.dockerfile_path
workflow.builder.df_dir = str(tmpdir)
runner = PreBuildPluginsRunner(
docker_tasker,
workflow,
[{
'name': AddLabelsPlugin.key,
'args': {'labels': {'Name': 'jboss-eap-6-docker',
'Version': '6.4',
'Release': '77'},
'auto_labels': []}
},
{
'name': AddDockerfilePlugin.key
}]
)
runner.run()
assert AddDockerfilePlugin.key is not None
assert "ADD Dockerfile-jboss-eap-6-docker-6.4-77 /root/buildinfo/Dockerfile-jboss-eap-6-docker-6.4-77" in df.content
开发者ID:maxamillion,项目名称:atomic-reactor,代码行数:35,代码来源:test_add_dockerfile.py
示例10: test_tarball_generation_upstream_repo
def test_tarball_generation_upstream_repo(tmpdir):
if MOCK:
mock_docker()
b = BuildImageBuilder(use_official_reactor_git=True)
tarball_path = b.get_reactor_tarball_path(str(tmpdir))
assert os.path.exists(tarball_path)
assert len(glob(os.path.join(str(tmpdir), 'atomic-reactor-*.tar.gz'))) == 1
开发者ID:projectatomic,项目名称:atomic-reactor,代码行数:7,代码来源:test_buildimage.py
示例11: test_tag_and_push_plugin
def test_tag_and_push_plugin(tmpdir):
if MOCK:
mock_docker()
tasker = DockerTasker()
workflow = DockerBuildWorkflow("asd", "test-image")
setattr(workflow, 'builder', X)
runner = PostBuildPluginsRunner(
tasker,
workflow,
[{
'name': TagAndPushPlugin.key,
'args': {
"mapping": {
LOCALHOST_REGISTRY: {
"insecure": True,
"image_names": [
TEST_IMAGE
]
}
}
}
}]
)
output = runner.run()
image = output[TagAndPushPlugin.key][0]
tasker.remove_image(image)
开发者ID:goldmann,项目名称:atomic-reactor,代码行数:28,代码来源:test_tag_and_push.py
示例12: test_tarball_generation_local_repo
def test_tarball_generation_local_repo(tmpdir):
if MOCK:
mock_docker()
b = BuildImageBuilder(reactor_local_path=PARENT_DIR)
tarball_path = b.get_reactor_tarball_path(str(tmpdir))
assert os.path.exists(tarball_path)
assert len(glob(os.path.join(str(tmpdir), 'atomic-reactor-*.tar.gz'))) == 1
开发者ID:projectatomic,项目名称:atomic-reactor,代码行数:7,代码来源:test_buildimage.py
示例13: test_pull_base_image_plugin
def test_pull_base_image_plugin(df_base, parent_registry, expected_w_reg, expected_wo_reg):
if MOCK:
mock_docker(remember_images=True)
tasker = DockerTasker()
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image')
workflow.builder = MockBuilder()
workflow.builder.base_image = ImageName.parse(df_base)
assert not tasker.image_exists(BASE_IMAGE)
assert not tasker.image_exists(BASE_IMAGE_W_REGISTRY)
runner = PreBuildPluginsRunner(
tasker,
workflow,
[{
'name': PullBaseImagePlugin.key,
'args': {'parent_registry': parent_registry, 'parent_registry_insecure': True}
}]
)
runner.run()
assert tasker.image_exists(BASE_IMAGE) == expected_wo_reg
assert tasker.image_exists(BASE_IMAGE_W_REGISTRY) == expected_w_reg
try:
tasker.remove_image(BASE_IMAGE)
tasker.remove_image(BASE_IMAGE_W_REGISTRY)
except:
pass
开发者ID:Akasurde,项目名称:atomic-reactor,代码行数:31,代码来源:test_pull_base_image.py
示例14: test_hostdocker_build
def test_hostdocker_build(caplog, source_params):
if MOCK:
mock_docker()
image_name = ImageName(repo="dock-test-ssh-image")
remote_image = image_name.copy()
remote_image.registry = LOCALHOST_REGISTRY
m = DockerhostBuildManager("buildroot-dh-fedora", {
"source": source_params,
"image": remote_image.to_str(),
"parent_registry": LOCALHOST_REGISTRY, # faster
"target_registries_insecure": True,
"parent_registry_insecure": True,
})
results = m.build()
dt = DockerTasker()
dt.pull_image(remote_image, insecure=True)
if source_params['provider'] == 'path':
assert_source_from_path_mounted_ok(caplog, m.temp_dir)
assert len(results.build_logs) > 0
#assert re.search(r'build json mounted in container .+"uri": %s' %
# os.path.join(dconstants.CONTAINER_SHARE_PATH, 'source'))
# assert isinstance(results.built_img_inspect, dict)
# assert len(results.built_img_inspect.items()) > 0
# assert isinstance(results.built_img_info, dict)
# assert len(results.built_img_info.items()) > 0
# assert isinstance(results.base_img_info, dict)
# assert len(results.base_img_info.items()) > 0
# assert len(results.base_plugins_output) > 0
# assert len(results.built_img_plugins_output) > 0
dt.remove_container(results.container_id)
dt.remove_image(remote_image)
开发者ID:pbabinca,项目名称:dock,代码行数:34,代码来源:test_dock.py
示例15: test_get_version
def test_get_version():
if MOCK:
mock_docker()
t = DockerTasker()
response = t.get_info()
assert isinstance(response, dict)
开发者ID:david-martin,项目名称:atomic-reactor,代码行数:7,代码来源:test_tasker.py
示例16: test_workflow_compat
def test_workflow_compat(request):
"""
Some of our plugins have changed from being run post-build to
being run at exit. Let's test what happens when we try running an
exit plugin as a post-build plugin.
"""
this_file = inspect.getfile(PreWatched)
mock_docker()
fake_builder = MockInsideBuilder()
flexmock(InsideBuilder).new_instances(fake_builder)
watch_exit = Watcher()
fake_logger = FakeLogger()
existing_logger = atomic_reactor.plugin.logger
def restore_logger():
atomic_reactor.plugin.logger = existing_logger
request.addfinalizer(restore_logger)
atomic_reactor.plugin.logger = fake_logger
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image',
postbuild_plugins=[{'name': 'store_logs_to_file',
'args': {
'watcher': watch_exit
}}],
plugin_files=[this_file])
workflow.build_docker_image()
assert watch_exit.was_called()
assert len(fake_logger.errors) > 0
开发者ID:lcarva,项目名称:atomic-reactor,代码行数:31,代码来源:test_inner.py
示例17: test_building_from_json_source_provider
def test_building_from_json_source_provider(self, is_registry_running, temp_image_name):
if MOCK:
mock_docker()
temp_image = temp_image_name
command = [
"main.py",
"--verbose",
"build",
"json",
"--method", "hostdocker",
"--build-image", DH_BUILD_IMAGE,
os.path.join(FILES, 'example-build.json'),
"--overrides", "image={0}".format(temp_image),
"source.uri={0}".format(DOCKERFILE_OK_PATH)
]
if is_registry_running:
logger.info("registry is running")
command += ["--source-registry", LOCALHOST_REGISTRY]
else:
logger.info("registry is NOT running")
with pytest.raises(SystemExit) as excinfo:
self.exec_cli(command)
assert excinfo.value.code == 0
dt.remove_image(temp_image, noprune=True)
开发者ID:pbabinca,项目名称:dock,代码行数:25,代码来源:test_cli.py
示例18: test_workflow_docker_build_error
def test_workflow_docker_build_error():
"""
This is a test for what happens when the docker build fails.
"""
this_file = inspect.getfile(PreRaises)
mock_docker()
fake_builder = MockInsideBuilder(failed=True)
flexmock(InsideBuilder).new_instances(fake_builder)
watch_prepub = Watcher()
watch_post = Watcher()
watch_exit = Watcher()
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image',
prepublish_plugins=[{'name': 'prepub_watched',
'args': {
'watcher': watch_prepub,
}}],
postbuild_plugins=[{'name': 'post_watched',
'args': {
'watcher': watch_post
}}],
exit_plugins=[{'name': 'exit_watched',
'args': {
'watcher': watch_exit
}}],
plugin_files=[this_file])
assert workflow.build_docker_image().is_failed()
# No subsequent build phases should have run except 'exit'
assert not watch_prepub.was_called()
assert not watch_post.was_called()
assert watch_exit.was_called()
开发者ID:lcarva,项目名称:atomic-reactor,代码行数:34,代码来源:test_inner.py
示例19: test_inspect_image
def test_inspect_image():
if MOCK:
mock_docker()
t = DockerTasker()
inspect_data = t.inspect_image(input_image_name)
assert isinstance(inspect_data, dict)
开发者ID:pbabinca,项目名称:dock,代码行数:7,代码来源:test_tasker.py
示例20: test_workflow_plugin_results
def test_workflow_plugin_results():
"""
Verifies the results of plugins in different phases
are stored properly.
"""
this_file = inspect.getfile(PreRaises)
mock_docker()
fake_builder = MockInsideBuilder()
flexmock(InsideBuilder).new_instances(fake_builder)
prebuild_plugins = [{'name': 'pre_build_value'}]
postbuild_plugins = [{'name': 'post_build_value'}]
prepublish_plugins = [{'name': 'pre_publish_value'}]
exit_plugins = [{'name': 'exit_value'}]
workflow = DockerBuildWorkflow(MOCK_SOURCE, 'test-image',
prebuild_plugins=prebuild_plugins,
prepublish_plugins=prepublish_plugins,
postbuild_plugins=postbuild_plugins,
exit_plugins=exit_plugins,
plugin_files=[this_file])
workflow.build_docker_image()
assert workflow.prebuild_results == {'pre_build_value': 'pre_build_value_result'}
assert workflow.postbuild_results == {'post_build_value': 'post_build_value_result'}
assert workflow.prepub_results == {'pre_publish_value': 'pre_publish_value_result'}
assert workflow.exit_results == {'exit_value': 'exit_value_result'}
开发者ID:lcarva,项目名称:atomic-reactor,代码行数:28,代码来源:test_inner.py
注:本文中的tests.docker_mock.mock_docker函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论