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 get_heketi_block_volumes(self):
        """lists heketi block volumes

        Returns:
            list : list of ids of heketi block volumes
        """
        heketi_cmd_out = heketi_blockvolume_list(self.heketi_client_node,
                                                 self.heketi_server_url,
                                                 secret=self.heketi_cli_key,
                                                 user=self.heketi_cli_user)

        self.assertTrue(heketi_cmd_out, "failed to get block volume list")

        heketi_block_volume_ids = []
        heketi_block_volume_names = []
        for block_vol in heketi_cmd_out.split("\n"):
            heketi_vol_match = re.search(
                HEKETI_BLOCK_VOLUME_REGEX % self.prefix, block_vol.strip())
            if heketi_vol_match:
                heketi_block_volume_ids.append(
                    (heketi_vol_match.group(1)).strip())
                heketi_block_volume_names.append(
                    (heketi_vol_match.group(3)).strip())

        return (sorted(heketi_block_volume_ids),
                sorted(heketi_block_volume_names))
 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.assertNotEqual(block_vol, False,
                             "Block volume creation has failed")
         self.addCleanup(self.delete_block_volumes, 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)