Skip to content

Commit e1a8636

Browse files
committed
tests: Add image v1, v2 FakeClientMixin
This ensures we are speccing the image proxy API, as we did previously for the network tests in Ic203964c7dede7dd80ae2d93b8fa1b7e6634a758. Change-Id: I09539cbf35444272fb3aaabfecd5d731d1ecc4a8 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent 28b1267 commit e1a8636

File tree

8 files changed

+40
-25
lines changed

8 files changed

+40
-25
lines changed

openstackclient/tests/unit/compute/v2/fakes.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
from openstackclient.api import compute_v2
3939
from openstackclient.tests.unit import fakes
4040
from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes
41+
from openstackclient.tests.unit.image.v2 import fakes as image_fakes
4142
from openstackclient.tests.unit.network.v2 import fakes as network_fakes
4243
from openstackclient.tests.unit import utils
4344
from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
@@ -147,7 +148,11 @@ def __init__(self, **kwargs):
147148
self.api_version = api_versions.APIVersion('2.1')
148149

149150

150-
class TestComputev2(network_fakes.FakeClientMixin, utils.TestCommand):
151+
class TestComputev2(
152+
network_fakes.FakeClientMixin,
153+
image_fakes.FakeClientMixin,
154+
utils.TestCommand,
155+
):
151156
def setUp(self):
152157
super().setUp()
153158

@@ -166,9 +171,6 @@ def setUp(self):
166171
token=fakes.AUTH_TOKEN,
167172
)
168173

