Volume backup details API test
This patch adds volume_backup_details vlolume API Test.
It also changes assertEqual() function to correct one, where
first parameter will be expected and other is actual.
Change-Id: I579cc5c913f4744e69cbd2a0df8eb2f198bb7a8b
diff --git a/tempest/api/volume/admin/test_volumes_backup.py b/tempest/api/volume/admin/test_volumes_backup.py
index 9af4011..cd6d7a8 100644
--- a/tempest/api/volume/admin/test_volumes_backup.py
+++ b/tempest/api/volume/admin/test_volumes_backup.py
@@ -38,7 +38,8 @@
cls.volume = cls.create_volume()
@test.attr(type='smoke')
- def test_volume_backup_create_get_restore_delete(self):
+ def test_volume_backup_create_get_detailed_list_restore_delete(self):
+ # Create backup
backup_name = data_utils.rand_name('Backup')
create_backup = self.backups_adm_client.create_backup
resp, backup = create_backup(self.volume['id'],
@@ -46,21 +47,31 @@
self.assertEqual(202, resp.status)
self.addCleanup(self.backups_adm_client.delete_backup,
backup['id'])
- self.assertEqual(backup['name'], backup_name)
+ self.assertEqual(backup_name, backup['name'])
self.volumes_adm_client.wait_for_volume_status(self.volume['id'],
'available')
self.backups_adm_client.wait_for_backup_status(backup['id'],
'available')
+ # Get a given backup
resp, backup = self.backups_adm_client.get_backup(backup['id'])
self.assertEqual(200, resp.status)
- self.assertEqual(backup['name'], backup_name)
+ self.assertEqual(backup_name, backup['name'])
+ # Get all backups with detail
+ resp, backups = self.backups_adm_client.list_backups_with_detail()
+ self.assertEqual(200, resp.status)
+ self.assertIn((backup['name'], backup['id']),
+ [(m['name'], m['id']) for m in backups])
+
+ # Restore backup
resp, restore = self.backups_adm_client.restore_backup(backup['id'])
self.assertEqual(202, resp.status)
+
+ # Delete backup
self.addCleanup(self.volumes_adm_client.delete_volume,
restore['volume_id'])
- self.assertEqual(restore['backup_id'], backup['id'])
+ self.assertEqual(backup['id'], restore['backup_id'])
self.backups_adm_client.wait_for_backup_status(backup['id'],
'available')
self.volumes_adm_client.wait_for_volume_status(restore['volume_id'],
diff --git a/tempest/services/volume/json/backups_client.py b/tempest/services/volume/json/backups_client.py
index baaf5a0..183d06b 100644
--- a/tempest/services/volume/json/backups_client.py
+++ b/tempest/services/volume/json/backups_client.py
@@ -69,6 +69,13 @@
body = json.loads(body)
return resp, body['backup']
+ def list_backups_with_detail(self):
+ """Information for all the tenant's backups."""
+ url = "backups/detail"
+ resp, body = self.get(url)
+ body = json.loads(body)
+ return resp, body['backups']
+
def wait_for_backup_status(self, backup_id, status):
"""Waits for a Backup to reach a given status."""
resp, body = self.get_backup(backup_id)