Migrate to override_role for image module (part 2)

Now that override_role has supplanted switch_role (which has
been deprecated) in [0], the RBAC tests need to switch to use
override_role.

This PS switches to override_role for the image module for
remaining files.

[0] I670fba358bf321eae0d22d18cea6d2f530f00716

Partially Implements: blueprint rbac-utils-contextmanager

Change-Id: I971c1a24858a9a505257402ce3bf3cceaf7648b7
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_namespace_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_namespace_rbac.py
index c6bd60e..204263a 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_namespace_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_namespace_rbac.py
@@ -33,10 +33,10 @@
         """
         namespace_name = data_utils.rand_name(
             self.__class__.__name__ + '-test-ns')
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespaces_client.create_namespace(
-            namespace=namespace_name,
-            protected=False)
+        with self.rbac_utils.override_role(self):
+            self.namespaces_client.create_namespace(
+                namespace=namespace_name,
+                protected=False)
         self.addCleanup(
             test_utils.call_and_ignore_notfound_exc,
             self.namespaces_client.delete_namespace,
@@ -50,8 +50,8 @@
 
         RBAC test for the glance get_metadef_namespaces policy
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespaces_client.list_namespaces()
+        with self.rbac_utils.override_role(self):
+            self.namespaces_client.list_namespaces()
 
     @rbac_rule_validation.action(service="glance",
                                  rule="modify_metadef_namespace")
@@ -66,10 +66,9 @@
         body = self.namespaces_client.create_namespace(
             namespace=namespace_name,
             protected=False)
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespaces_client.update_namespace(body['namespace'],
-                                                description="My new "
-                                                            "description")
+        with self.rbac_utils.override_role(self):
+            self.namespaces_client.update_namespace(
+                body['namespace'], description="My new description")
         self.addCleanup(
             test_utils.call_and_ignore_notfound_exc,
             self.namespaces_client.delete_namespace,
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_namespace_tags_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_namespace_tags_rbac.py
index ecf2ec2..1a85b74 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_namespace_tags_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_namespace_tags_rbac.py
@@ -69,16 +69,17 @@
     @rbac_rule_validation.action(service="glance",
                                  rule="add_metadef_tag")
     def test_create_namespace_tag(self):
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._create_namespace_tag()
+        with self.rbac_utils.override_role(self):
+            self._create_namespace_tag()
 
     @decorators.idempotent_id('4acf70cc-05da-4b1e-87b2-d5e4475164e7')
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_tag")
     def test_show_namespace_tag(self):
         tag_name = self._create_namespace_tag()
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_tags_client.show_namespace_tag(self.namespace, tag_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_tags_client.show_namespace_tag(self.namespace,
+                                                          tag_name)
 
     @decorators.idempotent_id('01593828-3edb-461e-8abc-8fdeb3927e37')
     @rbac_rule_validation.action(service="glance",
@@ -88,20 +89,20 @@
         updated_tag_name = data_utils.rand_name(
             self.__class__.__name__ + '-tag')
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_tags_client.update_namespace_tag(
-            self.namespace, tag_name, name=updated_tag_name)
+        with self.rbac_utils.override_role(self):
+            self.namespace_tags_client.update_namespace_tag(
+                self.namespace, tag_name, name=updated_tag_name)
 
     @decorators.idempotent_id('20ffaf76-ebdc-4267-a1ad-194346f5cc91')
     @rbac_rule_validation.action(service="glance",
                                  rule="add_metadef_tags")
     def test_create_namespace_tags(self):
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._create_namespace_tag(multiple=True)
+        with self.rbac_utils.override_role(self):
+            self._create_namespace_tag(multiple=True)
 
     @decorators.idempotent_id('d37c1501-e787-449d-89b3-754a942a459a')
     @rbac_rule_validation.action(service="glance",
                                  rule="get_metadef_tags")
     def test_list_namespace_tags(self):
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.namespace_tags_client.list_namespace_tags(self.namespace)
+        with self.rbac_utils.override_role(self):
+            self.namespace_tags_client.list_namespace_tags(self.namespace)
diff --git a/patrole_tempest_plugin/tests/api/image/test_images_rbac.py b/patrole_tempest_plugin/tests/api/image/test_images_rbac.py
index b08f8bd..e97e803 100644
--- a/patrole_tempest_plugin/tests/api/image/test_images_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_images_rbac.py
@@ -24,13 +24,10 @@
 
 class BasicOperationsImagesRbacTest(rbac_base.BaseV2ImageRbacTest):
 
-    credentials = ['primary', 'admin']
-
     @classmethod
     def setup_clients(cls):
         super(BasicOperationsImagesRbacTest, cls).setup_clients()
         cls.image_client = cls.os_primary.image_client_v2
-        cls.admin_image_client = cls.os_admin.image_client_v2
 
     def _create_image(self, **kwargs):
         image_name = data_utils.rand_name(self.__class__.__name__ + '-Image')
@@ -53,8 +50,8 @@
 
         RBAC test for the glance create_image endpoint
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._create_image()
+        with self.rbac_utils.override_role(self):
+            self._create_image()
 
     @rbac_rule_validation.action(service="glance",
                                  rule="upload_image")
@@ -67,8 +64,8 @@
         """
         image = self._create_image()
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._upload_image(image['id'])
+        with self.rbac_utils.override_role(self):
+            self._upload_image(image['id'])
 
     @decorators.idempotent_id('f0c268f3-cb51-49aa-9bd5-d30cf647322f')
     @rbac_rule_validation.action(service="glance",
@@ -82,8 +79,8 @@
         image = self._create_image()
         self._upload_image(image['id'])
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.show_image_file(image['id'])
+        with self.rbac_utils.override_role(self):
+            self.image_client.show_image_file(image['id'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="delete_image")
@@ -96,9 +93,9 @@
         """
         image = self._create_image()
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.delete_image(image['id'])
-        self.admin_image_client.wait_for_resource_deletion(image['id'])
+        with self.rbac_utils.override_role(self):
+            self.image_client.delete_image(image['id'])
+        self.image_client.wait_for_resource_deletion(image['id'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_image")
@@ -111,8 +108,8 @@
         """
         image = self._create_image()
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.show_image(image['id'])
+        with self.rbac_utils.override_role(self):
+            self.image_client.show_image(image['id'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="get_images")
@@ -123,8 +120,8 @@
 
         RBAC test for the glance list_images endpoint
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.list_images()['images']
+        with self.rbac_utils.override_role(self):
+            self.image_client.list_images()['images']
 
     @rbac_rule_validation.action(service="glance",
                                  rule="modify_image")
@@ -137,11 +134,11 @@
         """
         image = self._create_image()
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
         updated_image_name = data_utils.rand_name(
             self.__class__.__name__ + '-image')
-        self.image_client.update_image(image['id'], [
-            dict(replace='/name', value=updated_image_name)])
+        with self.rbac_utils.override_role(self):
+            self.image_client.update_image(image['id'], [
+                dict(replace='/name', value=updated_image_name)])
 
     @decorators.idempotent_id('244050d9-1b9a-446a-b3c5-f26f3ba8eb75')
     @rbac_rule_validation.action(service="glance",
@@ -154,10 +151,10 @@
         """
         image = self._create_image()
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.add_image_tag(
-            image['id'],
-            data_utils.rand_name(self.__class__.__name__ + '-tag'))
+        with self.rbac_utils.override_role(self):
+            self.image_client.add_image_tag(
+                image['id'],
+                data_utils.rand_name(self.__class__.__name__ + '-tag'))
 
     @decorators.idempotent_id('c4a0bf9c-b78b-48c6-a31f-72c95f943c6e')
     @rbac_rule_validation.action(service="glance",
@@ -172,8 +169,8 @@
         tag_name = data_utils.rand_name(self.__class__.__name__ + '-tag')
         self.image_client.add_image_tag(image['id'], tag_name)
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.delete_image_tag(image['id'], tag_name)
+        with self.rbac_utils.override_role(self):
+            self.image_client.delete_image_tag(image['id'], tag_name)
 
     @rbac_rule_validation.action(service="glance",
                                  rule="publicize_image")
@@ -184,8 +181,8 @@
 
         RBAC test for the glance publicize_image endpoint
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._create_image(visibility='public')
+        with self.rbac_utils.override_role(self):
+            self._create_image(visibility='public')
 
     @decorators.idempotent_id('0f2d8427-134a-4d3c-a102-5fcdf5443d09')
     @rbac_rule_validation.action(service="glance",
@@ -196,8 +193,8 @@
 
         RBAC test for the glance communitize_image policy
         """
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self._create_image(visibility='community')
+        with self.rbac_utils.override_role(self):
+            self._create_image(visibility='community')
 
     @rbac_rule_validation.action(service="glance",
                                  rule="deactivate")
@@ -211,8 +208,8 @@
         image = self._create_image()
         self._upload_image(image['id'])
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.deactivate_image(image['id'])
+        with self.rbac_utils.override_role(self):
+            self.image_client.deactivate_image(image['id'])
 
     @rbac_rule_validation.action(service="glance",
                                  rule="reactivate")
@@ -226,5 +223,5 @@
         image = self._create_image()
         self._upload_image(image['id'])
 
-        self.rbac_utils.switch_role(self, toggle_rbac_role=True)
-        self.image_client.reactivate_image(image['id'])
+        with self.rbac_utils.override_role(self):
+            self.image_client.reactivate_image(image['id'])