summaryrefslogtreecommitdiffstats
path: root/tests/functional/common/provisioning/test_storage_class_cases.py
diff options
context:
space:
mode:
authorApeksha D Khakharia <akhakhar@redhat.com>2018-10-09 16:38:54 +0530
committerApeksha D Khakharia <akhakhar@redhat.com>2018-10-27 12:03:01 +0530
commitf2bb52a1e32deecbbacb020d7603bd52fe723eec (patch)
tree43b4b1afe7c9b579e31849d3b5a4a639503bbd29 /tests/functional/common/provisioning/test_storage_class_cases.py
parentac1e8303a2a0d450527eb32116b714e435ddd750 (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.py101
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)