From 8dd2df0d75b6241da28ee24904ea00b718566360 Mon Sep 17 00:00:00 2001 From: Nitin Goyal Date: Thu, 12 Sep 2019 13:01:50 +0530 Subject: Add TC missing parameters in SC Add new TC missing parameters for file storage class and verify PVC pending state. Change-Id: Ibd8f418934da261058adb4127e60f85465a5ef75 --- .../provisioning/test_storage_class_cases.py | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'tests') diff --git a/tests/functional/provisioning/test_storage_class_cases.py b/tests/functional/provisioning/test_storage_class_cases.py index 655565cc..009504c7 100644 --- a/tests/functional/provisioning/test_storage_class_cases.py +++ b/tests/functional/provisioning/test_storage_class_cases.py @@ -24,6 +24,7 @@ from openshiftstoragelibs.openshift_ops import ( oc_get_custom_resource, oc_get_pods, scale_dc_pod_amount_and_wait, + verify_pvc_status_is_bound, wait_for_events, wait_for_pod_be_ready, wait_for_resource_absence, @@ -353,3 +354,32 @@ class TestStorageClassCases(BaseClass): self.create_and_wait_for_pvc(sc_name=sc_name) with self.assertRaises(AssertionError): self.create_storage_class(sc_name=sc_name) + + @ddt.data('secretName', 'secretNamespace', None) + def test_sc_glusterfile_missing_parameter(self, parameter): + """Validate glusterfile storage with missing parameters""" + node, sc = self.ocp_master_node[0], self.sc + secret_name = self.create_secret() + + parameters = {'resturl': sc['resturl'], 'restuser': sc['restuser']} + if parameter == 'secretName': + parameters['secretName'] = secret_name + elif parameter == 'secretNamespace': + parameters['secretNamespace'] = sc['secretnamespace'] + + sc_name = oc_create_sc(node, **parameters) + self.addCleanup(oc_delete, node, 'sc', sc_name) + + # Create PVC + pvc_name = oc_create_pvc(node, sc_name) + self.addCleanup(wait_for_resource_absence, node, 'pvc', pvc_name) + self.addCleanup(oc_delete, node, 'pvc', pvc_name) + + # Wait for event with error + wait_for_events( + node, obj_name=pvc_name, obj_type='PersistentVolumeClaim', + event_reason='ProvisioningFailed') + + # Verify PVC did not get bound + with self.assertRaises(AssertionError): + verify_pvc_status_is_bound(node, pvc_name, timeout=1) -- cgit