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_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_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_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_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
Example #16
0
def test_is_active(group_names, is_active):
    task_vars = dict(group_names=group_names, )
    assert DockerStorage(None, task_vars).is_active() == is_active
Example #17
0
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)