def test_no_known_registries(): def execute_module(module_name=None, *_): if module_name == "command": return { 'failed': True, } return { 'changed': False, } def mock_known_docker_registries(): return [] dia = DockerImageAvailability( execute_module, task_vars=dict( openshift=dict(common=dict( service_type='origin', is_containerized=False, is_atomic=False, )), openshift_docker_additional_registries=["docker.io"], openshift_deployment_type="openshift-enterprise", openshift_image_tag='latest', group_names=['nodes', 'masters'], )) dia.known_docker_registries = mock_known_docker_registries actual = dia.run() assert actual['failed'] assert "Unable to retrieve any docker registries." in actual['msg']
def test_all_images_unavailable(): def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None): if module_name == "command": return { 'failed': True, } return { 'changed': False, } check = DockerImageAvailability(execute_module=execute_module) actual = check.run( tmp=None, task_vars=dict(openshift=dict( common=dict( service_type='origin', is_containerized=False, is_atomic=False, ), docker=dict(additional_registries=["docker.io"]), ), openshift_deployment_type="openshift-enterprise", openshift_release=None, openshift_image_tag='latest')) assert actual['failed'] assert "required Docker images are not available" in actual['msg']
def test_all_images_unavailable(): def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None): if module_name == "command": return { 'failed': True, } return { 'changed': False, } check = DockerImageAvailability(execute_module=execute_module) actual = check.run(tmp=None, task_vars=dict( openshift=dict( common=dict( service_type='origin', is_containerized=False, is_atomic=False, ), docker=dict(additional_registries=["docker.io"]), ), openshift_deployment_type="openshift-enterprise", openshift_image_tag='latest', group_names=['nodes', 'masters'], )) assert actual['failed'] assert "required Docker images are not available" in actual['msg']
def test_no_known_registries(): def execute_module(module_name=None, *_): if module_name == "command": return { 'failed': True, } return { 'changed': False, } def mock_known_docker_registries(): return [] dia = DockerImageAvailability(execute_module, task_vars=dict( openshift=dict( common=dict( service_type='origin', is_containerized=False, is_atomic=False, ), docker=dict(additional_registries=["docker.io"]), ), openshift_deployment_type="openshift-enterprise", openshift_image_tag='latest', group_names=['nodes', 'masters'], )) dia.known_docker_registries = mock_known_docker_registries actual = dia.run() assert actual['failed'] assert "Unable to retrieve any docker registries." in actual['msg']
def test_docker_image_availability(task_vars, expected_result): def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None): return {'info': {}} # TODO: this will vary depending on input parameters. check = DockerImageAvailability(execute_module=execute_module) result = check.run(tmp=None, task_vars=task_vars) assert result == expected_result
def test_docker_image_availability(task_vars, expected_result): def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None): return { 'info': {} } # TODO: this will vary depending on input parameters. check = DockerImageAvailability(execute_module=execute_module) result = check.run(tmp=None, task_vars=task_vars) assert result == expected_result
def test_all_images_available_remotely(task_vars, available_locally): def execute_module(module_name, *_): if module_name == 'docker_image_facts': return {'images': [], 'failed': available_locally} return {} task_vars['openshift_docker_additional_registries'] = ["docker.io", "registry.access.redhat.com"] task_vars['openshift_image_tag'] = 'v3.4' check = DockerImageAvailability(execute_module, task_vars) check._module_retry_interval = 0 result = check.run() assert not result.get('failed', False)
def test_all_images_unavailable(task_vars): def execute_module(module_name=None, *args): if module_name == "wait_for": return {} elif module_name == "command": return {'failed': True} return {} # docker_image_facts failure task_vars['openshift_docker_additional_registries'] = ["docker.io"] task_vars['openshift_deployment_type'] = "openshift-enterprise" task_vars['openshift_image_tag'] = 'latest' check = DockerImageAvailability(execute_module, task_vars) check._module_retry_interval = 0 actual = check.run() assert actual['failed'] assert "required container images are not available" in actual['msg']
def test_skopeo_update_failure(task_vars, message, extra_words): def execute_module(module_name=None, *_): if module_name == "yum": return { "failed": True, "msg": message, } return {} task_vars['openshift_docker_additional_registries'] = ["unknown.io"] task_vars['openshift_deployment_type'] = "openshift-enterprise" check = DockerImageAvailability(execute_module, task_vars) check._module_retry_interval = 0 actual = check.run() assert actual["failed"] for word in extra_words: assert word in actual["msg"]