diff options
| -rw-r--r-- | roles/openshift_health_checker/test/package_availability_test.py | 49 | 
1 files changed, 49 insertions, 0 deletions
diff --git a/roles/openshift_health_checker/test/package_availability_test.py b/roles/openshift_health_checker/test/package_availability_test.py new file mode 100644 index 000000000..25385339a --- /dev/null +++ b/roles/openshift_health_checker/test/package_availability_test.py @@ -0,0 +1,49 @@ +import pytest + +from openshift_checks.package_availability import PackageAvailability + + +@pytest.mark.parametrize('task_vars,must_have_packages,must_not_have_packages', [ +    ( +        dict(openshift=dict(common=dict(service_type='openshift'))), +        set(), +        set(['openshift-master', 'openshift-node']), +    ), +    ( +        dict( +            openshift=dict(common=dict(service_type='origin')), +            group_names=['masters'], +        ), +        set(['origin-master']), +        set(['origin-node']), +    ), +    ( +        dict( +            openshift=dict(common=dict(service_type='atomic-openshift')), +            group_names=['nodes'], +        ), +        set(['atomic-openshift-node']), +        set(['atomic-openshift-master']), +    ), +    ( +        dict( +            openshift=dict(common=dict(service_type='atomic-openshift')), +            group_names=['masters', 'nodes'], +        ), +        set(['atomic-openshift-master', 'atomic-openshift-node']), +        set(), +    ), +]) +def test_package_availability(task_vars, must_have_packages, must_not_have_packages): +    return_value = object() + +    def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None): +        assert module_name == 'check_yum_update' +        assert 'packages' in module_args +        assert set(module_args['packages']).issuperset(must_have_packages) +        assert not set(module_args['packages']).intersection(must_not_have_packages) +        return return_value + +    check = PackageAvailability(execute_module=execute_module) +    result = check.run(tmp=None, task_vars=task_vars) +    assert result is return_value  | 
