Merge "Fix test_limits_rbac not checking for expected response"
diff --git a/patrole_tempest_plugin/tests/api/volume/test_limits_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_limits_rbac.py
index 976d756..78cfd9a 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_limits_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_limits_rbac.py
@@ -15,6 +15,7 @@
 
 from tempest.lib import decorators
 
+from patrole_tempest_plugin import rbac_exceptions
 from patrole_tempest_plugin import rbac_rule_validation
 from patrole_tempest_plugin.tests.api.volume import rbac_base
 
@@ -26,5 +27,20 @@
     @rbac_rule_validation.action(service="cinder",
                                  rule="limits_extension:used_limits")
     def test_show_limits(self):
+        # It is enough to check whether any of the following keys below
+        # are in the response body under ['limits']['absolute'], but no harm
+        # in checking for them all.
+        expected_keys = {
+            'totalVolumesUsed',
+            'totalGigabytesUsed',
+            'totalSnapshotsUsed',
+            'totalBackupsUsed',
+            'totalBackupGigabytesUsed'
+        }
+
         with self.rbac_utils.override_role(self):
-            self.volume_limits_client.show_limits()
+            absolute_limits = self.volume_limits_client.show_limits()[
+                'limits']['absolute']
+        for key in expected_keys:
+            if key not in absolute_limits:
+                raise rbac_exceptions.RbacMalformedResponse(attribute=key)