diff options
author | OpenShift Bot <eparis+openshiftbot@redhat.com> | 2017-06-05 12:53:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-05 12:53:40 -0400 |
commit | 0530383cc184d89b74a6b07c1a11fcab4956e1a0 (patch) | |
tree | efb9df9cfb30fcd78ec5cfb6093399b9dec6963a /roles/openshift_health_checker/test/rpm_version_test.py | |
parent | ef53abf24b5e894c08a9ee2927eb6a2de5449f82 (diff) | |
parent | 9faafd7f080659043865a0218208bba97519cec9 (diff) | |
download | openshift-0530383cc184d89b74a6b07c1a11fcab4956e1a0.tar.gz openshift-0530383cc184d89b74a6b07c1a11fcab4956e1a0.tar.bz2 openshift-0530383cc184d89b74a6b07c1a11fcab4956e1a0.tar.xz openshift-0530383cc184d89b74a6b07c1a11fcab4956e1a0.zip |
Merge pull request #4157 from juanvallejo/jvallejo/add-retroactive-ovs-version-check
Merged by openshift-bot
Diffstat (limited to 'roles/openshift_health_checker/test/rpm_version_test.py')
-rw-r--r-- | roles/openshift_health_checker/test/rpm_version_test.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/roles/openshift_health_checker/test/rpm_version_test.py b/roles/openshift_health_checker/test/rpm_version_test.py new file mode 100644 index 000000000..2f09ef965 --- /dev/null +++ b/roles/openshift_health_checker/test/rpm_version_test.py @@ -0,0 +1,82 @@ +import pytest +import rpm_version + +expected_pkgs = { + "spam": { + "name": "spam", + "version": "3.2.1", + }, + "eggs": { + "name": "eggs", + "version": "3.2.1", + }, +} + + +@pytest.mark.parametrize('pkgs, expect_not_found', [ + ( + {}, + ["spam", "eggs"], # none found + ), + ( + {"spam": ["3.2.1", "4.5.1"]}, + ["eggs"], # completely missing + ), + ( + { + "spam": ["3.2.1", "4.5.1"], + "eggs": ["3.2.1"], + }, + [], # all found + ), +]) +def test_check_pkg_found(pkgs, expect_not_found): + if expect_not_found: + with pytest.raises(rpm_version.RpmVersionException) as e: + rpm_version._check_pkg_versions(pkgs, expected_pkgs) + + assert "not found to be installed" in str(e.value) + assert set(expect_not_found) == set(e.value.problem_pkgs) + else: + rpm_version._check_pkg_versions(pkgs, expected_pkgs) + + +@pytest.mark.parametrize('pkgs, expect_not_found', [ + ( + { + 'spam': ['3.2.1'], + 'eggs': ['3.3.2'], + }, + { + "eggs": { + "required_version": "3.2", + "found_versions": ["3.3"], + } + }, # not the right version + ), + ( + { + 'spam': ['3.1.2', "3.3.2"], + 'eggs': ['3.3.2', "1.2.3"], + }, + { + "eggs": { + "required_version": "3.2", + "found_versions": ["3.3", "1.2"], + }, + "spam": { + "required_version": "3.2", + "found_versions": ["3.1", "3.3"], + } + }, # not the right version + ), +]) +def test_check_pkg_version_found(pkgs, expect_not_found): + if expect_not_found: + with pytest.raises(rpm_version.RpmVersionException) as e: + rpm_version._check_pkg_versions(pkgs, expected_pkgs) + + assert "found to be installed with an incorrect version" in str(e.value) + assert expect_not_found == e.value.problem_pkgs + else: + rpm_version._check_pkg_versions(pkgs, expected_pkgs) |