diff options
author | Apeksha D Khakharia <akhakhar@redhat.com> | 2018-10-09 16:38:54 +0530 |
---|---|---|
committer | Apeksha D Khakharia <akhakhar@redhat.com> | 2018-10-27 12:03:01 +0530 |
commit | f2bb52a1e32deecbbacb020d7603bd52fe723eec (patch) | |
tree | 43b4b1afe7c9b579e31849d3b5a4a639503bbd29 /tests/functional/common/provisioning/test_storage_class_cases.py | |
parent | ac1e8303a2a0d450527eb32116b714e435ddd750 (diff) |
CNS: adding testcases for storage class block
CNS-725, 727, 728
Change-Id: I6fb8858c018f02b06cd6d011cb01939505de6d19
Signed-off-by: Apeksha D Khakharia <akhakhar@redhat.com>
Diffstat (limited to 'tests/functional/common/provisioning/test_storage_class_cases.py')
-rw-r--r-- | tests/functional/common/provisioning/test_storage_class_cases.py | 101 |
1 files changed, 63 insertions, 38 deletions
diff --git a/tests/functional/common/provisioning/test_storage_class_cases.py b/tests/functional/common/provisioning/test_storage_class_cases.py index bb757c30..47d6dd06 100644 --- a/tests/functional/common/provisioning/test_storage_class_cases.py +++ b/tests/functional/common/provisioning/test_storage_class_cases.py @@ -7,7 +7,7 @@ from cnslibs.common.openshift_ops import ( oc_create_sc, oc_create_secret, oc_delete, - verify_pvc_status_is_bound, + wait_for_events, wait_for_resource_absence, ) @@ -15,33 +15,42 @@ from cnslibs.common.openshift_ops import ( @ddt.ddt class TestStorageClassCases(cns_baseclass.CnsBaseClass): - @ddt.data( - {"volumetype": "dist-rep:3"}, - {"resturl": "http://10.0.0.1:8080"}, - {"secretname": "fakesecretname"}, - {"secretnamespace": "fakenamespace"}, - {"restuser": "fakeuser"}, - ) - def test_sc_glusterfile_incorrect_parameter( - self, parameter={}): - # Polarion testcase id- CNS-708,709,713,714,715 - - sc = self.cns_storage_class['storage_class1'] - secret = self.cns_secret['secret1'] - # Create secret file for usage in storage class - self.secret_name = oc_create_secret( - self.ocp_master_node[0], namespace=secret['namespace'], - data_key=self.heketi_cli_key, secret_type=secret['type']) - self.addCleanup( - oc_delete, self.ocp_master_node[0], 'secret', self.secret_name) - - sc_parameter = { - "resturl": sc['resturl'], - "secretnamespace": sc['secretnamespace'], - "secretname": self.secret_name, - "restuser": sc['restuser'], - "volumetype": "replicate:3" - } + def sc_incorrect_parameter(self, vol_type, parameter={}): + if vol_type == "glusterfile": + sc = self.cns_storage_class['storage_class1'] + secret = self.cns_secret['secret1'] + # Create secret file for usage in storage class + self.secret_name = oc_create_secret( + self.ocp_master_node[0], namespace=secret['namespace'], + data_key=self.heketi_cli_key, secret_type=secret['type']) + self.addCleanup( + oc_delete, self.ocp_master_node[0], 'secret', self.secret_name) + sc_parameter = { + "secretnamespace": sc['secretnamespace'], + "secretname": self.secret_name, + "volumetype": "replicate:3" + } + elif vol_type == "glusterblock": + sc = self.cns_storage_class['storage_class2'] + secret = self.cns_secret['secret2'] + # Create secret file for usage in storage class + self.secret_name = oc_create_secret( + self.ocp_master_node[0], namespace=secret['namespace'], + data_key=self.heketi_cli_key, secret_type=secret['type']) + self.addCleanup( + oc_delete, self.ocp_master_node[0], 'secret', self.secret_name) + sc_parameter = { + "provisioner": "gluster.org/glusterblock", + "restsecretnamespace": sc['restsecretnamespace'], + "restsecretname": self.secret_name, + "hacount": sc['hacount'] + } + else: + err_msg = "invalid vol_type %s" % vol_type + g.log.error(err_msg) + raise AssertionError(err_msg) + sc_parameter['resturl'] = sc['resturl'] + sc_parameter['restuser'] = sc['restuser'] sc_parameter.update(parameter) # Create storage class @@ -57,13 +66,29 @@ class TestStorageClassCases(cns_baseclass.CnsBaseClass): self.addCleanup(oc_delete, self.ocp_master_node[0], 'pvc', self.pvc_name) - try: - verify_pvc_status_is_bound(self.ocp_master_node[0], self.pvc_name) - except AssertionError: - g.log.info("pvc %s is not in bound state as expected" % ( - self.pvc_name)) - else: - err_msg = ("pvc %s in bound state, was expected to fail" % ( - self.pvc_name)) - g.log.error(err_msg) - raise AssertionError(err_msg) + # Wait for event with error + wait_for_events(self.ocp_master_node[0], + obj_name=self.pvc_name, + obj_type='PersistentVolumeClaim', + event_reason='ProvisioningFailed') + + @ddt.data( + {"volumetype": "dist-rep:3"}, + {"resturl": "http://10.0.0.1:8080"}, + {"secretname": "fakesecretname"}, + {"secretnamespace": "fakenamespace"}, + {"restuser": "fakeuser"}, + ) + def test_sc_glusterfile_incorrect_parameter(self, parameter={}): + """ Polarion testcase id- CNS-708,709,713,714,715 """ + self.sc_incorrect_parameter("glusterfile", parameter) + + @ddt.data( + {"resturl": "http://10.0.0.1:8080"}, + {"restsecretname": "fakerestsecretname", + "restsecretnamespace": "fakerestnamespace"}, + {"restuser": "fakeuser"}, + ) + def test_sc_glusterblock_incorrect_parameter(self, parameter={}): + """ Polarion testcase id- CNS-727,725,728""" + self.sc_incorrect_parameter("glusterblock", parameter) |