From c86b9d8cc7d6435e3f73be732c69c9886301dfa3 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Wed, 14 Feb 2024 17:44:04 +0000 Subject: [PATCH] tests: Add identity v2, v3 FakeClientMixin This ensures we are speccing the identity proxy API, as we did previously for other services. Change-Id: I4d090bab001f9b7e1d83ca8fee9e7e1117844cd8 Signed-off-by: Stephen Finucane --- .../tests/unit/compute/v2/fakes.py | 9 +--- .../tests/unit/identity/v2_0/fakes.py | 22 +++++++++- .../tests/unit/identity/v3/fakes.py | 44 ++++++++++++++++++- openstackclient/tests/unit/image/v2/fakes.py | 15 +++---- .../tests/unit/network/v2/fakes.py | 15 +++---- openstackclient/tests/unit/volume/v1/fakes.py | 11 +++-- openstackclient/tests/unit/volume/v2/fakes.py | 10 ++--- openstackclient/tests/unit/volume/v3/fakes.py | 10 ++--- 8 files changed, 91 insertions(+), 45 deletions(-) diff --git a/openstackclient/tests/unit/compute/v2/fakes.py b/openstackclient/tests/unit/compute/v2/fakes.py index 3e9f4ad9bf..5806bf4344 100644 --- a/openstackclient/tests/unit/compute/v2/fakes.py +++ b/openstackclient/tests/unit/compute/v2/fakes.py @@ -178,16 +178,11 @@ class TestComputev2( network_fakes.FakeClientMixin, image_fakes.FakeClientMixin, volume_fakes.FakeClientMixin, + identity_fakes.FakeClientMixin, FakeClientMixin, utils.TestCommand, ): - def setUp(self): - super().setUp() - - self.app.client_manager.identity = identity_fakes.FakeIdentityv2Client( - endpoint=fakes.AUTH_URL, - token=fakes.AUTH_TOKEN, - ) + ... def create_one_aggregate(attrs=None): diff --git a/openstackclient/tests/unit/identity/v2_0/fakes.py b/openstackclient/tests/unit/identity/v2_0/fakes.py index 708f9a8354..70017c58a0 100644 --- a/openstackclient/tests/unit/identity/v2_0/fakes.py +++ b/openstackclient/tests/unit/identity/v2_0/fakes.py @@ -19,6 +19,7 @@ import uuid from keystoneauth1 import access from keystoneauth1 import fixture +from openstack.identity.v2 import _proxy from openstackclient.tests.unit import fakes from openstackclient.tests.unit import utils @@ -183,14 +184,31 @@ class FakeIdentityv2Client(object): raise AttributeError(name) -class TestIdentityv2(utils.TestCommand): +class FakeClientMixin: def setUp(self): - super(TestIdentityv2, self).setUp() + super().setUp() self.app.client_manager.identity = FakeIdentityv2Client( endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN, ) + self.identity_client = self.app.client_manager.identity + + # TODO(stephenfin): Rename to 'identity_client' once all commands are + # migrated to SDK + self.app.client_manager.sdk_connection.identity = mock.Mock( + _proxy.Proxy + ) + self.identity_sdk_client = ( + self.app.client_manager.sdk_connection.identity + ) + + +class TestIdentityv2( + FakeClientMixin, + utils.TestCommand, +): + ... class FakeExtension(object): diff --git a/openstackclient/tests/unit/identity/v3/fakes.py b/openstackclient/tests/unit/identity/v3/fakes.py index 0626df874f..27d98b0679 100644 --- a/openstackclient/tests/unit/identity/v3/fakes.py +++ b/openstackclient/tests/unit/identity/v3/fakes.py @@ -20,6 +20,7 @@ import uuid from keystoneauth1 import access from keystoneauth1 import fixture +from openstack.identity.v3 import _proxy from osc_lib.cli import format_columns from openstackclient.tests.unit import fakes @@ -666,16 +667,34 @@ class FakeOAuth1Client(FakeIdentityv3Client): self.request_tokens.resource_class = fakes.FakeResource(None, {}) -class TestIdentityv3(utils.TestCommand): +class FakeClientMixin: def setUp(self): - super(TestIdentityv3, self).setUp() + super().setUp() self.app.client_manager.identity = FakeIdentityv3Client( endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN, ) + self.identity_client = self.app.client_manager.identity + + # TODO(stephenfin): Rename to 'identity_client' once all commands are + # migrated to SDK + self.app.client_manager.sdk_connection.identity = mock.Mock( + _proxy.Proxy + ) + self.identity_sdk_client = ( + self.app.client_manager.sdk_connection.identity + ) +class TestIdentityv3( + FakeClientMixin, + utils.TestCommand, +): + ... + + +# We don't use FakeClientMixin since we want a different fake legacy client class TestFederatedIdentity(utils.TestCommand): def setUp(self): super(TestFederatedIdentity, self).setUp() @@ -683,8 +702,19 @@ class TestFederatedIdentity(utils.TestCommand): self.app.client_manager.identity = FakeFederatedClient( endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN ) + self.identity_client = self.app.client_manager.identity + + # TODO(stephenfin): Rename to 'identity_client' once all commands are + # migrated to SDK + self.app.client_manager.sdk_connection.identity = mock.Mock( + _proxy.Proxy + ) + self.identity_sdk_client = ( + self.app.client_manager.sdk_connection.identity + ) +# We don't use FakeClientMixin since we want a different fake legacy client class TestOAuth1(utils.TestCommand): def setUp(self): super(TestOAuth1, self).setUp() @@ -692,6 +722,16 @@ class TestOAuth1(utils.TestCommand): self.app.client_manager.identity = FakeOAuth1Client( endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN ) + self.identity_client = self.app.client_manager.identity + + # TODO(stephenfin): Rename to 'identity_client' once all commands are + # migrated to SDK + self.app.client_manager.sdk_connection.identity = mock.Mock( + _proxy.Proxy + ) + self.identity_sdk_client = ( + self.app.client_manager.sdk_connection.identity + ) class FakeProject(object): diff --git a/openstackclient/tests/unit/image/v2/fakes.py b/openstackclient/tests/unit/image/v2/fakes.py index 6565495fb9..e152da9726 100644 --- a/openstackclient/tests/unit/image/v2/fakes.py +++ b/openstackclient/tests/unit/image/v2/fakes.py @@ -27,7 +27,6 @@ from openstack.image.v2 import metadef_resource_type from openstack.image.v2 import service_info as _service_info from openstack.image.v2 import task -from openstackclient.tests.unit import fakes from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes from openstackclient.tests.unit import utils @@ -40,14 +39,12 @@ class FakeClientMixin: self.image_client = self.app.client_manager.image -class TestImagev2(FakeClientMixin, utils.TestCommand): - def setUp(self): - super().setUp() - - self.app.client_manager.identity = identity_fakes.FakeIdentityv3Client( - endpoint=fakes.AUTH_URL, - token=fakes.AUTH_TOKEN, - ) +class TestImagev2( + identity_fakes.FakeClientMixin, + FakeClientMixin, + utils.TestCommand, +): + ... def create_one_image(attrs=None): diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py index ac02d96adf..fdd41b0a80 100644 --- a/openstackclient/tests/unit/network/v2/fakes.py +++ b/openstackclient/tests/unit/network/v2/fakes.py @@ -38,7 +38,7 @@ from openstack.network.v2 import service_profile as _flavor_profile from openstack.network.v2 import trunk as _trunk from openstackclient.tests.unit import fakes -from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes_v3 +from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes from openstackclient.tests.unit import utils @@ -101,19 +101,16 @@ class FakeClientMixin: self.network_client = self.app.client_manager.network -class TestNetworkV2(FakeClientMixin, utils.TestCommand): +class TestNetworkV2( + identity_fakes.FakeClientMixin, + FakeClientMixin, + utils.TestCommand, +): def setUp(self): super().setUp() self.namespace = argparse.Namespace() - self.app.client_manager.identity = ( - identity_fakes_v3.FakeIdentityv3Client( - endpoint=fakes.AUTH_URL, - token=fakes.AUTH_TOKEN, - ) - ) - def create_one_extension(attrs=None): """Create a fake extension. diff --git a/openstackclient/tests/unit/volume/v1/fakes.py b/openstackclient/tests/unit/volume/v1/fakes.py index b9d9bf2644..9b4dc126de 100644 --- a/openstackclient/tests/unit/volume/v1/fakes.py +++ b/openstackclient/tests/unit/volume/v1/fakes.py @@ -64,15 +64,14 @@ class FakeClientMixin: self.volume_client = self.app.client_manager.volume -class TestVolumev1(FakeClientMixin, utils.TestCommand): +class TestVolumev1( + identity_fakes.FakeClientMixin, + FakeClientMixin, + utils.TestCommand, +): def setUp(self): super().setUp() - self.app.client_manager.identity = identity_fakes.FakeIdentityv2Client( - endpoint=fakes.AUTH_URL, - token=fakes.AUTH_TOKEN, - ) - # avoid circular imports by defining this manually rather than using # openstackclient.tests.unit.image.v1.fakes.FakeClientMixin self.app.client_manager.image = mock.Mock(spec=image_v1_proxy.Proxy) diff --git a/openstackclient/tests/unit/volume/v2/fakes.py b/openstackclient/tests/unit/volume/v2/fakes.py index 4d04fcdbfc..00e7618c75 100644 --- a/openstackclient/tests/unit/volume/v2/fakes.py +++ b/openstackclient/tests/unit/volume/v2/fakes.py @@ -108,14 +108,14 @@ class FakeClientMixin: self.volume_sdk_client = self.app.client_manager.sdk_connection.volume -class TestVolume(FakeClientMixin, utils.TestCommand): +class TestVolume( + identity_fakes.FakeClientMixin, + FakeClientMixin, + utils.TestCommand, +): def setUp(self): super().setUp() - self.app.client_manager.identity = identity_fakes.FakeIdentityv3Client( - endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN - ) - # avoid circular imports by defining this manually rather than using # openstackclient.tests.unit.image.v2.fakes.FakeClientMixin self.app.client_manager.image = mock.Mock(spec=image_v2_proxy.Proxy) diff --git a/openstackclient/tests/unit/volume/v3/fakes.py b/openstackclient/tests/unit/volume/v3/fakes.py index b1366a613b..8c786bc722 100644 --- a/openstackclient/tests/unit/volume/v3/fakes.py +++ b/openstackclient/tests/unit/volume/v3/fakes.py @@ -82,14 +82,14 @@ class FakeClientMixin: self.volume_sdk_client = self.app.client_manager.sdk_connection.volume -class TestVolume(FakeClientMixin, utils.TestCommand): +class TestVolume( + identity_fakes.FakeClientMixin, + FakeClientMixin, + utils.TestCommand, +): def setUp(self): super().setUp() - self.app.client_manager.identity = identity_fakes.FakeIdentityv3Client( - endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN - ) - # avoid circular imports from openstackclient.tests.unit.compute.v2 import ( fakes as compute_fakes,