Skip to content

Commit 21a072c

Browse files
committed
volume: Migrate 'volume group type *' to SDK
Change-Id: I6d9d5b4dc002358c8a15fe40ca25cc52454853a2 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent d3ab1c9 commit 21a072c

3 files changed

Lines changed: 145 additions & 135 deletions

File tree

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -845,20 +845,6 @@ def create_one_volume_group_type(attrs=None, methods=None):
845845
return group_type
846846

847847

848-
def create_volume_group_types(attrs=None, count=2):
849-
"""Create multiple fake group types.
850-
851-
:param attrs: A dictionary with all attributes of group type
852-
:param count: The number of group types to be faked
853-
:return: A list of FakeResource objects
854-
"""
855-
group_types = []
856-
for n in range(0, count):
857-
group_types.append(create_one_volume_group_type(attrs))
858-
859-
return group_types
860-
861-
862848
def create_one_volume_message(attrs=None):
863849
"""Create a fake message.
864850

openstackclient/tests/unit/volume/v3/test_volume_group_type.py

Lines changed: 68 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
1212

13-
from unittest import mock
14-
13+
from openstack.block_storage.v3 import group_type as _group_type
14+
from openstack.test import fakes as sdk_fakes
1515
from osc_lib.cli import format_columns
1616
from osc_lib import exceptions
1717

@@ -22,13 +22,13 @@
2222
class TestVolumeGroupType(volume_fakes.TestVolume):
2323
def setUp(self):
2424
super().setUp()
25-
26-
self.volume_group_types_mock = self.volume_client.group_types
27-
self.volume_group_types_mock.reset_mock()
25+
self.set_volume_api_version('3.11')
2826

2927

3028
class TestVolumeGroupTypeCreate(TestVolumeGroupType):
31-
fake_volume_group_type = volume_fakes.create_one_volume_group_type()
29+
fake_volume_group_type = sdk_fakes.generate_fake_resource(
30+
_group_type.GroupType
31+
)
3232

3333
columns = (
3434
'ID',
@@ -48,15 +48,13 @@ class TestVolumeGroupTypeCreate(TestVolumeGroupType):
4848
def setUp(self):
4949
super().setUp()
5050

51-
self.volume_group_types_mock.create.return_value = (
51+
self.volume_sdk_client.create_group_type.return_value = (
5252
self.fake_volume_group_type
5353
)
5454

5555
self.cmd = volume_group_type.CreateVolumeGroupType(self.app, None)
5656

5757
def test_volume_group_type_create(self):
58-
self.set_volume_api_version('3.11')
59-
6058
arglist = [
6159
self.fake_volume_group_type.name,
6260
]
@@ -69,15 +67,15 @@ def test_volume_group_type_create(self):
6967

7068
columns, data = self.cmd.take_action(parsed_args)
7169

72-
self.volume_group_types_mock.create.assert_called_once_with(
73-
self.fake_volume_group_type.name, None, True
70+
self.volume_sdk_client.create_group_type.assert_called_once_with(
71+
name=self.fake_volume_group_type.name,
72+
description=None,
73+
is_public=True,
7474
)
7575
self.assertEqual(self.columns, columns)
7676
self.assertCountEqual(self.data, data)
7777

7878
def test_volume_group_type_create_with_options(self):
79-
self.set_volume_api_version('3.11')
80-
8179
arglist = [
8280
self.fake_volume_group_type.name,
8381
'--description',
@@ -93,8 +91,10 @@ def test_volume_group_type_create_with_options(self):
9391

9492
columns, data = self.cmd.take_action(parsed_args)
9593

96-
self.volume_group_types_mock.create.assert_called_once_with(
97-
self.fake_volume_group_type.name, 'foo', False
94+
self.volume_sdk_client.create_group_type.assert_called_once_with(
95+
name=self.fake_volume_group_type.name,
96+
description='foo',
97+
is_public=False,
9898
)
9999
self.assertEqual(self.columns, columns)
100100
self.assertCountEqual(self.data, data)
@@ -121,21 +121,21 @@ def test_volume_group_type_create_pre_v311(self):
121121

122122

123123
class TestVolumeGroupTypeDelete(TestVolumeGroupType):
124-
fake_volume_group_type = volume_fakes.create_one_volume_group_type()
124+
fake_volume_group_type = sdk_fakes.generate_fake_resource(
125+
_group_type.GroupType
126+
)
125127

126128
def setUp(self):
127129
super().setUp()
128130

129-
self.volume_group_types_mock.get.return_value = (
131+
self.volume_sdk_client.find_group_type.return_value = (
130132
self.fake_volume_group_type
131133
)
132-
self.volume_group_types_mock.delete.return_value = None
134+
self.volume_sdk_client.delete_group_type.return_value = None
133135

134136
self.cmd = volume_group_type.DeleteVolumeGroupType(self.app, None)
135137

136138
def test_volume_group_type_delete(self):
137-
self.set_volume_api_version('3.11')
138-
139139
arglist = [
140140
self.fake_volume_group_type.id,
141141
]
@@ -146,8 +146,12 @@ def test_volume_group_type_delete(self):
146146

147147
result = self.cmd.take_action(parsed_args)
148148

149-
self.volume_group_types_mock.delete.assert_called_once_with(
149+
self.volume_sdk_client.find_group_type.assert_called_once_with(
150150
self.fake_volume_group_type.id,
151+
ignore_missing=False,
152+
)
153+
self.volume_sdk_client.delete_group_type.assert_called_once_with(
154+
self.fake_volume_group_type,
151155
)
152156
self.assertIsNone(result)
153157

@@ -171,12 +175,8 @@ def test_volume_group_type_delete_pre_v311(self):
171175

172176

173177
class TestVolumeGroupTypeSet(TestVolumeGroupType):
174-
fake_volume_group_type = volume_fakes.create_one_volume_group_type(
175-
methods={
176-
'get_keys': {'foo': 'bar'},
177-
'set_keys': None,
178-
'unset_keys': None,
179-
},
178+
fake_volume_group_type = sdk_fakes.generate_fake_resource(
179+
_group_type.GroupType, group_specs={'foo': 'bar'}
180180
)
181181

182182
columns = (
@@ -197,20 +197,16 @@ class TestVolumeGroupTypeSet(TestVolumeGroupType):
197197
def setUp(self):
198198
super().setUp()
199199

200-
self.volume_group_types_mock.get.return_value = (
200+
self.volume_sdk_client.find_group_type.return_value = (
201201
self.fake_volume_group_type
202202
)
203-
self.volume_group_types_mock.update.return_value = (
203+
self.volume_sdk_client.update_group_type.return_value = (
204204
self.fake_volume_group_type
205205
)
206206

207207
self.cmd = volume_group_type.SetVolumeGroupType(self.app, None)
208208

209209
def test_volume_group_type_set(self):
210-
self.set_volume_api_version('3.11')
211-
212-
self.fake_volume_group_type.set_keys.return_value = None
213-
214210
arglist = [
215211
self.fake_volume_group_type.id,
216212
'--name',
@@ -233,21 +229,20 @@ def test_volume_group_type_set(self):
233229

234230
columns, data = self.cmd.take_action(parsed_args)
235231

236-
self.volume_group_types_mock.update.assert_called_once_with(
232+
self.volume_sdk_client.update_group_type.assert_called_once_with(
237233
self.fake_volume_group_type.id,
238234
name='foo',
239235
description='hello, world',
240236
is_public=True,
241237
)
242-
self.fake_volume_group_type.set_keys.assert_called_once_with(
238+
self.volume_sdk_client.create_group_type_group_specs.assert_called_once_with(
239+
self.fake_volume_group_type.id,
243240
{'fizz': 'buzz'},
244241
)
245242
self.assertEqual(self.columns, columns)
246243
self.assertCountEqual(self.data, data)
247244

248245
def test_volume_group_type_with_no_property_option(self):
249-
self.set_volume_api_version('3.11')
250-
251246
arglist = [
252247
self.fake_volume_group_type.id,
253248
'--no-property',
@@ -266,12 +261,13 @@ def test_volume_group_type_with_no_property_option(self):
266261

267262
columns, data = self.cmd.take_action(parsed_args)
268263

269-
self.volume_group_types_mock.get.assert_called_once_with(
270-
self.fake_volume_group_type.id
264+
self.volume_sdk_client.delete_group_type_group_specs_property.assert_called_once_with(
265+
self.fake_volume_group_type.id,
266+
'foo',
271267
)
272-
self.fake_volume_group_type.get_keys.assert_called_once_with()
273-
self.fake_volume_group_type.unset_keys.assert_called_once_with(
274-
{'foo': 'bar'}.keys()
268+
self.volume_sdk_client.create_group_type_group_specs.assert_called_once_with(
269+
self.fake_volume_group_type.id,
270+
{'fizz': 'buzz'},
275271
)
276272
self.assertEqual(self.columns, columns)
277273
self.assertCountEqual(self.data, data)
@@ -305,8 +301,8 @@ def test_volume_group_type_set_pre_v311(self):
305301

306302

307303
class TestVolumeGroupTypeUnset(TestVolumeGroupType):
308-
fake_volume_group_type = volume_fakes.create_one_volume_group_type(
309-
methods={'unset_keys': None},
304+
fake_volume_group_type = sdk_fakes.generate_fake_resource(
305+
_group_type.GroupType
310306
)
311307

312308
columns = (
@@ -327,15 +323,13 @@ class TestVolumeGroupTypeUnset(TestVolumeGroupType):
327323
def setUp(self):
328324
super().setUp()
329325

330-
self.volume_group_types_mock.get.return_value = (
326+
self.volume_sdk_client.find_group_type.return_value = (
331327
self.fake_volume_group_type
332328
)
333329

334330
self.cmd = volume_group_type.UnsetVolumeGroupType(self.app, None)
335331

336332
def test_volume_group_type_unset(self):
337-
self.set_volume_api_version('3.11')
338-
339333
arglist = [
340334
self.fake_volume_group_type.id,
341335
'--property',
@@ -349,14 +343,13 @@ def test_volume_group_type_unset(self):
349343

350344
columns, data = self.cmd.take_action(parsed_args)
351345

352-
self.volume_group_types_mock.get.assert_has_calls(
353-
[
354-
mock.call(self.fake_volume_group_type.id),
355-
mock.call(self.fake_volume_group_type.id),
356-
]
346+
self.volume_sdk_client.delete_group_type_group_specs_property.assert_called_once_with(
347+
self.fake_volume_group_type.id,
348+
'fizz',
357349
)
358-
self.fake_volume_group_type.unset_keys.assert_called_once_with(
359-
['fizz']
350+
self.volume_sdk_client.find_group_type.assert_called_once_with(
351+
self.fake_volume_group_type.id,
352+
ignore_missing=False,
360353
)
361354
self.assertEqual(self.columns, columns)
362355
self.assertCountEqual(self.data, data)
@@ -384,39 +377,39 @@ def test_volume_group_type_unset_pre_v311(self):
384377

385378

386379
class TestVolumeGroupTypeList(TestVolumeGroupType):
387-
fake_volume_group_types = volume_fakes.create_volume_group_types()
380+
fake_volume_group_types = list(
381+
sdk_fakes.generate_fake_resources(_group_type.GroupType, count=2)
382+
)
388383

389384
columns = (
390385
'ID',
391386
'Name',
392387
'Is Public',
393-
'Properties',
388+
'Group Specs',
394389
)
395390
data = [
396391
(
397392
fake_volume_group_type.id,
398393
fake_volume_group_type.name,
399394
fake_volume_group_type.is_public,
400-
fake_volume_group_type.group_specs,
395+
format_columns.DictColumn(fake_volume_group_type.group_specs),
401396
)
402397
for fake_volume_group_type in fake_volume_group_types
403398
]
404399

405400
def setUp(self):
406401
super().setUp()
407402

408-
self.volume_group_types_mock.list.return_value = (
403+
self.volume_sdk_client.group_types.return_value = (
409404
self.fake_volume_group_types
410405
)
411-
self.volume_group_types_mock.default.return_value = (
406+
self.volume_sdk_client.get_group_type.return_value = (
412407
self.fake_volume_group_types[0]
413408
)
414409

415410
self.cmd = volume_group_type.ListVolumeGroupType(self.app, None)
416411

417412
def test_volume_group_type_list(self):
418-
self.set_volume_api_version('3.11')
419-
420413
arglist = []
421414
verifylist = [
422415
('show_default', False),
@@ -425,13 +418,11 @@ def test_volume_group_type_list(self):
425418

426419
columns, data = self.cmd.take_action(parsed_args)
427420

428-
self.volume_group_types_mock.list.assert_called_once_with()
421+
self.volume_sdk_client.group_types.assert_called_once_with()
429422
self.assertEqual(self.columns, columns)
430423
self.assertCountEqual(tuple(self.data), data)
431424

432425
def test_volume_group_type_list_with_default_option(self):
433-
self.set_volume_api_version('3.11')
434-
435426
arglist = [
436427
'--default',
437428
]
@@ -442,9 +433,14 @@ def test_volume_group_type_list_with_default_option(self):
442433

443434
columns, data = self.cmd.take_action(parsed_args)
444435

445-
self.volume_group_types_mock.default.assert_called_once_with()
436+
self.volume_sdk_client.get_group_type.assert_called_once_with(
437+
'default'
438+
)
446439
self.assertEqual(self.columns, columns)
447-
self.assertCountEqual(tuple([self.data[0]]), data)
440+
self.assertCountEqual(
441+
tuple([self.data[0]]),
442+
data,
443+
)
448444

449445
def test_volume_group_type_list_pre_v311(self):
450446
self.set_volume_api_version('3.10')
@@ -462,7 +458,9 @@ def test_volume_group_type_list_pre_v311(self):
462458

463459

464460
class TestVolumeGroupTypeShow(TestVolumeGroupType):
465-
fake_volume_group_type = volume_fakes.create_one_volume_group_type()
461+
fake_volume_group_type = sdk_fakes.generate_fake_resource(
462+
_group_type.GroupType
463+
)
466464

467465
columns = (
468466
'ID',
@@ -482,15 +480,13 @@ class TestVolumeGroupTypeShow(TestVolumeGroupType):
482480
def setUp(self):
483481
super().setUp()
484482

485-
self.volume_group_types_mock.get.return_value = (
483+
self.volume_sdk_client.find_group_type.return_value = (
486484
self.fake_volume_group_type
487485
)
488486

489487
self.cmd = volume_group_type.ShowVolumeGroupType(self.app, None)
490488

491489
def test_volume_group_type_show(self):
492-
self.set_volume_api_version('3.11')
493-
494490
arglist = [
495491
self.fake_volume_group_type.id,
496492
]
@@ -501,8 +497,9 @@ def test_volume_group_type_show(self):
501497

502498
columns, data = self.cmd.take_action(parsed_args)
503499

504-
self.volume_group_types_mock.get.assert_called_once_with(
500+
self.volume_sdk_client.find_group_type.assert_called_once_with(
505501
self.fake_volume_group_type.id,
502+
ignore_missing=False,
506503
)
507504
self.assertEqual(self.columns, columns)
508505
self.assertCountEqual(self.data, data)

0 commit comments

Comments
 (0)