summaryrefslogtreecommitdiffstats
path: root/tests/functional/heketi/test_block_volumes_heketi.py
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2019-03-06 16:15:25 +0530
committerValerii Ponomarov <vponomar@redhat.com>2019-03-06 16:28:52 +0530
commit3de9a4ea9623cd3a928ce30cbae3364beeac5edb (patch)
tree1746204da26e4648d20b656b2421ef42c78044a4 /tests/functional/heketi/test_block_volumes_heketi.py
parent3d4ab96edfa54ec7f2dd9682d1ee3e3077dfa79c (diff)
Reorder test files removing redundant dirs
Move all the files of 'tests/functional/common/' dir to the 'tests/functional/', because 'common' is the only dir there, which doesn't really makes sense. Do the same about 'tests/functional/common/heketi/heketi_tests' and 'tests/functional/common/heketi/'. Change-Id: I1fa55e2e7bf09e9b9115629b06e1fd160e291a36
Diffstat (limited to 'tests/functional/heketi/test_block_volumes_heketi.py')
-rw-r--r--tests/functional/heketi/test_block_volumes_heketi.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/functional/heketi/test_block_volumes_heketi.py b/tests/functional/heketi/test_block_volumes_heketi.py
new file mode 100644
index 00000000..b75f58ac
--- /dev/null
+++ b/tests/functional/heketi/test_block_volumes_heketi.py
@@ -0,0 +1,88 @@
+
+from cnslibs.common.heketi_ops import (heketi_blockvolume_create,
+ heketi_blockvolume_delete,
+ heketi_blockvolume_list,
+ heketi_volume_create,
+ heketi_volume_delete
+ )
+from cnslibs.common.baseclass import BaseClass
+
+
+class TestBlockVolumeOps(BaseClass):
+ """Class to test heketi block volume deletion with and without block
+ volumes existing, heketi block volume list, heketi block volume info
+ and heketi block volume creation with name and block volumes creation
+ after manually creating a Block Hosting volume.
+ """
+
+ def test_create_block_vol_after_host_vol_creation(self):
+ """Validate block-device after manual block hosting volume creation
+ using heketi
+ """
+ block_host_create_info = heketi_volume_create(
+ self.heketi_client_node, self.heketi_server_url, 5,
+ json=True, block=True)
+ self.addCleanup(
+ heketi_volume_delete, self.heketi_client_node,
+ self.heketi_server_url, block_host_create_info["id"])
+
+ block_vol = heketi_blockvolume_create(
+ self.heketi_client_node, self.heketi_server_url, 1, json=True)
+ self.addCleanup(
+ heketi_blockvolume_delete, self.heketi_client_node,
+ self.heketi_server_url, block_vol["id"])
+
+ def test_block_host_volume_delete_without_block_volumes(self):
+ """Validate deletion of empty block hosting volume"""
+ block_host_create_info = heketi_volume_create(
+ self.heketi_client_node, self.heketi_server_url, 1, json=True,
+ block=True)
+
+ block_hosting_vol_id = block_host_create_info["id"]
+ self.addCleanup(
+ heketi_volume_delete, self.heketi_client_node,
+ self.heketi_server_url, block_hosting_vol_id, raise_on_error=False)
+
+ heketi_volume_delete(
+ self.heketi_client_node, self.heketi_server_url,
+ block_hosting_vol_id, json=True)
+
+ def test_block_volume_delete(self):
+ """Validate deletion of gluster-block volume and capacity of used pool
+ """
+ block_vol = heketi_blockvolume_create(
+ self.heketi_client_node, self.heketi_server_url, 1, json=True)
+ self.addCleanup(
+ heketi_blockvolume_delete, self.heketi_client_node,
+ self.heketi_server_url, block_vol["id"], raise_on_error=False)
+
+ heketi_blockvolume_delete(
+ self.heketi_client_node, self.heketi_server_url,
+ block_vol["id"], json=True)
+
+ volume_list = heketi_blockvolume_list(
+ self.heketi_client_node, self.heketi_server_url, json=True)
+ self.assertNotIn(block_vol["id"], volume_list["blockvolumes"],
+ "The block volume has not been successfully deleted,"
+ " ID is %s" % block_vol["id"])
+
+ def test_block_volume_list(self):
+ """Validate heketi blockvolume list command works as expected"""
+ created_vol_ids = []
+ for count in range(3):
+ block_vol = heketi_blockvolume_create(
+ self.heketi_client_node, self.heketi_server_url, 1, json=True)
+ self.addCleanup(
+ heketi_blockvolume_delete, self.heketi_client_node,
+ self.heketi_server_url, block_vol["id"])
+
+ created_vol_ids.append(block_vol["id"])
+
+ volumes = heketi_blockvolume_list(
+ self.heketi_client_node, self.heketi_server_url, json=True)
+
+ existing_vol_ids = volumes.values()[0]
+ for vol_id in created_vol_ids:
+ self.assertIn(vol_id, existing_vol_ids,
+ "Block vol with '%s' ID is absent in the "
+ "list of block volumes." % vol_id)