self.backup_rpcapi.delete_backup(context, backup)
def get_all(self, context, search_opts=None):
- if search_opts is None:
- search_opts = {}
check_policy(context, 'get_all')
- if context.is_admin:
+ search_opts = search_opts or {}
+
+ if (context.is_admin and 'all_tenants' in search_opts):
+ # Need to remove all_tenants to pass the filtering below.
+ search_opts.pop('all_tenants', None)
backups = objects.BackupList.get_all(context, filters=search_opts)
else:
backups = objects.BackupList.get_all_by_project(
fake_volume_obj.id)
self.assertEqual(1, len(backups))
TestBackup._compare(self, fake_backup, backups[0])
+
+ @mock.patch('cinder.db.backup_get_all', return_value=[fake_backup])
+ def test_get_all_tenants(self, backup_get_all):
+ search_opts = {'all_tenants': 1}
+ backups = objects.BackupList.get_all(self.context, search_opts)
+ self.assertEqual(1, len(backups))
+ TestBackup._compare(self, fake_backup, backups[0])