python-openstackclient 7.2.1__py3-none-any.whl → 7.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. openstackclient/common/limits.py +1 -1
  2. openstackclient/common/quota.py +7 -2
  3. openstackclient/compute/v2/server.py +38 -22
  4. openstackclient/compute/v2/usage.py +2 -2
  5. openstackclient/identity/common.py +22 -34
  6. openstackclient/identity/v3/credential.py +45 -28
  7. openstackclient/identity/v3/limit.py +15 -0
  8. openstackclient/identity/v3/region.py +23 -22
  9. openstackclient/identity/v3/registered_limit.py +18 -0
  10. openstackclient/identity/v3/role.py +287 -117
  11. openstackclient/identity/v3/role_assignment.py +1 -1
  12. openstackclient/identity/v3/service_provider.py +95 -45
  13. openstackclient/identity/v3/trust.py +114 -75
  14. openstackclient/image/v2/image.py +3 -0
  15. openstackclient/network/v2/network.py +33 -0
  16. openstackclient/network/v2/network_flavor_profile.py +1 -17
  17. openstackclient/network/v2/port.py +75 -20
  18. openstackclient/tests/functional/compute/v2/test_server.py +87 -1
  19. openstackclient/tests/functional/identity/v3/common.py +1 -1
  20. openstackclient/tests/functional/identity/v3/test_application_credential.py +2 -1
  21. openstackclient/tests/functional/identity/v3/test_role.py +24 -0
  22. openstackclient/tests/functional/identity/v3/test_role_assignment.py +8 -0
  23. openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -5
  24. openstackclient/tests/functional/network/v2/test_port.py +107 -1
  25. openstackclient/tests/unit/compute/v2/fakes.py +0 -304
  26. openstackclient/tests/unit/compute/v2/test_aggregate.py +40 -31
  27. openstackclient/tests/unit/compute/v2/test_console.py +7 -3
  28. openstackclient/tests/unit/compute/v2/test_hypervisor.py +60 -53
  29. openstackclient/tests/unit/compute/v2/test_keypair.py +57 -69
  30. openstackclient/tests/unit/compute/v2/test_server.py +63 -5
  31. openstackclient/tests/unit/compute/v2/test_server_group.py +99 -105
  32. openstackclient/tests/unit/compute/v2/test_server_volume.py +12 -5
  33. openstackclient/tests/unit/compute/v2/test_service.py +83 -37
  34. openstackclient/tests/unit/compute/v2/test_usage.py +12 -7
  35. openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -6
  36. openstackclient/tests/unit/identity/v2_0/test_role.py +1 -2
  37. openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +2 -1
  38. openstackclient/tests/unit/identity/v2_0/test_token.py +6 -20
  39. openstackclient/tests/unit/identity/v3/test_catalog.py +2 -5
  40. openstackclient/tests/unit/identity/v3/test_credential.py +74 -63
  41. openstackclient/tests/unit/identity/v3/test_project.py +1 -3
  42. openstackclient/tests/unit/identity/v3/test_region.py +74 -96
  43. openstackclient/tests/unit/identity/v3/test_role.py +679 -603
  44. openstackclient/tests/unit/identity/v3/test_role_assignment.py +263 -1
  45. openstackclient/tests/unit/identity/v3/test_service_provider.py +159 -209
  46. openstackclient/tests/unit/identity/v3/test_token.py +5 -20
  47. openstackclient/tests/unit/identity/v3/test_trust.py +137 -155
  48. openstackclient/tests/unit/image/v2/test_image.py +6 -0
  49. openstackclient/tests/unit/network/v2/fakes.py +3 -0
  50. openstackclient/tests/unit/network/v2/test_network.py +25 -0
  51. openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +0 -35
  52. openstackclient/tests/unit/network/v2/test_port.py +128 -15
  53. openstackclient/tests/unit/utils.py +8 -2
  54. openstackclient/tests/unit/volume/v2/test_volume_backup.py +31 -13
  55. openstackclient/tests/unit/volume/v3/test_volume_backup.py +34 -13
  56. openstackclient/volume/v2/volume_backup.py +11 -2
  57. openstackclient/volume/v3/volume_backup.py +13 -2
  58. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/AUTHORS +2 -0
  59. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/METADATA +14 -16
  60. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/RECORD +65 -65
  61. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/WHEEL +1 -1
  62. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/entry_points.txt +0 -1
  63. python_openstackclient-7.3.1.dist-info/pbr.json +1 -0
  64. python_openstackclient-7.2.1.dist-info/pbr.json +0 -1
  65. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/LICENSE +0 -0
  66. {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/top_level.txt +0 -0
@@ -10,9 +10,13 @@
10
10
  # License for the specific language governing permissions and limitations
11
11
  # under the License.
12
12
 
13
- from unittest import mock
14
13
  from unittest.mock import call
15
14
 
15
+ from openstack import exceptions as sdk_exceptions
16
+ from openstack.identity.v3 import credential as _credential
17
+ from openstack.identity.v3 import project as _project
18
+ from openstack.identity.v3 import user as _user
19
+ from openstack.test import fakes as sdk_fakes
16
20
  from osc_lib import exceptions
17
21
 
18
22
  from openstackclient.identity.v3 import credential
@@ -20,26 +24,9 @@ from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
20
24
  from openstackclient.tests.unit import utils
21
25
 
22
26
 
23
- class TestCredential(identity_fakes.TestIdentityv3):
24
- def setUp(self):
25
- super().setUp()
26
-
27
- # Get a shortcut to the CredentialManager Mock
28
- self.credentials_mock = self.identity_client.credentials
29
- self.credentials_mock.reset_mock()
30
-
31
- # Get a shortcut to the UserManager Mock
32
- self.users_mock = self.identity_client.users
33
- self.users_mock.reset_mock()
34
-
35
- # Get a shortcut to the ProjectManager Mock
36
- self.projects_mock = self.identity_client.projects
37
- self.projects_mock.reset_mock()
38
-
39
-
40
- class TestCredentialCreate(TestCredential):
41
- user = identity_fakes.FakeUser.create_one_user()
42
- project = identity_fakes.FakeProject.create_one_project()
27
+ class TestCredentialCreate(identity_fakes.TestIdentityv3):
28
+ user = sdk_fakes.generate_fake_resource(_user.User)
29
+ project = sdk_fakes.generate_fake_resource(_project.Project)
43
30
  columns = (
44
31
  'blob',
45
32
  'id',
@@ -51,12 +38,17 @@ class TestCredentialCreate(TestCredential):
51
38
  def setUp(self):
52
39
  super().setUp()
53
40
 
54
- self.credential = identity_fakes.FakeCredential.create_one_credential(
55
- attrs={'user_id': self.user.id, 'project_id': self.project.id}
41
+ self.credential = sdk_fakes.generate_fake_resource(
42
+ resource_type=_credential.Credential,
43
+ user_id=self.user.id,
44
+ project_id=self.project.id,
45
+ type='cert',
56
46
  )
57
- self.credentials_mock.create.return_value = self.credential
58
- self.users_mock.get.return_value = self.user
59
- self.projects_mock.get.return_value = self.project
47
+ self.identity_sdk_client.create_credential.return_value = (
48
+ self.credential
49
+ )
50
+ self.identity_sdk_client.find_user.return_value = self.user
51
+ self.identity_sdk_client.find_project.return_value = self.project
60
52
  self.data = (
61
53
  self.credential.blob,
62
54
  self.credential.id,
@@ -86,7 +78,9 @@ class TestCredentialCreate(TestCredential):
86
78
  'blob': self.credential.blob,
87
79
  'project': None,
88
80
  }
89
- self.credentials_mock.create.assert_called_once_with(**kwargs)
81
+ self.identity_sdk_client.create_credential.assert_called_once_with(
82
+ **kwargs
83
+ )
90
84
 
91
85
  self.assertEqual(self.columns, columns)
92
86
  self.assertEqual(self.data, data)
@@ -116,42 +110,48 @@ class TestCredentialCreate(TestCredential):
116
110
  'blob': self.credential.blob,
117
111
  'project': self.credential.project_id,
118
112
  }
119
- self.credentials_mock.create.assert_called_once_with(**kwargs)
113
+ self.identity_sdk_client.create_credential.assert_called_once_with(
114
+ **kwargs
115
+ )
120
116
 
121
117
  self.assertEqual(self.columns, columns)
122
118
  self.assertEqual(self.data, data)
123
119
 
124
120
 
125
- class TestCredentialDelete(TestCredential):
126
- credentials = identity_fakes.FakeCredential.create_credentials(count=2)
127
-
121
+ class TestCredentialDelete(identity_fakes.TestIdentityv3):
128
122
  def setUp(self):
129
123
  super().setUp()
130
124
 
131
- self.credentials_mock.delete.return_value = None
125
+ self.identity_sdk_client.delete_credential.return_value = None
132
126
 
133
127
  # Get the command object to test
134
128
  self.cmd = credential.DeleteCredential(self.app, None)
135
129
 
136
130
  def test_credential_delete(self):
131
+ credential = sdk_fakes.generate_fake_resource(
132
+ _credential.Credential,
133
+ )
137
134
  arglist = [
138
- self.credentials[0].id,
135
+ credential.id,
139
136
  ]
140
137
  verifylist = [
141
- ('credential', [self.credentials[0].id]),
138
+ ('credential', [credential.id]),
142
139
  ]
143
140
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
144
141
 
145
142
  result = self.cmd.take_action(parsed_args)
146
143
 
147
- self.credentials_mock.delete.assert_called_with(
148
- self.credentials[0].id,
144
+ self.identity_sdk_client.delete_credential.assert_called_with(
145
+ credential.id,
149
146
  )
150
147
  self.assertIsNone(result)
151
148
 
152
149
  def test_credential_multi_delete(self):
150
+ credentials = sdk_fakes.generate_fake_resources(
151
+ _credential.Credential, count=2
152
+ )
153
153
  arglist = []
154
- for c in self.credentials:
154
+ for c in credentials:
155
155
  arglist.append(c.id)
156
156
  verifylist = [
157
157
  ('credential', arglist),
@@ -161,25 +161,26 @@ class TestCredentialDelete(TestCredential):
161
161
  result = self.cmd.take_action(parsed_args)
162
162
 
163
163
  calls = []
164
- for c in self.credentials:
164
+ for c in credentials:
165
165
  calls.append(call(c.id))
166
- self.credentials_mock.delete.assert_has_calls(calls)
166
+ self.identity_sdk_client.delete_credential.assert_has_calls(calls)
167
167
  self.assertIsNone(result)
168
168
 
169
169
  def test_credential_multi_delete_with_exception(self):
170
+ credential = sdk_fakes.generate_fake_resource(
171
+ _credential.Credential,
172
+ )
170
173
  arglist = [
171
- self.credentials[0].id,
174
+ credential.id,
172
175
  'unexist_credential',
173
176
  ]
174
- verifylist = [
175
- ('credential', [self.credentials[0].id, 'unexist_credential'])
176
- ]
177
+ verifylist = [('credential', [credential.id, 'unexist_credential'])]
177
178
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
178
179
 
179
- delete_mock_result = [None, exceptions.CommandError]
180
- self.credentials_mock.delete = mock.Mock(
181
- side_effect=delete_mock_result
182
- )
180
+ self.identity_sdk_client.delete_credential.side_effect = [
181
+ None,
182
+ sdk_exceptions.NotFoundException,
183
+ ]
183
184
 
184
185
  try:
185
186
  self.cmd.take_action(parsed_args)
@@ -187,12 +188,16 @@ class TestCredentialDelete(TestCredential):
187
188
  except exceptions.CommandError as e:
188
189
  self.assertEqual('1 of 2 credential failed to delete.', str(e))
189
190
 
190
- self.credentials_mock.delete.assert_any_call(self.credentials[0].id)
191
- self.credentials_mock.delete.assert_any_call('unexist_credential')
191
+ self.identity_sdk_client.delete_credential.assert_any_call(
192
+ credential.id
193
+ )
194
+ self.identity_sdk_client.delete_credential.assert_any_call(
195
+ 'unexist_credential'
196
+ )
192
197
 
193
198
 
194
- class TestCredentialList(TestCredential):
195
- credential = identity_fakes.FakeCredential.create_one_credential()
199
+ class TestCredentialList(identity_fakes.TestIdentityv3):
200
+ credential = sdk_fakes.generate_fake_resource(_credential.Credential)
196
201
 
197
202
  columns = ('ID', 'Type', 'User ID', 'Data', 'Project ID')
198
203
  data = (
@@ -208,10 +213,10 @@ class TestCredentialList(TestCredential):
208
213
  def setUp(self):
209
214
  super().setUp()
210
215
 
211
- self.user = identity_fakes.FakeUser.create_one_user()
212
- self.users_mock.get.return_value = self.user
216
+ self.user = sdk_fakes.generate_fake_resource(_user.User)
217
+ self.identity_sdk_client.find_user.return_value = self.user
213
218
 
214
- self.credentials_mock.list.return_value = [self.credential]
219
+ self.identity_sdk_client.credentials.return_value = [self.credential]
215
220
 
216
221
  # Get the command object to test
217
222
  self.cmd = credential.ListCredential(self.app, None)
@@ -223,7 +228,7 @@ class TestCredentialList(TestCredential):
223
228
 
224
229
  columns, data = self.cmd.take_action(parsed_args)
225
230
 
226
- self.credentials_mock.list.assert_called_with()
231
+ self.identity_sdk_client.credentials.assert_called_with()
227
232
  self.assertEqual(self.columns, columns)
228
233
  self.assertEqual(self.data, tuple(data))
229
234
 
@@ -246,15 +251,17 @@ class TestCredentialList(TestCredential):
246
251
  'user_id': self.user.id,
247
252
  'type': self.credential.type,
248
253
  }
249
- self.users_mock.get.assert_called_with(self.credential.user_id)
250
- self.credentials_mock.list.assert_called_with(**kwargs)
254
+ self.identity_sdk_client.find_user.assert_called_with(
255
+ self.credential.user_id, domain_id=None, ignore_missing=False
256
+ )
257
+ self.identity_sdk_client.credentials.assert_called_with(**kwargs)
251
258
 
252
259
  self.assertEqual(self.columns, columns)
253
260
  self.assertEqual(self.data, tuple(data))
254
261
 
255
262
 
256
- class TestCredentialSet(TestCredential):
257
- credential = identity_fakes.FakeCredential.create_one_credential()
263
+ class TestCredentialSet(identity_fakes.TestIdentityv3):
264
+ credential = sdk_fakes.generate_fake_resource(_credential.Credential)
258
265
 
259
266
  def setUp(self):
260
267
  super().setUp()
@@ -343,7 +350,7 @@ class TestCredentialSet(TestCredential):
343
350
  self.assertIsNone(result)
344
351
 
345
352
 
346
- class TestCredentialShow(TestCredential):
353
+ class TestCredentialShow(identity_fakes.TestIdentityv3):
347
354
  columns = (
348
355
  'blob',
349
356
  'id',
@@ -355,8 +362,10 @@ class TestCredentialShow(TestCredential):
355
362
  def setUp(self):
356
363
  super().setUp()
357
364
 
358
- self.credential = identity_fakes.FakeCredential.create_one_credential()
359
- self.credentials_mock.get.return_value = self.credential
365
+ self.credential = sdk_fakes.generate_fake_resource(
366
+ _credential.Credential
367
+ )
368
+ self.identity_sdk_client.get_credential.return_value = self.credential
360
369
  self.data = (
361
370
  self.credential.blob,
362
371
  self.credential.id,
@@ -378,6 +387,8 @@ class TestCredentialShow(TestCredential):
378
387
 
379
388
  columns, data = self.cmd.take_action(parsed_args)
380
389
 
381
- self.credentials_mock.get.assert_called_once_with(self.credential.id)
390
+ self.identity_sdk_client.get_credential.assert_called_once_with(
391
+ self.credential.id
392
+ )
382
393
  self.assertEqual(self.columns, columns)
383
394
  self.assertEqual(self.data, data)
@@ -11,7 +11,6 @@
11
11
  # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
- #
15
14
 
16
15
  from unittest import mock
17
16
  from unittest.mock import call
@@ -914,8 +913,7 @@ class TestProjectList(TestProject):
914
913
  auth_ref = identity_fakes.fake_auth_ref(
915
914
  identity_fakes.TOKEN_WITH_PROJECT_ID,
916
915
  )
917
- ar_mock = mock.PropertyMock(return_value=auth_ref)
918
- type(self.app.client_manager).auth_ref = ar_mock
916
+ self.app.client_manager.auth_ref = auth_ref
919
917
 
920
918
  arglist = [
921
919
  '--my-projects',
@@ -11,55 +11,44 @@
11
11
  # under the License.
12
12
  #
13
13
 
14
- import copy
14
+
15
+ from openstack.identity.v3 import region as _region
16
+ from openstack.test import fakes as sdk_fakes
15
17
 
16
18
  from openstackclient.identity.v3 import region
17
- from openstackclient.tests.unit import fakes
18
19
  from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
19
20
 
20
21
 
21
- class TestRegion(identity_fakes.TestIdentityv3):
22
- def setUp(self):
23
- super().setUp()
24
-
25
- # Get a shortcut to the RegionManager Mock
26
- self.regions_mock = self.identity_client.regions
27
- self.regions_mock.reset_mock()
28
-
29
-
30
- class TestRegionCreate(TestRegion):
22
+ class TestRegionCreate(identity_fakes.TestIdentityv3):
23
+ region = sdk_fakes.generate_fake_resource(_region.Region)
31
24
  columns = (
25
+ 'region',
32
26
  'description',
33
27
  'parent_region',
34
- 'region',
35
28
  )
36
29
  datalist = (
37
- identity_fakes.region_description,
38
- identity_fakes.region_parent_region_id,
39
- identity_fakes.region_id,
30
+ region.id,
31
+ region.description,
32
+ region.parent_region_id,
40
33
  )
41
34
 
42
35
  def setUp(self):
43
36
  super().setUp()
44
37
 
45
- self.regions_mock.create.return_value = fakes.FakeResource(
46
- None,
47
- copy.deepcopy(identity_fakes.REGION),
48
- loaded=True,
49
- )
38
+ self.identity_sdk_client.create_region.return_value = self.region
50
39
 
51
40
  # Get the command object to test
52
41
  self.cmd = region.CreateRegion(self.app, None)
53
42
 
54
43
  def test_region_create_description(self):
55
44
  arglist = [
56
- identity_fakes.region_id,
45
+ self.region.id,
57
46
  '--description',
58
- identity_fakes.region_description,
47
+ self.region.description,
59
48
  ]
60
49
  verifylist = [
61
- ('region', identity_fakes.region_id),
62
- ('description', identity_fakes.region_description),
50
+ ('region', self.region.id),
51
+ ('description', self.region.description),
63
52
  ]
64
53
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
65
54
 
@@ -70,21 +59,21 @@ class TestRegionCreate(TestRegion):
70
59
 
71
60
  # Set expected values
72
61
  kwargs = {
73
- 'description': identity_fakes.region_description,
74
- 'id': identity_fakes.region_id,
75
- 'parent_region': None,
62
+ 'description': self.region.description,
63
+ 'id': self.region.id,
64
+ 'parent_region_id': None,
76
65
  }
77
- self.regions_mock.create.assert_called_with(**kwargs)
66
+ self.identity_sdk_client.create_region.assert_called_with(**kwargs)
78
67
 
79
68
  self.assertEqual(self.columns, columns)
80
69
  self.assertEqual(self.datalist, data)
81
70
 
82
71
  def test_region_create_no_options(self):
83
72
  arglist = [
84
- identity_fakes.region_id,
73
+ self.region.id,
85
74
  ]
86
75
  verifylist = [
87
- ('region', identity_fakes.region_id),
76
+ ('region', self.region.id),
88
77
  ]
89
78
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
90
79
 
@@ -96,23 +85,23 @@ class TestRegionCreate(TestRegion):
96
85
  # Set expected values
97
86
  kwargs = {
98
87
  'description': None,
99
- 'id': identity_fakes.region_id,
100
- 'parent_region': None,
88
+ 'id': self.region.id,
89
+ 'parent_region_id': None,
101
90
  }
102
- self.regions_mock.create.assert_called_with(**kwargs)
91
+ self.identity_sdk_client.create_region.assert_called_with(**kwargs)
103
92
 
104
93
  self.assertEqual(self.columns, columns)
105
94
  self.assertEqual(self.datalist, data)
106
95
 
107
96
  def test_region_create_parent_region_id(self):
108
97
  arglist = [
109
- identity_fakes.region_id,
98
+ self.region.id,
110
99
  '--parent-region',
111
- identity_fakes.region_parent_region_id,
100
+ self.region.parent_region_id,
112
101
  ]
113
102
  verifylist = [
114
- ('region', identity_fakes.region_id),
115
- ('parent_region', identity_fakes.region_parent_region_id),
103
+ ('region', self.region.id),
104
+ ('parent_region', self.region.parent_region_id),
116
105
  ]
117
106
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
118
107
 
@@ -124,41 +113,43 @@ class TestRegionCreate(TestRegion):
124
113
  # Set expected values
125
114
  kwargs = {
126
115
  'description': None,
127
- 'id': identity_fakes.region_id,
128
- 'parent_region': identity_fakes.region_parent_region_id,
116
+ 'id': self.region.id,
117
+ 'parent_region_id': self.region.parent_region_id,
129
118
  }
130
- self.regions_mock.create.assert_called_with(**kwargs)
119
+ self.identity_sdk_client.create_region.assert_called_with(**kwargs)
131
120
  self.assertEqual(self.columns, columns)
132
121
  self.assertEqual(self.datalist, data)
133
122
 
134
123
 
135
- class TestRegionDelete(TestRegion):
124
+ class TestRegionDelete(identity_fakes.TestIdentityv3):
136
125
  def setUp(self):
137
126
  super().setUp()
138
127
 
139
- self.regions_mock.delete.return_value = None
128
+ self.region = sdk_fakes.generate_fake_resource(_region.Region)
129
+ self.identity_sdk_client.delete_region.return_value = None
140
130
 
141
131
  # Get the command object to test
142
132
  self.cmd = region.DeleteRegion(self.app, None)
143
133
 
144
134
  def test_region_delete_no_options(self):
145
135
  arglist = [
146
- identity_fakes.region_id,
136
+ self.region.id,
147
137
  ]
148
138
  verifylist = [
149
- ('region', [identity_fakes.region_id]),
139
+ ('region', [self.region.id]),
150
140
  ]
151
141
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
152
142
 
153
143
  result = self.cmd.take_action(parsed_args)
154
144
 
155
- self.regions_mock.delete.assert_called_with(
156
- identity_fakes.region_id,
145
+ self.identity_sdk_client.delete_region.assert_called_with(
146
+ self.region.id,
157
147
  )
158
148
  self.assertIsNone(result)
159
149
 
160
150
 
161
- class TestRegionList(TestRegion):
151
+ class TestRegionList(identity_fakes.TestIdentityv3):
152
+ region = sdk_fakes.generate_fake_resource(_region.Region)
162
153
  columns = (
163
154
  'Region',
164
155
  'Parent Region',
@@ -166,22 +157,16 @@ class TestRegionList(TestRegion):
166
157
  )
167
158
  datalist = (
168
159
  (
169
- identity_fakes.region_id,
170
- identity_fakes.region_parent_region_id,
171
- identity_fakes.region_description,
160
+ region.id,
161
+ region.parent_region_id,
162
+ region.description,
172
163
  ),
173
164
  )
174
165
 
175
166
  def setUp(self):
176
167
  super().setUp()
177
168
 
178
- self.regions_mock.list.return_value = [
179
- fakes.FakeResource(
180
- None,
181
- copy.deepcopy(identity_fakes.REGION),
182
- loaded=True,
183
- ),
184
- ]
169
+ self.identity_sdk_client.regions.return_value = [self.region]
185
170
 
186
171
  # Get the command object to test
187
172
  self.cmd = region.ListRegion(self.app, None)
@@ -195,7 +180,7 @@ class TestRegionList(TestRegion):
195
180
  # returns a tuple containing the column names and an iterable
196
181
  # containing the data to be listed.
197
182
  columns, data = self.cmd.take_action(parsed_args)
198
- self.regions_mock.list.assert_called_with()
183
+ self.identity_sdk_client.regions.assert_called_with()
199
184
 
200
185
  self.assertEqual(self.columns, columns)
201
186
  self.assertEqual(self.datalist, tuple(data))
@@ -203,10 +188,10 @@ class TestRegionList(TestRegion):
203
188
  def test_region_list_parent_region_id(self):
204
189
  arglist = [
205
190
  '--parent-region',
206
- identity_fakes.region_parent_region_id,
191
+ self.region.parent_region_id,
207
192
  ]
208
193
  verifylist = [
209
- ('parent_region', identity_fakes.region_parent_region_id),
194
+ ('parent_region', self.region.parent_region_id),
210
195
  ]
211
196
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
212
197
 
@@ -214,41 +199,37 @@ class TestRegionList(TestRegion):
214
199
  # returns a tuple containing the column names and an iterable
215
200
  # containing the data to be listed.
216
201
  columns, data = self.cmd.take_action(parsed_args)
217
- self.regions_mock.list.assert_called_with(
218
- parent_region_id=identity_fakes.region_parent_region_id
202
+ self.identity_sdk_client.regions.assert_called_with(
203
+ parent_region_id=self.region.parent_region_id
219
204
  )
220
205
 
221
206
  self.assertEqual(self.columns, columns)
222
207
  self.assertEqual(self.datalist, tuple(data))
223
208
 
224
209
 
225
- class TestRegionSet(TestRegion):
210
+ class TestRegionSet(identity_fakes.TestIdentityv3):
226
211
  def setUp(self):
227
212
  super().setUp()
228
213
 
229
- self.regions_mock.update.return_value = fakes.FakeResource(
230
- None,
231
- copy.deepcopy(identity_fakes.REGION),
232
- loaded=True,
233
- )
214
+ self.region = sdk_fakes.generate_fake_resource(_region.Region)
234
215
 
235
216
  # Get the command object to test
236
217
  self.cmd = region.SetRegion(self.app, None)
237
218
 
238
219
  def test_region_set_no_options(self):
239
220
  arglist = [
240
- identity_fakes.region_id,
221
+ self.region.id,
241
222
  ]
242
223
  verifylist = [
243
- ('region', identity_fakes.region_id),
224
+ ('region', self.region.id),
244
225
  ]
245
226
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
246
227
 
247
228
  result = self.cmd.take_action(parsed_args)
248
229
 
249
230
  kwargs = {}
250
- self.regions_mock.update.assert_called_with(
251
- identity_fakes.region_id, **kwargs
231
+ self.identity_sdk_client.update_region.assert_called_with(
232
+ self.region.id, **kwargs
252
233
  )
253
234
  self.assertIsNone(result)
254
235
 
@@ -256,11 +237,11 @@ class TestRegionSet(TestRegion):
256
237
  arglist = [
257
238
  '--description',
258
239
  'qwerty',
259
- identity_fakes.region_id,
240
+ self.region.id,
260
241
  ]
261
242
  verifylist = [
262
243
  ('description', 'qwerty'),
263
- ('region', identity_fakes.region_id),
244
+ ('region', self.region.id),
264
245
  ]
265
246
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
266
247
 
@@ -270,8 +251,8 @@ class TestRegionSet(TestRegion):
270
251
  kwargs = {
271
252
  'description': 'qwerty',
272
253
  }
273
- self.regions_mock.update.assert_called_with(
274
- identity_fakes.region_id, **kwargs
254
+ self.identity_sdk_client.update_region.assert_called_with(
255
+ self.region.id, **kwargs
275
256
  )
276
257
  self.assertIsNone(result)
277
258
 
@@ -279,11 +260,11 @@ class TestRegionSet(TestRegion):
279
260
  arglist = [
280
261
  '--parent-region',
281
262
  'new_parent',
282
- identity_fakes.region_id,
263
+ self.region.id,
283
264
  ]
284
265
  verifylist = [
285
266
  ('parent_region', 'new_parent'),
286
- ('region', identity_fakes.region_id),
267
+ ('region', self.region.id),
287
268
  ]
288
269
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
289
270
 
@@ -291,33 +272,30 @@ class TestRegionSet(TestRegion):
291
272
 
292
273
  # Set expected values
293
274
  kwargs = {
294
- 'parent_region': 'new_parent',
275
+ 'parent_region_id': 'new_parent',
295
276
  }
296
- self.regions_mock.update.assert_called_with(
297
- identity_fakes.region_id, **kwargs
277
+ self.identity_sdk_client.update_region.assert_called_with(
278
+ self.region.id, **kwargs
298
279
  )
299
280
  self.assertIsNone(result)
300
281
 
301
282
 
302
- class TestRegionShow(TestRegion):
283
+ class TestRegionShow(identity_fakes.TestIdentityv3):
303
284
  def setUp(self):
304
285
  super().setUp()
305
286
 
306
- self.regions_mock.get.return_value = fakes.FakeResource(
307
- None,
308
- copy.deepcopy(identity_fakes.REGION),
309
- loaded=True,
310
- )
287
+ self.region = sdk_fakes.generate_fake_resource(_region.Region)
288
+ self.identity_sdk_client.get_region.return_value = self.region
311
289
 
312
290
  # Get the command object to test
313
291
  self.cmd = region.ShowRegion(self.app, None)
314
292
 
315
293
  def test_region_show(self):
316
294
  arglist = [
317
- identity_fakes.region_id,
295
+ self.region.id,
318
296
  ]
319
297
  verifylist = [
320
- ('region', identity_fakes.region_id),
298
+ ('region', self.region.id),
321
299
  ]
322
300
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
323
301
 
@@ -325,15 +303,15 @@ class TestRegionShow(TestRegion):
325
303
  # returns a two-part tuple with a tuple of column names and a tuple of
326
304
  # data to be shown.
327
305
  columns, data = self.cmd.take_action(parsed_args)
328
- self.regions_mock.get.assert_called_with(
329
- identity_fakes.region_id,
306
+ self.identity_sdk_client.get_region.assert_called_with(
307
+ self.region.id,
330
308
  )
331
309
 
332
- collist = ('description', 'parent_region', 'region')
310
+ collist = ('region', 'description', 'parent_region')
333
311
  self.assertEqual(collist, columns)
334
312
  datalist = (
335
- identity_fakes.region_description,
336
- identity_fakes.region_parent_region_id,
337
- identity_fakes.region_id,
313
+ self.region.id,
314
+ self.region.description,
315
+ self.region.parent_region_id,
338
316
  )
339
317
  self.assertEqual(datalist, data)