Skip to content

Commit 28b1267

Browse files
committed
tests: Use consistent shortcut to fake image client
This removes the need for a number of base test case subclasses. We use 'image_client' rather than 'client' to avoid conflicts with clients for other services. Note that this highlights a minor bug with the 'volume create' command when using the v1 block storage API and creating a volume from an image. This is corrected, though it can be assumed that no one is actually using this code path to say it hasn't been reported in the few years since the bug was introduced in Ussuri. Change-Id: I571be27f68bb7669dcb883f3b4799731b4a35479 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent a823228 commit 28b1267

File tree

15 files changed

+301
-359
lines changed

15 files changed

+301
-359
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ def setUp(self):
167167
)
168168

169169
self.app.client_manager.image = mock.Mock()
170+
self.image_client = self.app.client_manager.image
170171

171172
self.app.client_manager.volume = volume_fakes.FakeVolumeClient(
172173
endpoint=fakes.AUTH_URL,

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

Lines changed: 63 additions & 73 deletions
Large diffs are not rendered by default.

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@ def setUp(self):
3131
self.app.client_manager.sdk_connection.compute = mock.Mock()
3232
self.sdk_client = self.app.client_manager.sdk_connection.compute
3333

34-
# Get a shortcut to the image client ImageManager Mock
35-
self.images_mock = self.app.client_manager.image
36-
self.images_mock.find_image.reset_mock()
37-
3834
# Set object attributes to be tested. Could be overwritten in subclass.
3935
self.attrs = {}
4036

@@ -102,8 +98,7 @@ def setup_images_mock(self, count, servers=None):
10298
count=count,
10399
)
104100

105-
# self.images_mock.get = mock.Mock(side_effect=images)
106-
self.images_mock.find_image = mock.Mock(side_effect=images)
101+
self.image_client.find_image = mock.Mock(side_effect=images)
107102
return images
108103

109104
def test_server_backup_defaults(self):
@@ -177,7 +172,7 @@ def test_server_backup_create_options(self):
177172
def test_server_backup_wait_fail(self, mock_wait_for_status):
178173
servers = self.setup_servers_mock(count=1)
179174
images = self.setup_images_mock(count=1, servers=servers)
180-
self.images_mock.get_image = mock.Mock(
175+
self.image_client.get_image = mock.Mock(
181176
side_effect=images[0],
182177
)
183178

@@ -211,15 +206,15 @@ def test_server_backup_wait_fail(self, mock_wait_for_status):
211206
)
212207

213208
mock_wait_for_status.assert_called_once_with(
214-
self.images_mock.get_image, images[0].id, callback=mock.ANY
209+
self.image_client.get_image, images[0].id, callback=mock.ANY
215210
)
216211

217212
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
218213
def test_server_backup_wait_ok(self, mock_wait_for_status):
219214
servers = self.setup_servers_mock(count=1)
220215
images = self.setup_images_mock(count=1, servers=servers)
221216

222-
self.images_mock.get_image = mock.Mock(
217+
self.image_client.get_image = mock.Mock(
223218
side_effect=images[0],
224219
)
225220

@@ -252,7 +247,7 @@ def test_server_backup_wait_ok(self, mock_wait_for_status):
252247
)
253248

254249
mock_wait_for_status.assert_called_once_with(
255-
self.images_mock.get_image, images[0].id, callback=mock.ANY
250+
self.image_client.get_image, images[0].id, callback=mock.ANY
256251
)
257252

258253
self.assertEqual(self.image_columns(images[0]), columns)

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ def setUp(self):
3030
self.app.client_manager.sdk_connection.compute = mock.Mock()
3131
self.sdk_client = self.app.client_manager.sdk_connection.compute
3232

33-
# Get a shortcut to the image client ImageManager Mock
34-
self.images_mock = self.app.client_manager.image
35-
self.images_mock.find_image.reset_mock()
36-
3733
# Set object attributes to be tested. Could be overwritten in subclass.
3834
self.attrs = {}
3935

@@ -100,7 +96,7 @@ def setup_images_mock(self, count, servers=None):
10096
count=count,
10197
)
10298

103-
self.images_mock.find_image = mock.Mock(side_effect=images)
99+
self.image_client.find_image = mock.Mock(side_effect=images)
104100
self.sdk_client.create_server_image = mock.Mock(
105101
return_value=images[0],
106102
)
@@ -192,7 +188,7 @@ def test_server_create_image_wait_fail(self, mock_wait_for_status):
192188
)
193189

194190
mock_wait_for_status.assert_called_once_with(
195-
self.images_mock.get_image, images[0].id, callback=mock.ANY
191+
self.image_client.get_image, images[0].id, callback=mock.ANY
196192
)
197193

198194
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
@@ -222,7 +218,7 @@ def test_server_create_image_wait_ok(self, mock_wait_for_status):
222218
)
223219

224220
mock_wait_for_status.assert_called_once_with(
225-
self.images_mock.get_image, images[0].id, callback=mock.ANY
221+
self.image_client.get_image, images[0].id, callback=mock.ANY
226222
)
227223

228224
self.assertEqual(self.image_columns(images[0]), columns)

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,13 @@ def setUp(self):
2727
super().setUp()
2828

2929
self.app.client_manager.image = mock.Mock()
30+
self.image_client = self.app.client_manager.image
3031

3132
self.app.client_manager.volume = volume_fakes.FakeVolumev1Client(
3233
endpoint=fakes.AUTH_URL,
3334
token=fakes.AUTH_TOKEN,
3435
)
3536

36-
self.client = self.app.client_manager.image
37-
3837

3938
def create_one_image(attrs=None):
4039
"""Create a fake image.

0 commit comments

Comments
 (0)