From 8cfdd96ffa1c5b35455751aa8be5a5704d2550da Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Fri, 17 Mar 2017 10:34:57 +0100 Subject: Add unit tests for existing health checks --- roles/openshift_health_checker/test/conftest.py | 5 +++ .../test/openshift_check_test.py | 40 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 roles/openshift_health_checker/test/conftest.py create mode 100644 roles/openshift_health_checker/test/openshift_check_test.py (limited to 'roles/openshift_health_checker/test') diff --git a/roles/openshift_health_checker/test/conftest.py b/roles/openshift_health_checker/test/conftest.py new file mode 100644 index 000000000..bf717ae85 --- /dev/null +++ b/roles/openshift_health_checker/test/conftest.py @@ -0,0 +1,5 @@ +import os +import sys + +# extend sys.path so that tests can import openshift_checks +sys.path.insert(1, os.path.dirname(os.path.dirname(__file__))) diff --git a/roles/openshift_health_checker/test/openshift_check_test.py b/roles/openshift_health_checker/test/openshift_check_test.py new file mode 100644 index 000000000..c4c8cd1c2 --- /dev/null +++ b/roles/openshift_health_checker/test/openshift_check_test.py @@ -0,0 +1,40 @@ +import pytest + +from openshift_checks import get_var, OpenShiftCheckException + + +# Fixtures + + +@pytest.fixture() +def task_vars(): + return dict(foo=42, bar=dict(baz="openshift")) + + +@pytest.fixture(params=[ + ("notfound",), + ("multiple", "keys", "not", "in", "task_vars"), +]) +def missing_keys(request): + return request.param + + +# Tests + + +@pytest.mark.parametrize("keys,expected", [ + (("foo",), 42), + (("bar", "baz"), "openshift"), +]) +def test_get_var_ok(task_vars, keys, expected): + assert get_var(task_vars, *keys) == expected + + +def test_get_var_error(task_vars, missing_keys): + with pytest.raises(OpenShiftCheckException): + get_var(task_vars, *missing_keys) + + +def test_get_var_default(task_vars, missing_keys): + default = object() + assert get_var(task_vars, *missing_keys, default=default) == default -- cgit v1.2.3