def test_dm_usage(task_vars, driver_status, vg_free, success, expect_msg): check = DockerStorage(None, task_vars) check.get_vg_free = lambda pool: vg_free result = check.check_dm_usage(driver_status) result_success = not result.get("failed") assert result_success is success for msg in expect_msg: assert msg in result["msg"]
def test_overlay_usage(ansible_mounts, threshold, expect_fail, expect_msg): task_vars = non_atomic_task_vars() task_vars["ansible_mounts"] = ansible_mounts if threshold is not None: task_vars["max_overlay_usage_percent"] = threshold check = DockerStorage(None, task_vars) docker_info = dict(DockerRootDir="/var/lib/docker", Driver="overlay") result = check.check_overlay_usage(docker_info) assert expect_fail == bool(result.get("failed")) for msg in expect_msg: assert msg in result["msg"]
def test_vg_free(pool, command_returns, raises, returns): def execute_module(module_name, *_): if module_name != "command": raise ValueError("not expecting module " + module_name) return command_returns check = DockerStorage(execute_module) if raises: with pytest.raises(OpenShiftCheckException) as err: check.get_vg_free(pool) assert raises in str(err.value) else: ret = check.get_vg_free(pool) assert ret == returns
def test_check_storage_driver(docker_info, failed, expect_msg): def execute_module(module_name, *_): if module_name == "yum": return {} if module_name != "docker_info": raise ValueError("not expecting module " + module_name) return docker_info check = DockerStorage(execute_module, non_atomic_task_vars()) check.check_dm_usage = lambda status: dict() # stub out for this test check.check_overlay_usage = lambda info: dict() # stub out for this test result = check.run() if failed: assert result["failed"] else: assert not result.get("failed", False) for word in expect_msg: assert word in result["msg"]
def test_convert_to_bytes_error(string): with pytest.raises(ValueError) as err: DockerStorage._convert_to_bytes(string) assert "Cannot convert" in str(err.value) assert string in str(err.value)
def test_convert_to_bytes_error(string): with pytest.raises(ValueError) as err: DockerStorage.convert_to_bytes(string) assert "Cannot convert" in str(err.value) assert string in str(err.value)
def test_convert_to_bytes(string, expect_bytes): got = DockerStorage.convert_to_bytes(string) assert got == expect_bytes
def test_is_active(is_containerized, group_names, is_active): task_vars = dict( openshift=dict(common=dict(is_containerized=is_containerized)), group_names=group_names, ) assert DockerStorage(None, task_vars).is_active() == is_active
def test_is_active(openshift_is_atomic, group_names, is_active): task_vars = dict( openshift_is_atomic=openshift_is_atomic, group_names=group_names, ) assert DockerStorage(None, task_vars).is_active() == is_active
def test_convert_to_bytes(string, expect_bytes): got = DockerStorage._convert_to_bytes(string) assert got == expect_bytes
def test_is_active(is_containerized, group_names, is_active): task_vars = dict( openshift=dict(common=dict(is_containerized=is_containerized)), group_names=group_names, ) assert DockerStorage.is_active(task_vars=task_vars) == is_active
def test_is_active(group_names, is_active): task_vars = dict(group_names=group_names, ) assert DockerStorage(None, task_vars).is_active() == is_active
def dummy_check(execute_module=None): def dummy_exec(self, status, task_vars): raise Exception("dummy executor called") return DockerStorage(execute_module=execute_module or dummy_exec)