From ea202fe77c28f291d9a78a5ccd411f8fd3cf685f Mon Sep 17 00:00:00 2001
From: Stephen Finucane <stephenfin@redhat.com>
Date: Wed, 14 Feb 2024 18:02:31 +0000
Subject: [PATCH] tests: Use consistent shortcut to fake identity client

Change-Id: I72e016b8146e38948b6ae857bf7ec0b18f4e3663
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
---
 .../tests/unit/common/test_quota.py           |  2 +-
 .../tests/unit/compute/v2/test_flavor.py      |  2 +-
 .../tests/unit/compute/v2/test_keypair.py     |  8 +++----
 .../unit/compute/v2/test_server_migration.py  |  4 ++--
 .../tests/unit/compute/v2/test_usage.py       |  2 +-
 .../tests/unit/identity/v2_0/test_endpoint.py |  4 ++--
 .../tests/unit/identity/v2_0/test_project.py  |  2 +-
 .../tests/unit/identity/v2_0/test_role.py     |  6 ++---
 .../identity/v2_0/test_role_assignment.py     |  6 ++---
 .../tests/unit/identity/v2_0/test_service.py  |  2 +-
 .../tests/unit/identity/v2_0/test_token.py    |  2 +-
 .../tests/unit/identity/v2_0/test_user.py     |  4 ++--
 .../unit/identity/v3/test_access_rule.py      |  2 +-
 .../v3/test_application_credential.py         |  2 +-
 .../tests/unit/identity/v3/test_consumer.py   |  3 +--
 .../tests/unit/identity/v3/test_credential.py |  6 ++---
 .../tests/unit/identity/v3/test_domain.py     |  4 ++--
 .../tests/unit/identity/v3/test_endpoint.py   | 10 ++++----
 .../unit/identity/v3/test_endpoint_group.py   | 12 ++++------
 .../tests/unit/identity/v3/test_group.py      |  6 ++---
 .../identity/v3/test_identity_provider.py     |  4 ++--
 .../unit/identity/v3/test_implied_role.py     |  2 +-
 .../tests/unit/identity/v3/test_limit.py      |  2 +-
 .../tests/unit/identity/v3/test_mappings.py   |  2 +-
 .../tests/unit/identity/v3/test_oauth.py      |  2 +-
 .../tests/unit/identity/v3/test_project.py    | 16 ++++++-------
 .../tests/unit/identity/v3/test_protocol.py   |  2 +-
 .../tests/unit/identity/v3/test_region.py     |  2 +-
 .../unit/identity/v3/test_registered_limit.py |  7 +++---
 .../tests/unit/identity/v3/test_role.py       | 10 ++++----
 .../unit/identity/v3/test_role_assignment.py  | 14 +++++------
 .../tests/unit/identity/v3/test_service.py    |  2 +-
 .../unit/identity/v3/test_service_provider.py |  2 +-
 .../tests/unit/identity/v3/test_token.py      |  2 +-
 .../tests/unit/identity/v3/test_trust.py      |  8 +++----
 .../unit/identity/v3/test_unscoped_saml.py    |  2 +-
 .../tests/unit/identity/v3/test_user.py       |  4 ++--
 .../tests/unit/image/v2/test_image.py         |  4 ++--
 .../unit/network/v2/test_address_group.py     |  4 ++--
 .../unit/network/v2/test_address_scope.py     |  4 ++--
 .../network/v2/test_floating_ip_network.py    |  4 ++--
 .../unit/network/v2/test_ip_availability.py   |  2 +-
 .../tests/unit/network/v2/test_local_ip.py    |  4 ++--
 .../tests/unit/network/v2/test_ndp_proxy.py   |  4 ++--
 .../tests/unit/network/v2/test_network.py     | 23 ++++++++-----------
 .../test_network_auto_allocated_topology.py   |  2 +-
 .../unit/network/v2/test_network_flavor.py    |  4 ++--
 .../network/v2/test_network_flavor_profile.py |  4 ++--
 .../unit/network/v2/test_network_meter.py     |  4 ++--
 .../network/v2/test_network_meter_rule.py     |  4 ++--
 .../unit/network/v2/test_network_rbac.py      |  2 +-
 .../unit/network/v2/test_network_trunk.py     |  4 ++--
 .../tests/unit/network/v2/test_port.py        |  2 +-
 .../tests/unit/network/v2/test_router.py      |  2 +-
 .../network/v2/test_security_group_network.py |  4 ++--
 .../v2/test_security_group_rule_network.py    |  4 ++--
 .../tests/unit/network/v2/test_subnet.py      |  4 ++--
 .../tests/unit/network/v2/test_subnet_pool.py |  4 ++--
 .../tests/unit/volume/v1/test_volume.py       |  4 ++--
 .../tests/unit/volume/v2/test_volume.py       |  4 ++--
 .../unit/volume/v2/test_volume_snapshot.py    |  2 +-
 .../tests/unit/volume/v2/test_volume_type.py  |  2 +-
 .../unit/volume/v3/test_volume_attachment.py  |  2 +-
 .../unit/volume/v3/test_volume_message.py     |  2 +-
 64 files changed, 135 insertions(+), 146 deletions(-)

diff --git a/openstackclient/tests/unit/common/test_quota.py b/openstackclient/tests/unit/common/test_quota.py
index 1884321a33..d99508abe1 100644
--- a/openstackclient/tests/unit/common/test_quota.py
+++ b/openstackclient/tests/unit/common/test_quota.py
@@ -44,7 +44,7 @@ class TestQuota(compute_fakes.TestComputev2):
 
         # Set up common projects
         self.projects = identity_fakes_v3.FakeProject.create_projects(count=2)
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
         self.projects_mock.get.return_value = self.projects[0]
 
diff --git a/openstackclient/tests/unit/compute/v2/test_flavor.py b/openstackclient/tests/unit/compute/v2/test_flavor.py
index e81d2bf707..5312d70512 100644
--- a/openstackclient/tests/unit/compute/v2/test_flavor.py
+++ b/openstackclient/tests/unit/compute/v2/test_flavor.py
@@ -30,7 +30,7 @@ class TestFlavor(compute_fakes.TestComputev2):
     def setUp(self):
         super(TestFlavor, self).setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/compute/v2/test_keypair.py b/openstackclient/tests/unit/compute/v2/test_keypair.py
