diff options
author | juanvallejo <jvallejo@redhat.com> | 2017-04-07 18:37:14 -0400 |
---|---|---|
committer | juanvallejo <jvallejo@redhat.com> | 2017-04-17 13:29:23 -0400 |
commit | 58fdef2696f7f1f0c6f3b5aa404427a2fc5a00f2 (patch) | |
tree | 60271345b7b63bfee9939006952d22f4231290c9 /roles/openshift_health_checker/test/disk_availability_test.py | |
parent | d2955189066364461a846e0e34d344c94b26a16b (diff) | |
download | openshift-58fdef2696f7f1f0c6f3b5aa404427a2fc5a00f2.tar.gz openshift-58fdef2696f7f1f0c6f3b5aa404427a2fc5a00f2.tar.bz2 openshift-58fdef2696f7f1f0c6f3b5aa404427a2fc5a00f2.tar.xz openshift-58fdef2696f7f1f0c6f3b5aa404427a2fc5a00f2.zip |
add disk and memory availability check tests
Diffstat (limited to 'roles/openshift_health_checker/test/disk_availability_test.py')
-rw-r--r-- | roles/openshift_health_checker/test/disk_availability_test.py | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/roles/openshift_health_checker/test/disk_availability_test.py b/roles/openshift_health_checker/test/disk_availability_test.py new file mode 100644 index 000000000..e9d1097a1 --- /dev/null +++ b/roles/openshift_health_checker/test/disk_availability_test.py @@ -0,0 +1,106 @@ +import pytest + +from openshift_checks.disk_availability import DiskAvailability, OpenShiftCheckException + + +def test_exception_raised_on_empty_ansible_mounts(): + with pytest.raises(OpenShiftCheckException) as excinfo: + DiskAvailability(execute_module=NotImplementedError).get_openshift_disk_availability([]) + + assert "existing volume mounts from ansible_mounts" in str(excinfo.value) + + +@pytest.mark.parametrize("group_name,size_available", [ + ( + "masters", + 41110980608, + ), + ( + "nodes", + 21110980608, + ), + ( + "etcd", + 21110980608, + ), +]) +def test_volume_check_with_recommended_diskspace(group_name, size_available): + result = DiskAvailability(execute_module=NotImplementedError).run(tmp=None, task_vars=dict( + openshift=dict(common=dict( + service_type='origin', + is_containerized=False, + )), + group_names=[group_name], + ansible_mounts=[{ + "mount": "/", + "size_available": size_available, + }] + )) + + assert not result['failed'] + assert not result['msg'] + + +@pytest.mark.parametrize("group_name,size_available", [ + ( + "masters", + 21110980608, + ), + ( + "nodes", + 1110980608, + ), + ( + "etcd", + 1110980608, + ), +]) +def test_volume_check_with_insufficient_diskspace(group_name, size_available): + result = DiskAvailability(execute_module=NotImplementedError).run(tmp=None, task_vars=dict( + openshift=dict(common=dict( + service_type='origin', + is_containerized=False, + )), + group_names=[group_name], + ansible_mounts=[{ + "mount": "/", + "size_available": size_available, + }] + )) + + assert result['failed'] + assert "is below recommended storage" in result['msg'] + + +def test_volume_check_with_unsupported_mountpaths(): + result = DiskAvailability(execute_module=NotImplementedError).run(tmp=None, task_vars=dict( + openshift=dict(common=dict( + service_type='origin', + is_containerized=False, + )), + group_names=["masters", "nodes"], + ansible_mounts=[{ + "mount": "/unsupported", + "size_available": 12345, + }] + )) + + assert result['failed'] + assert "0 GB" in result['msg'] + + +def test_volume_check_with_invalid_groupname(): + with pytest.raises(OpenShiftCheckException) as excinfo: + result = DiskAvailability(execute_module=NotImplementedError).run(tmp=None, task_vars=dict( + openshift=dict(common=dict( + service_type='origin', + is_containerized=False, + )), + group_names=["invalid"], + ansible_mounts=[{ + "mount": "/unsupported", + "size_available": 12345, + }] + )) + + assert "'invalid'" in str(excinfo.value) |