169-
self.app.client_manager.image = mock.Mock()
170-
self.image_client = self.app.client_manager.image
171-
172174
self.app.client_manager.volume = volume_fakes.FakeVolumeClient(
173175
endpoint=fakes.AUTH_URL,
174176
token=fakes.AUTH_TOKEN,

openstackclient/tests/unit/image/v1/fakes.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,26 @@
1515
from unittest import mock
1616
import uuid
1717

18+
from openstack.image.v1 import _proxy
1819
from openstack.image.v1 import image
1920

2021
from openstackclient.tests.unit import fakes
2122
from openstackclient.tests.unit import utils
2223
from openstackclient.tests.unit.volume.v1 import fakes as volume_fakes
2324

2425

25-
class TestImagev1(utils.TestCommand):
26+
class FakeClientMixin:
2627
def setUp(self):
2728
super().setUp()
2829

29-
self.app.client_manager.image = mock.Mock()
30+
self.app.client_manager.image = mock.Mock(spec=_proxy.Proxy)
3031
self.image_client = self.app.client_manager.image
3132

33+
34+
class TestImagev1(FakeClientMixin, utils.TestCommand):
35+
def setUp(self):
36+
super().setUp()
37+
3238
self.app.client_manager.volume = volume_fakes.FakeVolumev1Client(
3339
endpoint=fakes.AUTH_URL,
3440
token=fakes.AUTH_TOKEN,

openstackclient/tests/unit/image/v2/fakes.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from unittest import mock
1717
import uuid
1818

19+
from openstack.image.v2 import _proxy
1920
from openstack.image.v2 import image
2021
from openstack.image.v2 import member
2122
from openstack.image.v2 import metadef_namespace
@@ -28,13 +29,18 @@
2829
from openstackclient.tests.unit import utils
2930

3031

31-
class TestImagev2(utils.TestCommand):
32+
class FakeClientMixin:
3233
def setUp(self):
3334
super().setUp()
3435

35-
self.app.client_manager.image = mock.Mock()
36+
self.app.client_manager.image = mock.Mock(spec=_proxy.Proxy)
3637
self.image_client = self.app.client_manager.image
3738

39+
40+
class TestImagev2(FakeClientMixin, utils.TestCommand):
41+
def setUp(self):
42+
super().setUp()
43+
3844
self.app.client_manager.identity = identity_fakes.FakeIdentityv3Client(
3945
endpoint=fakes.AUTH_URL,
4046
token=fakes.AUTH_TOKEN,

openstackclient/tests/unit/image/v2/test_image.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ def setUp(self):
4444
self.volumes_mock.upload_to_image.return_value = (200, fake_body)
4545
self.volumes_mock.reset_mock()
4646

47-
def setup_images_mock(self, count):
48-
images = image_fakes.create_images(count=count)
49-
50-
return images
51-
5247

5348
class TestImageCreate(TestImage):
5449
project = identity_fakes.FakeProject.create_one_project()
@@ -502,7 +497,7 @@ def setUp(self):
502497
self.cmd = _image.DeleteImage(self.app, None)
503498

504499
def test_image_delete_no_options(self):
505-
images = self.setup_images_mock(count=1)
500+
images = image_fakes.create_images(count=1)
506501

507502
arglist = [
508503
images[0].id,
@@ -522,7 +517,7 @@ def test_image_delete_no_options(self):
522517
self.assertIsNone(result)
523518

524519
def test_image_delete_from_store(self):
525-
images = self.setup_images_mock(count=1)
520+
images = image_fakes.create_images(count=1)
526521

527522
arglist = [
528523
images[0].id,
@@ -542,7 +537,7 @@ def test_image_delete_from_store(self):
542537
self.assertIsNone(result)
543538

544539
def test_image_delete_multi_images(self):
545-
images = self.setup_images_mock(count=3)
540+
images = image_fakes.create_images(count=3)
546541

547542
arglist = [i.id for i in images]
548543
verifylist = [
@@ -562,7 +557,7 @@ def test_image_delete_multi_images(self):
562557
self.assertIsNone(result)
563558

564559
def test_image_delete_from_store_without_multi_backend(self):
565-
images = self.setup_images_mock(count=1)
560+
images = image_fakes.create_images(count=1)
566561

567562
arglist = [images[0].id, '--store', 'store1']
568563
verifylist = [('images', [images[0].id]), ('store', 'store1')]
@@ -1132,7 +1127,7 @@ def test_image_set_no_options(self):
11321127

11331128
self.assertIsNone(result)
11341129
# we'll have called this but not set anything
1135-
self.app.client_manager.image.update_image.assert_called_once_with(
1130+
self.image_client.update_image.assert_called_once_with(
11361131
self._image.id,
11371132
)
11381133

openstackclient/tests/unit/volume/v1/fakes.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
from unittest import mock
1919
import uuid
2020

21+
from openstack.image.v1 import _proxy as image_v1_proxy
22+
2123
from openstackclient.tests.unit import fakes
2224
from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes
2325
from openstackclient.tests.unit import utils
@@ -65,7 +67,10 @@ def setUp(self):
6567
token=fakes.AUTH_TOKEN,
6668
)
6769

68-
self.app.client_manager.image = mock.Mock()
70+
# avoid circular imports by defining this manually rather than using
71+
# openstackclient.tests.unit.image.v1.fakes.FakeClientMixin
72+
self.app.client_manager.image = mock.Mock(spec=image_v1_proxy.Proxy)
73+
self.image_client = self.app.client_manager.image
6974

7075

7176
def create_one_transfer(attrs=None):

openstackclient/tests/unit/volume/v1/test_volume.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,6 @@ def setUp(self):
4444
self.users_mock = self.app.client_manager.identity.users
4545
self.users_mock.reset_mock()
4646

47-
self.app.client_manager.image = mock.Mock()
48-
self.image_client = self.app.client_manager.image
49-
5047
def setup_volumes_mock(self, count):
5148
volumes = volume_fakes.create_volumes(count=count)
5249

openstackclient/tests/unit/volume/v2/fakes.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
from cinderclient import api_versions
2121
from openstack.block_storage.v3 import volume
22+
from openstack.image.v2 import _proxy as image_v2_proxy
2223
from osc_lib.cli import format_columns
2324

2425
from openstackclient.tests.unit import fakes
@@ -92,10 +93,15 @@ def setUp(self):
9293
self.app.client_manager.volume = FakeVolumeClient(
9394
endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN
9495
)
96+
9597
self.app.client_manager.identity = identity_fakes.FakeIdentityv3Client(
9698
endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN
9799
)
98-
self.app.client_manager.image = mock.Mock()
100+
101+
# avoid circular imports by defining this manually rather than using
102+
# openstackclient.tests.unit.image.v2.fakes.FakeClientMixin
103+
self.app.client_manager.image = mock.Mock(spec=image_v2_proxy.Proxy)
104+
self.image_client = self.app.client_manager.image
99105

100106

101107
def create_one_transfer(attrs=None):

openstackclient/tests/unit/volume/v2/test_volume.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ def setUp(self):
5555
)
5656
self.consistencygroups_mock.reset_mock()
5757

58-
self.image_client = self.app.client_manager.image
59-
6058
def setup_volumes_mock(self, count):
6159
volumes = volume_fakes.create_volumes(count=count)
6260

0 commit comments

Comments
 (0)