Merge "Migrate to override_role for network metering_labels tests"
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_namespace_objects_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_namespace_objects_rbac.py
index 74c64e1..3ad5c74 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_namespace_objects_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_namespace_objects_rbac.py
@@ -32,14 +32,14 @@
         RBAC test for the glance add_metadef_object policy
         """
         namespace = self.create_namespace()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
         # create a md object, it will be cleaned automatically after
         # cleanup of namespace
         object_name = data_utils.rand_name(
             self.__class__.__name__ + '-test-object')
-        self.namespace_objects_client.create_namespace_object(
-            namespace['namespace'],
-            name=object_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_objects_client.create_namespace_object(
+                namespace['namespace'],
+                name=object_name)
         self.addCleanup(test_utils.call_and_ignore_notfound_exc,
                         self.namespace_objects_client.delete_namespace_object,
                         namespace['namespace'], object_name)
@@ -53,10 +53,10 @@
         RBAC test for the glance get_metadef_objects policy
         """
         namespace = self.create_namespace()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        # list md objects
-        self.namespace_objects_client.list_namespace_objects(
-            namespace['namespace'])
+        with self.rbac_utils.override_role(self):
+            # list md objects
+            self.namespace_objects_client.list_namespace_objects(
+                namespace['namespace'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="modify_metadef_object")
@@ -77,10 +77,10 @@
                         namespace['namespace'], object_name)
 
         # Toggle role and modify object
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
         new_name = "Object New Name"
-        self.namespace_objects_client.update_namespace_object(
-            namespace['namespace'], object_name, name=new_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_objects_client.update_namespace_object(
+                namespace['namespace'], object_name, name=new_name)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_object")
@@ -100,7 +100,7 @@
                         self.namespace_objects_client.delete_namespace_object,
                         namespace['namespace'], object_name)
         # Toggle role and get object
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_objects_client.show_namespace_object(
-            namespace['namespace'],
-            object_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_objects_client.show_namespace_object(
+                namespace['namespace'],
+                object_name)
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_namespace_property_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_namespace_property_rbac.py
index 93c50c4..75cf66d 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_namespace_property_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_namespace_property_rbac.py
@@ -37,12 +37,12 @@
         RBAC test for the glance add_metadef_property policy
         """
         namespace = self.create_namespace()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
         property_name = data_utils.rand_name(
             self.__class__.__name__ + '-test-ns-property')
-        self.namespace_properties_client.create_namespace_property(
-            namespace=namespace['namespace'], type="string",
-            title=property_name, name=self.resource_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_properties_client.create_namespace_property(
+                namespace=namespace['namespace'], type="string",
+                title=property_name, name=self.resource_name)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_properties")
@@ -53,9 +53,9 @@
         RBAC test for the glance get_metadef_properties policy
         """
         namespace = self.create_namespace()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_properties_client.list_namespace_properties(
-            namespace=namespace['namespace'])
+        with self.rbac_utils.override_role(self):
+            self.namespace_properties_client.list_namespace_properties(
+                namespace=namespace['namespace'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_property")
@@ -72,9 +72,9 @@
             namespace=namespace['namespace'], type="string",
             title=property_name, name=self.resource_name)
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_properties_client.show_namespace_properties(
-            namespace['namespace'], self.resource_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_properties_client.show_namespace_properties(
+                namespace['namespace'], self.resource_name)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="modify_metadef_property")
@@ -91,7 +91,7 @@
             namespace=namespace['namespace'], type="string",
             title=property_name, name=self.resource_name)
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_properties_client.update_namespace_properties(
-            namespace['namespace'], self.resource_name, type="string",
-            title=property_name, name=self.resource_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_properties_client.update_namespace_properties(
+                namespace['namespace'], self.resource_name, type="string",
+                title=property_name, name=self.resource_name)
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
index 701e345..7b03158 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
@@ -43,8 +43,8 @@
 
         RBAC test for the glance list_metadef_resource_type policy.
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.resource_types_client.list_resource_types()
+        with self.rbac_utils.override_role(self):
+            self.resource_types_client.list_resource_types()
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_resource_type")
@@ -54,15 +54,15 @@
 
         RBAC test for the glance get_metadef_resource_type policy.
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.resource_types_client.list_resource_type_association(
-            self.namespace_name)
+        with self.rbac_utils.override_role(self):
+            self.resource_types_client.list_resource_type_association(
+                self.namespace_name)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="add_metadef_resource_type_association")
     @decorators.idempotent_id('ef9fbc60-3e28-4164-a25c-d30d892f7939')
     def test_add_metadef_resource_type(self):
         type_name = data_utils.rand_name()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.resource_types_client.create_resource_type_association(
-            self.namespace_name, name=type_name)
+        with self.rbac_utils.override_role(self):
+            self.resource_types_client.create_resource_type_association(
+                self.namespace_name, name=type_name)
diff --git a/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py b/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py
index 59c4aaf..952c41f 100644
--- a/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py
@@ -46,9 +46,9 @@
         """
         image_id = self.create_image()['id']
         # Toggle role and add image member
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_member_client.create_image_member(image_id,
-                                                     member=self.alt_tenant_id)
+        with self.rbac_utils.override_role(self):
+            self.image_member_client.create_image_member(
+                image_id, member=self.alt_tenant_id)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="delete_member")
@@ -63,9 +63,9 @@
         self.image_member_client.create_image_member(image_id,
                                                      member=self.alt_tenant_id)
         # Toggle role and delete image member
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_member_client.delete_image_member(image_id,
-                                                     self.alt_tenant_id)
+        with self.rbac_utils.override_role(self):
+            self.image_member_client.delete_image_member(image_id,
+                                                         self.alt_tenant_id)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_member",
@@ -83,10 +83,9 @@
             member=self.alt_tenant_id)
 
         # Toggle role and get image member
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_member_client.show_image_member(
-            image_id,
-            self.alt_tenant_id)
+        with self.rbac_utils.override_role(self):
+            self.image_member_client.show_image_member(image_id,
+                                                       self.alt_tenant_id)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="modify_member")
@@ -105,10 +104,10 @@
             image_id, self.tenant_id,
             status='accepted')
         # Toggle role and update member
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_member_client.update_image_member(
-            image_id, self.tenant_id,
-            status='pending')
+        with self.rbac_utils.override_role(self):
+            self.image_member_client.update_image_member(
+                image_id, self.tenant_id,
+                status='pending')
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_members")
@@ -123,5 +122,5 @@
         self.image_member_client.create_image_member(image_id,
                                                      member=self.alt_tenant_id)
         # Toggle role and list image members
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_member_client.list_image_members(image_id)
+        with self.rbac_utils.override_role(self):
+            self.image_member_client.list_image_members(image_id)