index 39d5739d17..d944c216f6 100644
--- a/openstackclient/tests/unit/compute/v2/test_keypair.py
+++ b/openstackclient/tests/unit/compute/v2/test_keypair.py
@@ -32,7 +32,7 @@ class TestKeypair(compute_fakes.TestComputev2):
         super(TestKeypair, self).setUp()
 
         # Initialize the user mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
         self.users_mock.get.return_value = fakes.FakeResource(
             None,
@@ -459,7 +459,7 @@ class TestKeypairList(TestKeypair):
 
     @mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
     def test_keypair_list_with_user(self, sm_mock):
-        users_mock = self.app.client_manager.identity.users
+        users_mock = self.identity_client.users
         users_mock.reset_mock()
         users_mock.get.return_value = fakes.FakeResource(
             None,
@@ -515,7 +515,7 @@ class TestKeypairList(TestKeypair):
 
     @mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
     def test_keypair_list_with_project(self, sm_mock):
-        projects_mock = self.app.client_manager.identity.tenants
+        projects_mock = self.identity_client.tenants
         projects_mock.reset_mock()
         projects_mock.get.return_value = fakes.FakeResource(
             None,
@@ -523,7 +523,7 @@ class TestKeypairList(TestKeypair):
             loaded=True,
         )
 
-        users_mock = self.app.client_manager.identity.users
+        users_mock = self.identity_client.users
         users_mock.reset_mock()
         users_mock.list.return_value = [
             fakes.FakeResource(
diff --git a/openstackclient/tests/unit/compute/v2/test_server_migration.py b/openstackclient/tests/unit/compute/v2/test_server_migration.py
index cff5917d10..6638ca168a 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_migration.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_migration.py
@@ -476,10 +476,10 @@ class TestListMigrationV280(TestListMigration):
     def setUp(self):
         super().setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         self.projects_mock.get.return_value = self.project
diff --git a/openstackclient/tests/unit/compute/v2/test_usage.py b/openstackclient/tests/unit/compute/v2/test_usage.py
index 9d0ea45ccc..e47c044ae3 100644
--- a/openstackclient/tests/unit/compute/v2/test_usage.py
+++ b/openstackclient/tests/unit/compute/v2/test_usage.py
@@ -23,7 +23,7 @@ class TestUsage(compute_fakes.TestComputev2):
     def setUp(self):
         super(TestUsage, self).setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v2_0/test_endpoint.py b/openstackclient/tests/unit/identity/v2_0/test_endpoint.py
index 5de396c44d..84ed6c9a46 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_endpoint.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_endpoint.py
@@ -27,11 +27,11 @@ class TestEndpoint(identity_fakes.TestIdentityv2):
         super(TestEndpoint, self).setUp()
 
         # Get a shortcut to the EndpointManager Mock
-        self.endpoints_mock = self.app.client_manager.identity.endpoints
+        self.endpoints_mock = self.identity_client.endpoints
         self.endpoints_mock.reset_mock()
 
         # Get a shortcut to the ServiceManager Mock
-        self.services_mock = self.app.client_manager.identity.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v2_0/test_project.py b/openstackclient/tests/unit/identity/v2_0/test_project.py
index 68ec9f02e0..cfd8263377 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_project.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_project.py
@@ -59,7 +59,7 @@ class TestProject(identity_fakes.TestIdentityv2):
         super(TestProject, self).setUp()
 
         # Get a shortcut to the TenantManager Mock
-        self.projects_mock = self.app.client_manager.identity.tenants
+        self.projects_mock = self.identity_client.tenants
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v2_0/test_role.py b/openstackclient/tests/unit/identity/v2_0/test_role.py
index 738982dbe9..6556c6d7d2 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_role.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_role.py
@@ -43,15 +43,15 @@ class TestRole(identity_fakes.TestIdentityv2):
         super(TestRole, self).setUp()
 
         # Get a shortcut to the TenantManager Mock
-        self.projects_mock = self.app.client_manager.identity.tenants
+        self.projects_mock = self.identity_client.tenants
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         # Get a shortcut to the RoleManager Mock
-        self.roles_mock = self.app.client_manager.identity.roles
+        self.roles_mock = self.identity_client.roles
         self.roles_mock.reset_mock()
 
         auth_ref = identity_fakes.fake_auth_ref(
diff --git a/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py b/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py
index 248f689e41..9cc7d5e756 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_role_assignment.py
@@ -37,15 +37,15 @@ class TestRoleAssignmentList(TestRoleAssignment):
         super(TestRoleAssignment, self).setUp()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the RoleManager Mock
-        self.roles_mock = self.app.client_manager.identity.roles
+        self.roles_mock = self.identity_client.roles
         self.roles_mock.reset_mock()
 
         self.projects_mock.get.return_value = fakes.FakeResource(
diff --git a/openstackclient/tests/unit/identity/v2_0/test_service.py b/openstackclient/tests/unit/identity/v2_0/test_service.py
index 844f395be1..b5ec353f9a 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_service.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_service.py
@@ -27,7 +27,7 @@ class TestService(identity_fakes.TestIdentityv2):
         super(TestService, self).setUp()
 
         # Get a shortcut to the ServiceManager Mock
-        self.services_mock = self.app.client_manager.identity.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v2_0/test_token.py b/openstackclient/tests/unit/identity/v2_0/test_token.py
index 33cb0d9c3e..56e59f4ad5 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_token.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_token.py
@@ -96,7 +96,7 @@ class TestTokenRevoke(TestToken):
 
     def setUp(self):
         super(TestTokenRevoke, self).setUp()
-        self.tokens_mock = self.app.client_manager.identity.tokens
+        self.tokens_mock = self.identity_client.tokens
         self.tokens_mock.reset_mock()
         self.tokens_mock.delete.return_value = True
         self.cmd = token.RevokeToken(self.app, None)
diff --git a/openstackclient/tests/unit/identity/v2_0/test_user.py b/openstackclient/tests/unit/identity/v2_0/test_user.py
index a8baf61a01..3355e4cb5e 100644
--- a/openstackclient/tests/unit/identity/v2_0/test_user.py
+++ b/openstackclient/tests/unit/identity/v2_0/test_user.py
@@ -34,11 +34,11 @@ class TestUser(identity_fakes.TestIdentityv2):
         super(TestUser, self).setUp()
 
         # Get a shortcut to the TenantManager Mock
-        self.projects_mock = self.app.client_manager.identity.tenants
+        self.projects_mock = self.identity_client.tenants
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_access_rule.py b/openstackclient/tests/unit/identity/v3/test_access_rule.py
index b62f283f30..b6ef20be70 100644
--- a/openstackclient/tests/unit/identity/v3/test_access_rule.py
+++ b/openstackclient/tests/unit/identity/v3/test_access_rule.py
@@ -27,7 +27,7 @@ class TestAccessRule(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestAccessRule, self).setUp()
 
-        identity_manager = self.app.client_manager.identity
+        identity_manager = self.identity_client
         self.access_rules_mock = identity_manager.access_rules
         self.access_rules_mock.reset_mock()
         self.roles_mock = identity_manager.roles
diff --git a/openstackclient/tests/unit/identity/v3/test_application_credential.py b/openstackclient/tests/unit/identity/v3/test_application_credential.py
index 68ed750d8c..129b62cada 100644
--- a/openstackclient/tests/unit/identity/v3/test_application_credential.py
+++ b/openstackclient/tests/unit/identity/v3/test_application_credential.py
@@ -29,7 +29,7 @@ class TestApplicationCredential(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestApplicationCredential, self).setUp()
 
-        identity_manager = self.app.client_manager.identity
+        identity_manager = self.identity_client
         self.app_creds_mock = identity_manager.application_credentials
         self.app_creds_mock.reset_mock()
         self.roles_mock = identity_manager.roles
diff --git a/openstackclient/tests/unit/identity/v3/test_consumer.py b/openstackclient/tests/unit/identity/v3/test_consumer.py
index fd13ef4ab9..8067965aee 100644
--- a/openstackclient/tests/unit/identity/v3/test_consumer.py
+++ b/openstackclient/tests/unit/identity/v3/test_consumer.py
@@ -20,8 +20,7 @@ from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
 class TestOAuth1(identity_fakes.TestOAuth1):
     def setUp(self):
         super(TestOAuth1, self).setUp()
-        identity_client = self.app.client_manager.identity
-        self.consumers_mock = identity_client.oauth1.consumers
+        self.consumers_mock = self.identity_client.oauth1.consumers
         self.consumers_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_credential.py b/openstackclient/tests/unit/identity/v3/test_credential.py
index e6c2be6788..47af5053be 100644
--- a/openstackclient/tests/unit/identity/v3/test_credential.py
+++ b/openstackclient/tests/unit/identity/v3/test_credential.py
@@ -25,15 +25,15 @@ class TestCredential(identity_fakes.TestIdentityv3):
         super(TestCredential, self).setUp()
 
         # Get a shortcut to the CredentialManager Mock
-        self.credentials_mock = self.app.client_manager.identity.credentials
+        self.credentials_mock = self.identity_client.credentials
         self.credentials_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_domain.py b/openstackclient/tests/unit/identity/v3/test_domain.py
index 08fbbaac91..76e7848272 100644
--- a/openstackclient/tests/unit/identity/v3/test_domain.py
+++ b/openstackclient/tests/unit/identity/v3/test_domain.py
@@ -19,7 +19,7 @@ class TestDomain(identity_fakes.TestIdentityv3):
         super(TestDomain, self).setUp()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
 
@@ -493,7 +493,7 @@ class TestDomainShow(TestDomain):
             ('domain', self.domain.id),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {'project': {'domain': {'id': 'd1', 'name': 'd1'}}}
         }
 
diff --git a/openstackclient/tests/unit/identity/v3/test_endpoint.py b/openstackclient/tests/unit/identity/v3/test_endpoint.py
index 39159432fe..02c125eb93 100644
--- a/openstackclient/tests/unit/identity/v3/test_endpoint.py
+++ b/openstackclient/tests/unit/identity/v3/test_endpoint.py
@@ -19,21 +19,21 @@ class TestEndpoint(identity_fakes.TestIdentityv3):
         super(TestEndpoint, self).setUp()
 
         # Get a shortcut to the EndpointManager Mock
-        self.endpoints_mock = self.app.client_manager.identity.endpoints
+        self.endpoints_mock = self.identity_client.endpoints
         self.endpoints_mock.reset_mock()
-        self.ep_filter_mock = self.app.client_manager.identity.endpoint_filter
+        self.ep_filter_mock = self.identity_client.endpoint_filter
         self.ep_filter_mock.reset_mock()
 
         # Get a shortcut to the ServiceManager Mock
-        self.services_mock = self.app.client_manager.identity.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_endpoint_group.py b/openstackclient/tests/unit/identity/v3/test_endpoint_group.py
index 66d06dd9cc..00208b48aa 100644
--- a/openstackclient/tests/unit/identity/v3/test_endpoint_group.py
+++ b/openstackclient/tests/unit/identity/v3/test_endpoint_group.py
@@ -22,23 +22,21 @@ class TestEndpointGroup(identity_fakes.TestIdentityv3):
         super(TestEndpointGroup, self).setUp()
 
         # Get a shortcut to the EndpointManager Mock
-        self.endpoint_groups_mock = (
-            self.app.client_manager.identity.endpoint_groups
-        )
+        self.endpoint_groups_mock = self.identity_client.endpoint_groups
         self.endpoint_groups_mock.reset_mock()
-        self.epf_mock = self.app.client_manager.identity.endpoint_filter
+        self.epf_mock = self.identity_client.endpoint_filter
         self.epf_mock.reset_mock()
 
         # Get a shortcut to the ServiceManager Mock
-        self.services_mock = self.app.client_manager.identity.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_group.py b/openstackclient/tests/unit/identity/v3/test_group.py
index 3c95931cf0..646a432033 100644
--- a/openstackclient/tests/unit/identity/v3/test_group.py
+++ b/openstackclient/tests/unit/identity/v3/test_group.py
@@ -27,15 +27,15 @@ class TestGroup(identity_fakes.TestIdentityv3):
         super(TestGroup, self).setUp()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the GroupManager Mock
-        self.groups_mock = self.app.client_manager.identity.groups
+        self.groups_mock = self.identity_client.groups
         self.groups_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_identity_provider.py b/openstackclient/tests/unit/identity/v3/test_identity_provider.py
index f45f53a3db..4426e096ef 100644
--- a/openstackclient/tests/unit/identity/v3/test_identity_provider.py
+++ b/openstackclient/tests/unit/identity/v3/test_identity_provider.py
@@ -28,12 +28,12 @@ class TestIdentityProvider(identity_fakes.TestFederatedIdentity):
         super(TestIdentityProvider, self).setUp()
 
         # Identity Provider mocks
-        federation_lib = self.app.client_manager.identity.federation
+        federation_lib = self.identity_client.federation
         self.identity_providers_mock = federation_lib.identity_providers
         self.identity_providers_mock.reset_mock()
 
         # Domain mocks
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
         self.domain = identity_fakes.FakeDomain.create_one_domain(
             identity_fakes.DOMAIN
diff --git a/openstackclient/tests/unit/identity/v3/test_implied_role.py b/openstackclient/tests/unit/identity/v3/test_implied_role.py
index ea9c75965d..7b53de5ebd 100644
--- a/openstackclient/tests/unit/identity/v3/test_implied_role.py
+++ b/openstackclient/tests/unit/identity/v3/test_implied_role.py
@@ -24,7 +24,7 @@ class TestRole(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestRole, self).setUp()
 
-        identity_client = self.app.client_manager.identity
+        identity_client = self.identity_client
 
         # Get a shortcut to the UserManager Mock
         self.users_mock = identity_client.users
diff --git a/openstackclient/tests/unit/identity/v3/test_limit.py b/openstackclient/tests/unit/identity/v3/test_limit.py
index d5895afeb4..1fb660b1ab 100644
--- a/openstackclient/tests/unit/identity/v3/test_limit.py
+++ b/openstackclient/tests/unit/identity/v3/test_limit.py
@@ -24,7 +24,7 @@ class TestLimit(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestLimit, self).setUp()
 
-        identity_manager = self.app.client_manager.identity
+        identity_manager = self.identity_client
 
         self.limit_mock = identity_manager.limits
 
diff --git a/openstackclient/tests/unit/identity/v3/test_mappings.py b/openstackclient/tests/unit/identity/v3/test_mappings.py
index dea0b87c45..50386609e3 100644
--- a/openstackclient/tests/unit/identity/v3/test_mappings.py
+++ b/openstackclient/tests/unit/identity/v3/test_mappings.py
@@ -26,7 +26,7 @@ class TestMapping(identity_fakes.TestFederatedIdentity):
     def setUp(self):
         super(TestMapping, self).setUp()
 
-        federation_lib = self.app.client_manager.identity.federation
+        federation_lib = self.identity_client.federation
         self.mapping_mock = federation_lib.mappings
         self.mapping_mock.reset_mock()
 
diff --git a/openstackclient/tests/unit/identity/v3/test_oauth.py b/openstackclient/tests/unit/identity/v3/test_oauth.py
index 0a4a61556c..020a002325 100644
--- a/openstackclient/tests/unit/identity/v3/test_oauth.py
+++ b/openstackclient/tests/unit/identity/v3/test_oauth.py
@@ -20,7 +20,7 @@ from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
 class TestOAuth1(identity_fakes.TestOAuth1):
     def setUp(self):
         super(TestOAuth1, self).setUp()
-        identity_client = self.app.client_manager.identity
+        identity_client = self.identity_client
         self.access_tokens_mock = identity_client.oauth1.access_tokens
         self.access_tokens_mock.reset_mock()
         self.request_tokens_mock = identity_client.oauth1.request_tokens
diff --git a/openstackclient/tests/unit/identity/v3/test_project.py b/openstackclient/tests/unit/identity/v3/test_project.py
index 70608c44e9..d9427e37c8 100644
--- a/openstackclient/tests/unit/identity/v3/test_project.py
+++ b/openstackclient/tests/unit/identity/v3/test_project.py
@@ -29,11 +29,11 @@ class TestProject(identity_fakes.TestIdentityv3):
         super(TestProject, self).setUp()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
@@ -1234,7 +1234,7 @@ class TestProjectShow(TestProject):
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'project': {
                     'domain': {},
@@ -1293,7 +1293,7 @@ class TestProjectShow(TestProject):
             ('children', False),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'project': {
                     'domain': {},
@@ -1360,7 +1360,7 @@ class TestProjectShow(TestProject):
             ('children', True),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'project': {
                     'domain': {},
@@ -1428,7 +1428,7 @@ class TestProjectShow(TestProject):
             ('children', True),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'project': {
                     'domain': {},
@@ -1482,7 +1482,7 @@ class TestProjectShow(TestProject):
             {"name": self.project.name}
         )
 
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'project': {
                     'domain': {"id": self.project.domain_id},
@@ -1492,7 +1492,7 @@ class TestProjectShow(TestProject):
             }
         }
 
-        identity_client = self.app.client_manager.identity
+        identity_client = self.identity_client
         arglist = [
             "--domain",
             self.domain.id,
diff --git a/openstackclient/tests/unit/identity/v3/test_protocol.py b/openstackclient/tests/unit/identity/v3/test_protocol.py
index bb27910c39..d40f916e52 100644
--- a/openstackclient/tests/unit/identity/v3/test_protocol.py
+++ b/openstackclient/tests/unit/identity/v3/test_protocol.py
@@ -23,7 +23,7 @@ class TestProtocol(identity_fakes.TestFederatedIdentity):
     def setUp(self):
         super(TestProtocol, self).setUp()
 
-        federation_lib = self.app.client_manager.identity.federation
+        federation_lib = self.identity_client.federation
         self.protocols_mock = federation_lib.protocols
         self.protocols_mock.reset_mock()
 
diff --git a/openstackclient/tests/unit/identity/v3/test_region.py b/openstackclient/tests/unit/identity/v3/test_region.py
index 9e83b7a86a..be28f94488 100644
--- a/openstackclient/tests/unit/identity/v3/test_region.py
+++ b/openstackclient/tests/unit/identity/v3/test_region.py
@@ -23,7 +23,7 @@ class TestRegion(identity_fakes.TestIdentityv3):
         super(TestRegion, self).setUp()
 
         # Get a shortcut to the RegionManager Mock
-        self.regions_mock = self.app.client_manager.identity.regions
+        self.regions_mock = self.identity_client.regions
         self.regions_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_registered_limit.py b/openstackclient/tests/unit/identity/v3/test_registered_limit.py
index 1ba6737e72..ad1a69c819 100644
--- a/openstackclient/tests/unit/identity/v3/test_registered_limit.py
+++ b/openstackclient/tests/unit/identity/v3/test_registered_limit.py
@@ -24,13 +24,12 @@ class TestRegisteredLimit(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestRegisteredLimit, self).setUp()
 
-        identity_manager = self.app.client_manager.identity
-        self.registered_limit_mock = identity_manager.registered_limits
+        self.registered_limit_mock = self.identity_client.registered_limits
 
-        self.services_mock = identity_manager.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
-        self.regions_mock = identity_manager.regions
+        self.regions_mock = self.identity_client.regions
         self.regions_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_role.py b/openstackclient/tests/unit/identity/v3/test_role.py
index 12fd1611b6..6d9a2ff090 100644
--- a/openstackclient/tests/unit/identity/v3/test_role.py
+++ b/openstackclient/tests/unit/identity/v3/test_role.py
@@ -30,23 +30,23 @@ class TestRole(identity_fakes.TestIdentityv3):
         super(TestRole, self).setUp()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.groups_mock = self.app.client_manager.identity.groups
+        self.groups_mock = self.identity_client.groups
         self.groups_mock.reset_mock()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the RoleManager Mock
-        self.roles_mock = self.app.client_manager.identity.roles
+        self.roles_mock = self.identity_client.roles
         self.roles_mock.reset_mock()
 
     def _is_inheritance_testcase(self):
diff --git a/openstackclient/tests/unit/identity/v3/test_role_assignment.py b/openstackclient/tests/unit/identity/v3/test_role_assignment.py
index 04cb68cb2b..afc7ac5b7c 100644
--- a/openstackclient/tests/unit/identity/v3/test_role_assignment.py
+++ b/openstackclient/tests/unit/identity/v3/test_role_assignment.py
@@ -39,28 +39,26 @@ class TestRoleAssignmentList(TestRoleAssignment):
         super(TestRoleAssignment, self).setUp()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         # Get a shortcut to the GroupManager Mock
-        self.groups_mock = self.app.client_manager.identity.groups
+        self.groups_mock = self.identity_client.groups
         self.groups_mock.reset_mock()
 
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
         self.domains_mock.reset_mock()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the RoleManager Mock
-        self.roles_mock = self.app.client_manager.identity.roles
+        self.roles_mock = self.identity_client.roles
         self.roles_mock.reset_mock()
 
-        self.role_assignments_mock = (
-            self.app.client_manager.identity.role_assignments
-        )
+        self.role_assignments_mock = self.identity_client.role_assignments
         self.role_assignments_mock.reset_mock()
 
         # Get the command object to test
diff --git a/openstackclient/tests/unit/identity/v3/test_service.py b/openstackclient/tests/unit/identity/v3/test_service.py
index 8143ddd562..36669d7d54 100644
--- a/openstackclient/tests/unit/identity/v3/test_service.py
+++ b/openstackclient/tests/unit/identity/v3/test_service.py
@@ -25,7 +25,7 @@ class TestService(identity_fakes.TestIdentityv3):
         super(TestService, self).setUp()
 
         # Get a shortcut to the ServiceManager Mock
-        self.services_mock = self.app.client_manager.identity.services
+        self.services_mock = self.identity_client.services
         self.services_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_service_provider.py b/openstackclient/tests/unit/identity/v3/test_service_provider.py
index 59117da93b..8954c2a264 100644
--- a/openstackclient/tests/unit/identity/v3/test_service_provider.py
+++ b/openstackclient/tests/unit/identity/v3/test_service_provider.py
@@ -23,7 +23,7 @@ class TestServiceProvider(service_fakes.TestFederatedIdentity):
     def setUp(self):
         super(TestServiceProvider, self).setUp()
 
-        federation_lib = self.app.client_manager.identity.federation
+        federation_lib = self.identity_client.federation
         self.service_providers_mock = federation_lib.service_providers
         self.service_providers_mock.reset_mock()
 
diff --git a/openstackclient/tests/unit/identity/v3/test_token.py b/openstackclient/tests/unit/identity/v3/test_token.py
index 80d5dc1958..ba1a026c80 100644
--- a/openstackclient/tests/unit/identity/v3/test_token.py
+++ b/openstackclient/tests/unit/identity/v3/test_token.py
@@ -119,7 +119,7 @@ class TestTokenRevoke(TestToken):
 
     def setUp(self):
         super(TestTokenRevoke, self).setUp()
-        self.tokens_mock = self.app.client_manager.identity.tokens
+        self.tokens_mock = self.identity_client.tokens
         self.tokens_mock.reset_mock()
         self.tokens_mock.revoke_token.return_value = True
         self.cmd = token.RevokeToken(self.app, None)
diff --git a/openstackclient/tests/unit/identity/v3/test_trust.py b/openstackclient/tests/unit/identity/v3/test_trust.py
index 8a7903e08e..6ca90721e6 100644
--- a/openstackclient/tests/unit/identity/v3/test_trust.py
+++ b/openstackclient/tests/unit/identity/v3/test_trust.py
@@ -26,13 +26,13 @@ class TestTrust(identity_fakes.TestIdentityv3):
     def setUp(self):
         super(TestTrust, self).setUp()
 
-        self.trusts_mock = self.app.client_manager.identity.trusts
+        self.trusts_mock = self.identity_client.trusts
         self.trusts_mock.reset_mock()
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
-        self.roles_mock = self.app.client_manager.identity.roles
+        self.roles_mock = self.identity_client.roles
         self.roles_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/identity/v3/test_unscoped_saml.py b/openstackclient/tests/unit/identity/v3/test_unscoped_saml.py
index fcc72bd6dd..882dd08620 100644
--- a/openstackclient/tests/unit/identity/v3/test_unscoped_saml.py
+++ b/openstackclient/tests/unit/identity/v3/test_unscoped_saml.py
@@ -21,7 +21,7 @@ class TestUnscopedSAML(identity_fakes.TestFederatedIdentity):
     def setUp(self):
         super(TestUnscopedSAML, self).setUp()
 
-        federation_lib = self.app.client_manager.identity.federation
+        federation_lib = self.identity_client.federation
         self.projects_mock = federation_lib.projects
         self.projects_mock.reset_mock()
         self.domains_mock = federation_lib.domains
diff --git a/openstackclient/tests/unit/identity/v3/test_user.py b/openstackclient/tests/unit/identity/v3/test_user.py
index 822abd682c..c57f03af0c 100644
--- a/openstackclient/tests/unit/identity/v3/test_user.py
+++ b/openstackclient/tests/unit/identity/v3/test_user.py
@@ -1811,10 +1811,10 @@ class TestUserShow(identity_fakes.TestIdentityv3):
 
         # Get the command object to test
         self.cmd = user.ShowUser(self.app, None)
-        self.app.client_manager.identity.auth.client.get_user_id.return_value = (  # noqa: E501
+        self.identity_client.auth.client.get_user_id.return_value = (  # noqa: E501
             self.user.id
         )
-        self.app.client_manager.identity.tokens.get_token_data.return_value = {
+        self.identity_client.tokens.get_token_data.return_value = {
             'token': {
                 'user': {
                     'domain_id': {'id': self.user.domain_id},
diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py
index 2a2a654a12..f71986270c 100644
--- a/openstackclient/tests/unit/image/v2/test_image.py
+++ b/openstackclient/tests/unit/image/v2/test_image.py
@@ -33,9 +33,9 @@ class TestImage(image_fakes.TestImagev2, volume_fakes.TestVolume):
         super().setUp()
 
         # Get shortcut to the Mocks in identity client
-        self.project_mock = self.app.client_manager.identity.projects
+        self.project_mock = self.identity_client.projects
         self.project_mock.reset_mock()
-        self.domain_mock = self.app.client_manager.identity.domains
+        self.domain_mock = self.identity_client.domains
         self.domain_mock.reset_mock()
         self.volumes_mock = self.volume_client.volumes
         fake_body = {
diff --git a/openstackclient/tests/unit/network/v2/test_address_group.py b/openstackclient/tests/unit/network/v2/test_address_group.py
index 11ea4f2dd7..075ac87530 100644
--- a/openstackclient/tests/unit/network/v2/test_address_group.py
+++ b/openstackclient/tests/unit/network/v2/test_address_group.py
@@ -27,9 +27,9 @@ class TestAddressGroup(network_fakes.TestNetworkV2):
         super(TestAddressGroup, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateAddressGroup(TestAddressGroup):
diff --git a/openstackclient/tests/unit/network/v2/test_address_scope.py b/openstackclient/tests/unit/network/v2/test_address_scope.py
index 4a66520121..f548e256d9 100644
--- a/openstackclient/tests/unit/network/v2/test_address_scope.py
+++ b/openstackclient/tests/unit/network/v2/test_address_scope.py
@@ -27,9 +27,9 @@ class TestAddressScope(network_fakes.TestNetworkV2):
         super(TestAddressScope, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateAddressScope(TestAddressScope):
diff --git a/openstackclient/tests/unit/network/v2/test_floating_ip_network.py b/openstackclient/tests/unit/network/v2/test_floating_ip_network.py
index caf9afaaff..bd3da8e8b3 100644
--- a/openstackclient/tests/unit/network/v2/test_floating_ip_network.py
+++ b/openstackclient/tests/unit/network/v2/test_floating_ip_network.py
@@ -27,9 +27,9 @@ class TestFloatingIPNetwork(network_fakes.TestNetworkV2):
         super(TestFloatingIPNetwork, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateFloatingIPNetwork(TestFloatingIPNetwork):
diff --git a/openstackclient/tests/unit/network/v2/test_ip_availability.py b/openstackclient/tests/unit/network/v2/test_ip_availability.py
index f2aaad95e1..1e70994a77 100644
--- a/openstackclient/tests/unit/network/v2/test_ip_availability.py
+++ b/openstackclient/tests/unit/network/v2/test_ip_availability.py
@@ -26,7 +26,7 @@ class TestIPAvailability(network_fakes.TestNetworkV2):
         super(TestIPAvailability, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
 
         self.project = identity_fakes.FakeProject.create_one_project()
         self.projects_mock.get.return_value = self.project
diff --git a/openstackclient/tests/unit/network/v2/test_local_ip.py b/openstackclient/tests/unit/network/v2/test_local_ip.py
index 5b293c94ce..bfa7062d6c 100644
--- a/openstackclient/tests/unit/network/v2/test_local_ip.py
+++ b/openstackclient/tests/unit/network/v2/test_local_ip.py
@@ -29,9 +29,9 @@ class TestLocalIP(network_fakes.TestNetworkV2):
         super().setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateLocalIP(TestLocalIP):
diff --git a/openstackclient/tests/unit/network/v2/test_ndp_proxy.py b/openstackclient/tests/unit/network/v2/test_ndp_proxy.py
index e1635a63f9..fcf93b2477 100644
--- a/openstackclient/tests/unit/network/v2/test_ndp_proxy.py
+++ b/openstackclient/tests/unit/network/v2/test_ndp_proxy.py
@@ -26,9 +26,9 @@ class TestNDPProxy(network_fakes.TestNetworkV2):
     def setUp(self):
         super(TestNDPProxy, self).setUp()
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
         self.router = network_fakes.FakeRouter.create_one_router(
             {'id': 'fake-router-id'}
diff --git a/openstackclient/tests/unit/network/v2/test_network.py b/openstackclient/tests/unit/network/v2/test_network.py
index 2dbb0f822b..5e06b18f45 100644
--- a/openstackclient/tests/unit/network/v2/test_network.py
+++ b/openstackclient/tests/unit/network/v2/test_network.py
@@ -19,7 +19,6 @@ from osc_lib.cli import format_columns
 from osc_lib import exceptions
 
 from openstackclient.network.v2 import network
-from openstackclient.tests.unit import fakes
 from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes_v2
 from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes_v3
 from openstackclient.tests.unit.network.v2 import fakes as network_fakes
@@ -33,9 +32,9 @@ class TestNetwork(network_fakes.TestNetworkV2):
         super(TestNetwork, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateNetworkIdentityV3(TestNetwork):
@@ -311,7 +310,11 @@ class TestCreateNetworkIdentityV3(TestNetwork):
         self._test_create_with_tag(add_tags=False)
 
 
-class TestCreateNetworkIdentityV2(TestNetwork):
+class TestCreateNetworkIdentityV2(
+    identity_fakes_v2.FakeClientMixin,
+    network_fakes.FakeClientMixin,
+    tests_utils.TestCommand,
+):
     project = identity_fakes_v2.FakeProject.create_one_project()
     # The new network created.
     _network = network_fakes.create_one_network(
@@ -386,18 +389,10 @@ class TestCreateNetworkIdentityV2(TestNetwork):
         self.network_client.set_tags = mock.Mock(return_value=None)
 
         # Get the command object to test
-        self.cmd = network.CreateNetwork(self.app, self.namespace)
-
-        # Set identity client v2. And get a shortcut to Identity client.
-        identity_client = identity_fakes_v2.FakeIdentityv2Client(
-            endpoint=fakes.AUTH_URL,
-            token=fakes.AUTH_TOKEN,
-        )
-        self.app.client_manager.identity = identity_client
-        self.identity = self.app.client_manager.identity
+        self.cmd = network.CreateNetwork(self.app, None)
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.identity.tenants
+        self.projects_mock = self.identity_client.tenants
         self.projects_mock.get.return_value = self.project
 
         # There is no DomainManager Mock in fake identity v2.
diff --git a/openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py b/openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py
index 51959fd9ef..1e9bf48736 100644
--- a/openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py
+++ b/openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py
@@ -23,7 +23,7 @@ from openstackclient.tests.unit.network.v2 import fakes as network_fakes
 class TestAutoAllocatedTopology(network_fakes.TestNetworkV2):
     def setUp(self):
         super(TestAutoAllocatedTopology, self).setUp()
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
 
 
 class TestCreateAutoAllocatedTopology(TestAutoAllocatedTopology):
diff --git a/openstackclient/tests/unit/network/v2/test_network_flavor.py b/openstackclient/tests/unit/network/v2/test_network_flavor.py
index 15322189e3..6aaee7fdc8 100644
--- a/openstackclient/tests/unit/network/v2/test_network_flavor.py
+++ b/openstackclient/tests/unit/network/v2/test_network_flavor.py
@@ -29,9 +29,9 @@ class TestNetworkFlavor(network_fakes.TestNetworkV2):
         super(TestNetworkFlavor, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestAddNetworkFlavorToProfile(TestNetworkFlavor):
diff --git a/openstackclient/tests/unit/network/v2/test_network_flavor_profile.py b/openstackclient/tests/unit/network/v2/test_network_flavor_profile.py
index 1fe82ce8b1..fdceff8fe1 100644
--- a/openstackclient/tests/unit/network/v2/test_network_flavor_profile.py
+++ b/openstackclient/tests/unit/network/v2/test_network_flavor_profile.py
@@ -24,9 +24,9 @@ class TestFlavorProfile(network_fakes.TestNetworkV2):
         super(TestFlavorProfile, self).setUp()
 
         # Get the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateFlavorProfile(TestFlavorProfile):
diff --git a/openstackclient/tests/unit/network/v2/test_network_meter.py b/openstackclient/tests/unit/network/v2/test_network_meter.py
index d1e3db65a4..67ce7ccb99 100644
--- a/openstackclient/tests/unit/network/v2/test_network_meter.py
+++ b/openstackclient/tests/unit/network/v2/test_network_meter.py
@@ -28,8 +28,8 @@ class TestMeter(network_fakes.TestNetworkV2):
     def setUp(self):
         super(TestMeter, self).setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.projects_mock = self.identity_client.projects
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateMeter(TestMeter):
diff --git a/openstackclient/tests/unit/network/v2/test_network_meter_rule.py b/openstackclient/tests/unit/network/v2/test_network_meter_rule.py
index 47c130f679..045b0e3c28 100644
--- a/openstackclient/tests/unit/network/v2/test_network_meter_rule.py
+++ b/openstackclient/tests/unit/network/v2/test_network_meter_rule.py
@@ -28,8 +28,8 @@ class TestMeterRule(network_fakes.TestNetworkV2):
     def setUp(self):
         super(TestMeterRule, self).setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.projects_mock = self.identity_client.projects
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateMeterRule(TestMeterRule):
diff --git a/openstackclient/tests/unit/network/v2/test_network_rbac.py b/openstackclient/tests/unit/network/v2/test_network_rbac.py
index 222fd7672e..ab45905352 100644
--- a/openstackclient/tests/unit/network/v2/test_network_rbac.py
+++ b/openstackclient/tests/unit/network/v2/test_network_rbac.py
@@ -28,7 +28,7 @@ class TestNetworkRBAC(network_fakes.TestNetworkV2):
         super(TestNetworkRBAC, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
 
 
 @ddt.ddt
diff --git a/openstackclient/tests/unit/network/v2/test_network_trunk.py b/openstackclient/tests/unit/network/v2/test_network_trunk.py
index 9d23a51da6..d4631a7d3a 100644
--- a/openstackclient/tests/unit/network/v2/test_network_trunk.py
+++ b/openstackclient/tests/unit/network/v2/test_network_trunk.py
@@ -31,9 +31,9 @@ class TestNetworkTrunk(network_fakes.TestNetworkV2):
         super().setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateNetworkTrunk(TestNetworkTrunk):
diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
index f09fe1e51e..62e2c8ef8a 100644
--- a/openstackclient/tests/unit/network/v2/test_port.py
+++ b/openstackclient/tests/unit/network/v2/test_port.py
@@ -33,7 +33,7 @@ class TestPort(network_fakes.TestNetworkV2):
         super(TestPort, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
 
     @staticmethod
     def _get_common_cols_data(fake_port):
diff --git a/openstackclient/tests/unit/network/v2/test_router.py b/openstackclient/tests/unit/network/v2/test_router.py
index 256fd9b70c..e84d170309 100644
--- a/openstackclient/tests/unit/network/v2/test_router.py
+++ b/openstackclient/tests/unit/network/v2/test_router.py
@@ -27,7 +27,7 @@ class TestRouter(network_fakes.TestNetworkV2):
     def setUp(self):
         super(TestRouter, self).setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
 
 
 class TestAddPortToRouter(TestRouter):
diff --git a/openstackclient/tests/unit/network/v2/test_security_group_network.py b/openstackclient/tests/unit/network/v2/test_security_group_network.py
index 03bcd9776d..062612dc69 100644
--- a/openstackclient/tests/unit/network/v2/test_security_group_network.py
+++ b/openstackclient/tests/unit/network/v2/test_security_group_network.py
@@ -27,9 +27,9 @@ class TestSecurityGroupNetwork(network_fakes.TestNetworkV2):
         super(TestSecurityGroupNetwork, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateSecurityGroupNetwork(TestSecurityGroupNetwork):
diff --git a/openstackclient/tests/unit/network/v2/test_security_group_rule_network.py b/openstackclient/tests/unit/network/v2/test_security_group_rule_network.py
index 7b28ae3456..2ac6cf99ac 100644
--- a/openstackclient/tests/unit/network/v2/test_security_group_rule_network.py
+++ b/openstackclient/tests/unit/network/v2/test_security_group_rule_network.py
@@ -28,9 +28,9 @@ class TestSecurityGroupRuleNetwork(network_fakes.TestNetworkV2):
         super(TestSecurityGroupRuleNetwork, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateSecurityGroupRuleNetwork(TestSecurityGroupRuleNetwork):
diff --git a/openstackclient/tests/unit/network/v2/test_subnet.py b/openstackclient/tests/unit/network/v2/test_subnet.py
index 649ba2af76..fc89209198 100644
--- a/openstackclient/tests/unit/network/v2/test_subnet.py
+++ b/openstackclient/tests/unit/network/v2/test_subnet.py
@@ -28,9 +28,9 @@ class TestSubnet(network_fakes.TestNetworkV2):
         super(TestSubnet, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateSubnet(TestSubnet):
diff --git a/openstackclient/tests/unit/network/v2/test_subnet_pool.py b/openstackclient/tests/unit/network/v2/test_subnet_pool.py
index 0035fe8cf4..bf441af9b4 100644
--- a/openstackclient/tests/unit/network/v2/test_subnet_pool.py
+++ b/openstackclient/tests/unit/network/v2/test_subnet_pool.py
@@ -27,9 +27,9 @@ class TestSubnetPool(network_fakes.TestNetworkV2):
         super(TestSubnetPool, self).setUp()
 
         # Get a shortcut to the ProjectManager Mock
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         # Get a shortcut to the DomainManager Mock
-        self.domains_mock = self.app.client_manager.identity.domains
+        self.domains_mock = self.identity_client.domains
 
 
 class TestCreateSubnetPool(TestSubnetPool):
diff --git a/openstackclient/tests/unit/volume/v1/test_volume.py b/openstackclient/tests/unit/volume/v1/test_volume.py
index a4fd503684..6e3a5cdd85 100644
--- a/openstackclient/tests/unit/volume/v1/test_volume.py
+++ b/openstackclient/tests/unit/volume/v1/test_volume.py
@@ -35,11 +35,11 @@ class TestVolume(volume_fakes.TestVolumev1):
         self.volumes_mock.reset_mock()
 
         # Get a shortcut to the TenantManager Mock
-        self.projects_mock = self.app.client_manager.identity.tenants
+        self.projects_mock = self.identity_client.tenants
         self.projects_mock.reset_mock()
 
         # Get a shortcut to the UserManager Mock
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
     def setup_volumes_mock(self, count):
diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py
index e30a312dd5..130bf70035 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume.py
@@ -33,10 +33,10 @@ class TestVolume(volume_fakes.TestVolume):
         self.volumes_mock = self.volume_client.volumes
         self.volumes_mock.reset_mock()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
-        self.users_mock = self.app.client_manager.identity.users
+        self.users_mock = self.identity_client.users
         self.users_mock.reset_mock()
 
         self.snapshots_mock = self.volume_client.volume_snapshots
diff --git a/openstackclient/tests/unit/volume/v2/test_volume_snapshot.py b/openstackclient/tests/unit/volume/v2/test_volume_snapshot.py
index 03f2a33fa8..6e7e02ae0f 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume_snapshot.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume_snapshot.py
@@ -31,7 +31,7 @@ class TestVolumeSnapshot(volume_fakes.TestVolume):
         self.snapshots_mock.reset_mock()
         self.volumes_mock = self.volume_client.volumes
         self.volumes_mock.reset_mock()
-        self.project_mock = self.app.client_manager.identity.projects
+        self.project_mock = self.identity_client.projects
         self.project_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/volume/v2/test_volume_type.py b/openstackclient/tests/unit/volume/v2/test_volume_type.py
index f3d159b12f..8b5096ce41 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume_type.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume_type.py
@@ -41,7 +41,7 @@ class TestType(volume_fakes.TestVolume):
         )
         self.volume_encryption_types_mock.reset_mock()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
 
diff --git a/openstackclient/tests/unit/volume/v3/test_volume_attachment.py b/openstackclient/tests/unit/volume/v3/test_volume_attachment.py
index 91b27eb2cf..10d6a9862d 100644
--- a/openstackclient/tests/unit/volume/v3/test_volume_attachment.py
+++ b/openstackclient/tests/unit/volume/v3/test_volume_attachment.py
@@ -30,7 +30,7 @@ class TestVolumeAttachment(volume_fakes.TestVolume):
         self.volume_attachments_mock = self.volume_client.attachments
         self.volume_attachments_mock.reset_mock()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
         self.servers_mock = self.compute_client.servers
diff --git a/openstackclient/tests/unit/volume/v3/test_volume_message.py b/openstackclient/tests/unit/volume/v3/test_volume_message.py
index aa3fc8058f..63349f49dd 100644
--- a/openstackclient/tests/unit/volume/v3/test_volume_message.py
+++ b/openstackclient/tests/unit/volume/v3/test_volume_message.py
@@ -24,7 +24,7 @@ class TestVolumeMessage(volume_fakes.TestVolume):
     def setUp(self):
         super().setUp()
 
-        self.projects_mock = self.app.client_manager.identity.projects
+        self.projects_mock = self.identity_client.projects
         self.projects_mock.reset_mock()
 
         self.volume_messages_mock = self.volume_client.messages