python-openstackclient 8.3.0__py3-none-any.whl → 9.0.0__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.
- openstackclient/common/module.py +1 -1
- openstackclient/common/quota.py +31 -17
- openstackclient/compute/v2/server.py +2 -2
- openstackclient/identity/common.py +31 -0
- openstackclient/identity/v2_0/service.py +3 -1
- openstackclient/identity/v3/federation_protocol.py +39 -40
- openstackclient/identity/v3/limit.py +85 -84
- openstackclient/identity/v3/project.py +181 -112
- openstackclient/identity/v3/registered_limit.py +82 -99
- openstackclient/identity/v3/tag.py +0 -11
- openstackclient/image/v2/image.py +2 -1
- openstackclient/tests/functional/identity/v3/test_limit.py +47 -0
- openstackclient/tests/functional/image/v2/test_metadef_objects.py +69 -0
- openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +46 -132
- openstackclient/tests/unit/common/test_quota.py +59 -0
- openstackclient/tests/unit/compute/v2/test_server.py +6 -8
- openstackclient/tests/unit/identity/v3/test_limit.py +197 -145
- openstackclient/tests/unit/identity/v3/test_project.py +831 -512
- openstackclient/tests/unit/identity/v3/test_protocol.py +97 -88
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +355 -220
- openstackclient/tests/unit/image/v2/test_image.py +5 -5
- openstackclient/tests/unit/volume/v2/test_consistency_group.py +8 -2
- openstackclient/tests/unit/volume/v2/test_volume.py +7 -6
- openstackclient/tests/unit/volume/v3/test_volume.py +34 -12
- openstackclient/volume/v2/consistency_group.py +8 -8
- openstackclient/volume/v2/consistency_group_snapshot.py +2 -2
- openstackclient/volume/v2/qos_specs.py +2 -2
- openstackclient/volume/v2/volume.py +12 -5
- openstackclient/volume/v2/volume_backup.py +2 -2
- openstackclient/volume/v2/volume_snapshot.py +2 -2
- openstackclient/volume/v2/volume_transfer_request.py +2 -2
- openstackclient/volume/v2/volume_type.py +5 -5
- openstackclient/volume/v3/volume.py +14 -7
- openstackclient/volume/v3/volume_backup.py +2 -2
- openstackclient/volume/v3/volume_snapshot.py +2 -2
- openstackclient/volume/v3/volume_transfer_request.py +2 -2
- openstackclient/volume/v3/volume_type.py +5 -5
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/METADATA +1 -1
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/RECORD +45 -44
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/WHEEL +1 -1
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/licenses/AUTHORS +5 -0
- python_openstackclient-9.0.0.dist-info/pbr.json +1 -0
- python_openstackclient-8.3.0.dist-info/pbr.json +0 -1
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/entry_points.txt +0 -0
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/licenses/LICENSE +0 -0
- {python_openstackclient-8.3.0.dist-info → python_openstackclient-9.0.0.dist-info}/top_level.txt +0 -0
|
@@ -10,87 +10,85 @@
|
|
|
10
10
|
# License for the specific language governing permissions and limitations
|
|
11
11
|
# under the License.
|
|
12
12
|
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
from
|
|
13
|
+
from openstack import exceptions as sdk_exc
|
|
14
|
+
from openstack.identity.v3 import domain as _domain
|
|
15
|
+
from openstack.identity.v3 import limit as _limit
|
|
16
|
+
from openstack.identity.v3 import project as _project
|
|
17
|
+
from openstack.identity.v3 import region as _region
|
|
18
|
+
from openstack.identity.v3 import service as _service
|
|
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 limit
|
|
19
|
-
from openstackclient.tests.unit import fakes
|
|
20
23
|
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
|
|
21
24
|
|
|
22
25
|
|
|
23
|
-
class
|
|
26
|
+
class TestLimitCreate(identity_fakes.TestIdentityv3):
|
|
24
27
|
def setUp(self):
|
|
25
28
|
super().setUp()
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
self.
|
|
32
|
-
self.
|
|
33
|
-
|
|
34
|
-
self.projects_mock = identity_manager.projects
|
|
35
|
-
self.projects_mock.reset_mock()
|
|
36
|
-
|
|
37
|
-
self.regions_mock = identity_manager.regions
|
|
38
|
-
self.regions_mock.reset_mock()
|
|
30
|
+
self.domain = sdk_fakes.generate_fake_resource(_domain.Domain)
|
|
31
|
+
self.project = sdk_fakes.generate_fake_resource(
|
|
32
|
+
_project.Project, domain_id=self.domain.id
|
|
33
|
+
)
|
|
34
|
+
self.region = sdk_fakes.generate_fake_resource(_region.Region)
|
|
35
|
+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
|
|
39
36
|
|
|
37
|
+
self.resource_limit = 15
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
self.service = fakes.FakeResource(
|
|
46
|
-
None, copy.deepcopy(identity_fakes.SERVICE), loaded=True
|
|
47
|
-
)
|
|
48
|
-
self.services_mock.get.return_value = self.service
|
|
39
|
+
self.identity_sdk_client.find_service.return_value = self.service
|
|
40
|
+
self.identity_sdk_client.get_region.return_value = self.region
|
|
41
|
+
self.identity_sdk_client.find_project.return_value = self.project
|
|
42
|
+
self.identity_sdk_client.find_domain.return_value = self.domain
|
|
49
43
|
|
|
50
|
-
self.
|
|
51
|
-
|
|
44
|
+
self.limit = sdk_fakes.generate_fake_resource(
|
|
45
|
+
resource_type=_limit.Limit,
|
|
46
|
+
project_id=self.project.id,
|
|
47
|
+
service_id=self.service.id,
|
|
48
|
+
resource_name='foobars',
|
|
49
|
+
description=None,
|
|
50
|
+
resource_limit=self.resource_limit,
|
|
51
|
+
region_id=None,
|
|
52
52
|
)
|
|
53
|
-
self.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
self.limit_with_options = sdk_fakes.generate_fake_resource(
|
|
54
|
+
resource_type=_limit.Limit,
|
|
55
|
+
project_id=self.project.id,
|
|
56
|
+
service_id=self.service.id,
|
|
57
|
+
resource_limit=self.resource_limit,
|
|
58
|
+
resource_name='foobars',
|
|
59
|
+
description='test description',
|
|
60
|
+
region_id=self.region.id,
|
|
57
61
|
)
|
|
58
|
-
self.regions_mock.get.return_value = self.region
|
|
59
62
|
|
|
60
63
|
self.cmd = limit.CreateLimit(self.app, None)
|
|
61
64
|
|
|
62
65
|
def test_limit_create_without_options(self):
|
|
63
|
-
self.
|
|
64
|
-
None, copy.deepcopy(identity_fakes.LIMIT), loaded=True
|
|
65
|
-
)
|
|
66
|
+
self.identity_sdk_client.create_limit.return_value = self.limit
|
|
66
67
|
|
|
67
|
-
resource_limit = 15
|
|
68
68
|
arglist = [
|
|
69
69
|
'--project',
|
|
70
|
-
|
|
70
|
+
self.project.id,
|
|
71
71
|
'--service',
|
|
72
|
-
|
|
72
|
+
self.service.id,
|
|
73
73
|
'--resource-limit',
|
|
74
|
-
str(resource_limit),
|
|
75
|
-
|
|
74
|
+
str(self.resource_limit),
|
|
75
|
+
self.limit.resource_name,
|
|
76
76
|
]
|
|
77
77
|
verifylist = [
|
|
78
|
-
('project',
|
|
79
|
-
('service',
|
|
80
|
-
('resource_name',
|
|
81
|
-
('resource_limit', resource_limit),
|
|
78
|
+
('project', self.project.id),
|
|
79
|
+
('service', self.service.id),
|
|
80
|
+
('resource_name', self.limit.resource_name),
|
|
81
|
+
('resource_limit', self.resource_limit),
|
|
82
82
|
]
|
|
83
83
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
84
84
|
|
|
85
85
|
columns, data = self.cmd.take_action(parsed_args)
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
self.
|
|
90
|
-
self.
|
|
91
|
-
|
|
92
|
-
resource_limit,
|
|
93
|
-
**kwargs,
|
|
87
|
+
self.identity_sdk_client.create_limit.assert_called_with(
|
|
88
|
+
project_id=self.project.id,
|
|
89
|
+
service_id=self.service.id,
|
|
90
|
+
resource_name=self.limit.resource_name,
|
|
91
|
+
resource_limit=self.resource_limit,
|
|
94
92
|
)
|
|
95
93
|
|
|
96
94
|
collist = (
|
|
@@ -105,55 +103,58 @@ class TestLimitCreate(TestLimit):
|
|
|
105
103
|
self.assertEqual(collist, columns)
|
|
106
104
|
datalist = (
|
|
107
105
|
None,
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
self.limit.id,
|
|
107
|
+
self.project.id,
|
|
110
108
|
None,
|
|
111
|
-
resource_limit,
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
self.resource_limit,
|
|
110
|
+
self.limit.resource_name,
|
|
111
|
+
self.service.id,
|
|
114
112
|
)
|
|
115
113
|
self.assertEqual(datalist, data)
|
|
116
114
|
|
|
117
115
|
def test_limit_create_with_options(self):
|
|
118
|
-
self.
|
|
119
|
-
|
|
116
|
+
self.identity_sdk_client.create_limit.return_value = (
|
|
117
|
+
self.limit_with_options
|
|
120
118
|
)
|
|
121
119
|
|
|
122
120
|
resource_limit = 15
|
|
123
121
|
arglist = [
|
|
124
122
|
'--project',
|
|
125
|
-
|
|
123
|
+
self.project.id,
|
|
124
|
+
'--project-domain',
|
|
125
|
+
self.domain.name,
|
|
126
126
|
'--service',
|
|
127
|
-
|
|
127
|
+
self.service.id,
|
|
128
128
|
'--resource-limit',
|
|
129
129
|
str(resource_limit),
|
|
130
130
|
'--region',
|
|
131
|
-
|
|
131
|
+
self.region.id,
|
|
132
132
|
'--description',
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
self.limit_with_options.description,
|
|
134
|
+
self.limit_with_options.resource_name,
|
|
135
135
|
]
|
|
136
136
|
verifylist = [
|
|
137
|
-
('project',
|
|
138
|
-
('
|
|
139
|
-
('
|
|
137
|
+
('project', self.project.id),
|
|
138
|
+
('project_domain', self.domain.name),
|
|
139
|
+
('service', self.service.id),
|
|
140
|
+
('resource_name', self.limit_with_options.resource_name),
|
|
140
141
|
('resource_limit', resource_limit),
|
|
141
|
-
('region',
|
|
142
|
-
('description',
|
|
142
|
+
('region', self.region.id),
|
|
143
|
+
('description', self.limit_with_options.description),
|
|
143
144
|
]
|
|
144
145
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
145
146
|
|
|
146
147
|
columns, data = self.cmd.take_action(parsed_args)
|
|
147
148
|
|
|
148
149
|
kwargs = {
|
|
149
|
-
'
|
|
150
|
-
'
|
|
150
|
+
'project_id': self.project.id,
|
|
151
|
+
'service_id': self.service.id,
|
|
152
|
+
'region_id': self.region.id,
|
|
153
|
+
'resource_name': self.limit_with_options.resource_name,
|
|
154
|
+
'resource_limit': resource_limit,
|
|
155
|
+
'description': self.limit_with_options.description,
|
|
151
156
|
}
|
|
152
|
-
self.
|
|
153
|
-
self.project,
|
|
154
|
-
self.service,
|
|
155
|
-
identity_fakes.limit_resource_name,
|
|
156
|
-
resource_limit,
|
|
157
|
+
self.identity_sdk_client.create_limit.assert_called_with(
|
|
157
158
|
**kwargs,
|
|
158
159
|
)
|
|
159
160
|
|
|
@@ -168,37 +169,41 @@ class TestLimitCreate(TestLimit):
|
|
|
168
169
|
)
|
|
169
170
|
self.assertEqual(collist, columns)
|
|
170
171
|
datalist = (
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
self.limit_with_options.description,
|
|
173
|
+
self.limit_with_options.id,
|
|
174
|
+
self.project.id,
|
|
175
|
+
self.region.id,
|
|
175
176
|
resource_limit,
|
|
176
|
-
|
|
177
|
-
|
|
177
|
+
self.limit_with_options.resource_name,
|
|
178
|
+
self.service.id,
|
|
178
179
|
)
|
|
179
180
|
self.assertEqual(datalist, data)
|
|
180
181
|
|
|
181
182
|
|
|
182
|
-
class TestLimitDelete(
|
|
183
|
+
class TestLimitDelete(identity_fakes.TestIdentityv3):
|
|
183
184
|
def setUp(self):
|
|
184
185
|
super().setUp()
|
|
185
186
|
self.cmd = limit.DeleteLimit(self.app, None)
|
|
186
187
|
|
|
187
188
|
def test_limit_delete(self):
|
|
188
|
-
self.
|
|
189
|
+
self.limit = sdk_fakes.generate_fake_resource(
|
|
190
|
+
resource_type=_limit.Limit
|
|
191
|
+
)
|
|
192
|
+
self.identity_sdk_client.delete_limit.return_value = None
|
|
189
193
|
|
|
190
|
-
arglist = [
|
|
191
|
-
verifylist = [('limit_id', [
|
|
194
|
+
arglist = [self.limit.id]
|
|
195
|
+
verifylist = [('limit_id', [self.limit.id])]
|
|
192
196
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
193
197
|
|
|
194
198
|
result = self.cmd.take_action(parsed_args)
|
|
195
199
|
|
|
196
|
-
self.
|
|
200
|
+
self.identity_sdk_client.delete_limit.assert_called_with(self.limit.id)
|
|
197
201
|
self.assertIsNone(result)
|
|
198
202
|
|
|
199
203
|
def test_limit_delete_with_exception(self):
|
|
200
|
-
|
|
201
|
-
|
|
204
|
+
self.identity_sdk_client.delete_limit.side_effect = (
|
|
205
|
+
sdk_exc.ResourceNotFound
|
|
206
|
+
)
|
|
202
207
|
|
|
203
208
|
arglist = ['fake-limit-id']
|
|
204
209
|
verifylist = [('limit_id', ['fake-limit-id'])]
|
|
@@ -211,24 +216,42 @@ class TestLimitDelete(TestLimit):
|
|
|
211
216
|
self.assertEqual('1 of 1 limits failed to delete.', str(e))
|
|
212
217
|
|
|
213
218
|
|
|
214
|
-
class TestLimitShow(
|
|
219
|
+
class TestLimitShow(identity_fakes.TestIdentityv3):
|
|
215
220
|
def setUp(self):
|
|
216
221
|
super().setUp()
|
|
217
222
|
|
|
218
|
-
self.
|
|
219
|
-
|
|
223
|
+
self.project = sdk_fakes.generate_fake_resource(_project.Project)
|
|
224
|
+
self.region = sdk_fakes.generate_fake_resource(_region.Region)
|
|
225
|
+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
|
|
226
|
+
|
|
227
|
+
self.resource_limit = 15
|
|
228
|
+
|
|
229
|
+
self.identity_sdk_client.find_service.return_value = self.service
|
|
230
|
+
self.identity_sdk_client.get_region.return_value = self.region
|
|
231
|
+
self.identity_sdk_client.find_project.return_value = self.project
|
|
232
|
+
|
|
233
|
+
self.limit = sdk_fakes.generate_fake_resource(
|
|
234
|
+
resource_type=_limit.Limit,
|
|
235
|
+
project_id=self.project.id,
|
|
236
|
+
service_id=self.service.id,
|
|
237
|
+
resource_name='foobars',
|
|
238
|
+
description=None,
|
|
239
|
+
resource_limit=self.resource_limit,
|
|
240
|
+
region_id=None,
|
|
220
241
|
)
|
|
221
242
|
|
|
243
|
+
self.identity_sdk_client.get_limit.return_value = self.limit
|
|
244
|
+
|
|
222
245
|
self.cmd = limit.ShowLimit(self.app, None)
|
|
223
246
|
|
|
224
247
|
def test_limit_show(self):
|
|
225
|
-
arglist = [
|
|
226
|
-
verifylist = [('limit_id',
|
|
248
|
+
arglist = [self.limit.id]
|
|
249
|
+
verifylist = [('limit_id', self.limit.id)]
|
|
227
250
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
228
251
|
|
|
229
252
|
columns, data = self.cmd.take_action(parsed_args)
|
|
230
253
|
|
|
231
|
-
self.
|
|
254
|
+
self.identity_sdk_client.get_limit.assert_called_with(self.limit.id)
|
|
232
255
|
|
|
233
256
|
collist = (
|
|
234
257
|
'description',
|
|
@@ -242,45 +265,61 @@ class TestLimitShow(TestLimit):
|
|
|
242
265
|
self.assertEqual(collist, columns)
|
|
243
266
|
datalist = (
|
|
244
267
|
None,
|
|
245
|
-
|
|
246
|
-
|
|
268
|
+
self.limit.id,
|
|
269
|
+
self.project.id,
|
|
247
270
|
None,
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
271
|
+
self.resource_limit,
|
|
272
|
+
self.limit.resource_name,
|
|
273
|
+
self.service.id,
|
|
251
274
|
)
|
|
252
275
|
self.assertEqual(datalist, data)
|
|
253
276
|
|
|
254
277
|
|
|
255
|
-
class TestLimitSet(
|
|
278
|
+
class TestLimitSet(identity_fakes.TestIdentityv3):
|
|
256
279
|
def setUp(self):
|
|
257
280
|
super().setUp()
|
|
281
|
+
|
|
282
|
+
self.project = sdk_fakes.generate_fake_resource(_project.Project)
|
|
283
|
+
self.region = sdk_fakes.generate_fake_resource(_region.Region)
|
|
284
|
+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
|
|
285
|
+
|
|
286
|
+
self.resource_limit = 15
|
|
287
|
+
|
|
288
|
+
self.identity_sdk_client.find_service.return_value = self.service
|
|
289
|
+
self.identity_sdk_client.get_region.return_value = self.region
|
|
290
|
+
self.identity_sdk_client.find_project.return_value = self.project
|
|
291
|
+
|
|
258
292
|
self.cmd = limit.SetLimit(self.app, None)
|
|
259
293
|
|
|
260
294
|
def test_limit_set_description(self):
|
|
261
|
-
|
|
262
|
-
limit
|
|
263
|
-
|
|
264
|
-
|
|
295
|
+
description = 'limit of foobars'
|
|
296
|
+
limit = sdk_fakes.generate_fake_resource(
|
|
297
|
+
resource_type=_limit.Limit,
|
|
298
|
+
project_id=self.project.id,
|
|
299
|
+
service_id=self.service.id,
|
|
300
|
+
resource_name='foobars',
|
|
301
|
+
description=description,
|
|
302
|
+
resource_limit=self.resource_limit,
|
|
303
|
+
region_id=None,
|
|
265
304
|
)
|
|
305
|
+
self.identity_sdk_client.update_limit.return_value = limit
|
|
266
306
|
|
|
267
307
|
arglist = [
|
|
268
308
|
'--description',
|
|
269
|
-
|
|
270
|
-
|
|
309
|
+
description,
|
|
310
|
+
limit.id,
|
|
271
311
|
]
|
|
272
312
|
verifylist = [
|
|
273
|
-
('description',
|
|
274
|
-
('limit_id',
|
|
313
|
+
('description', description),
|
|
314
|
+
('limit_id', limit.id),
|
|
275
315
|
]
|
|
276
316
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
277
317
|
|
|
278
318
|
columns, data = self.cmd.take_action(parsed_args)
|
|
279
319
|
|
|
280
|
-
self.
|
|
281
|
-
|
|
282
|
-
description=
|
|
283
|
-
resource_limit=None,
|
|
320
|
+
self.identity_sdk_client.update_limit.assert_called_with(
|
|
321
|
+
limit.id,
|
|
322
|
+
description=description,
|
|
284
323
|
)
|
|
285
324
|
|
|
286
325
|
collist = (
|
|
@@ -294,40 +333,44 @@ class TestLimitSet(TestLimit):
|
|
|
294
333
|
)
|
|
295
334
|
self.assertEqual(collist, columns)
|
|
296
335
|
datalist = (
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
336
|
+
description,
|
|
337
|
+
limit.id,
|
|
338
|
+
self.project.id,
|
|
300
339
|
None,
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
340
|
+
limit.resource_limit,
|
|
341
|
+
limit.resource_name,
|
|
342
|
+
self.service.id,
|
|
304
343
|
)
|
|
305
344
|
self.assertEqual(datalist, data)
|
|
306
345
|
|
|
307
346
|
def test_limit_set_resource_limit(self):
|
|
308
347
|
resource_limit = 20
|
|
309
|
-
limit =
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
348
|
+
limit = sdk_fakes.generate_fake_resource(
|
|
349
|
+
resource_type=_limit.Limit,
|
|
350
|
+
project_id=self.project.id,
|
|
351
|
+
service_id=self.service.id,
|
|
352
|
+
resource_name='foobars',
|
|
353
|
+
description=None,
|
|
354
|
+
resource_limit=resource_limit,
|
|
355
|
+
region_id=None,
|
|
313
356
|
)
|
|
357
|
+
self.identity_sdk_client.update_limit.return_value = limit
|
|
314
358
|
|
|
315
359
|
arglist = [
|
|
316
360
|
'--resource-limit',
|
|
317
361
|
str(resource_limit),
|
|
318
|
-
|
|
362
|
+
limit.id,
|
|
319
363
|
]
|
|
320
364
|
verifylist = [
|
|
321
365
|
('resource_limit', resource_limit),
|
|
322
|
-
('limit_id',
|
|
366
|
+
('limit_id', limit.id),
|
|
323
367
|
]
|
|
324
368
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
325
369
|
|
|
326
370
|
columns, data = self.cmd.take_action(parsed_args)
|
|
327
371
|
|
|
328
|
-
self.
|
|
329
|
-
|
|
330
|
-
description=None,
|
|
372
|
+
self.identity_sdk_client.update_limit.assert_called_with(
|
|
373
|
+
limit.id,
|
|
331
374
|
resource_limit=resource_limit,
|
|
332
375
|
)
|
|
333
376
|
|
|
@@ -343,25 +386,36 @@ class TestLimitSet(TestLimit):
|
|
|
343
386
|
self.assertEqual(collist, columns)
|
|
344
387
|
datalist = (
|
|
345
388
|
None,
|
|
346
|
-
|
|
347
|
-
|
|
389
|
+
limit.id,
|
|
390
|
+
self.project.id,
|
|
348
391
|
None,
|
|
349
392
|
resource_limit,
|
|
350
|
-
|
|
351
|
-
|
|
393
|
+
limit.resource_name,
|
|
394
|
+
self.service.id,
|
|
352
395
|
)
|
|
353
396
|
self.assertEqual(datalist, data)
|
|
354
397
|
|
|
355
398
|
|
|
356
|
-
class TestLimitList(
|
|
399
|
+
class TestLimitList(identity_fakes.TestIdentityv3):
|
|
357
400
|
def setUp(self):
|
|
358
401
|
super().setUp()
|
|
359
402
|
|
|
360
|
-
self.
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
403
|
+
self.project = sdk_fakes.generate_fake_resource(_project.Project)
|
|
404
|
+
self.region = sdk_fakes.generate_fake_resource(_region.Region)
|
|
405
|
+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
|
|
406
|
+
|
|
407
|
+
self.resource_limit = 15
|
|
408
|
+
|
|
409
|
+
self.limit = sdk_fakes.generate_fake_resource(
|
|
410
|
+
resource_type=_limit.Limit,
|
|
411
|
+
project_id=self.project.id,
|
|
412
|
+
service_id=self.service.id,
|
|
413
|
+
resource_name='foobars',
|
|
414
|
+
description=None,
|
|
415
|
+
resource_limit=self.resource_limit,
|
|
416
|
+
region_id=None,
|
|
417
|
+
)
|
|
418
|
+
self.identity_sdk_client.limits.return_value = [self.limit]
|
|
365
419
|
|
|
366
420
|
self.cmd = limit.ListLimit(self.app, None)
|
|
367
421
|
|
|
@@ -372,9 +426,7 @@ class TestLimitList(TestLimit):
|
|
|
372
426
|
|
|
373
427
|
columns, data = self.cmd.take_action(parsed_args)
|
|
374
428
|
|
|
375
|
-
self.
|
|
376
|
-
service=None, resource_name=None, region=None, project=None
|
|
377
|
-
)
|
|
429
|
+
self.identity_sdk_client.limits.assert_called_with()
|
|
378
430
|
|
|
379
431
|
collist = (
|
|
380
432
|
'ID',
|
|
@@ -388,11 +440,11 @@ class TestLimitList(TestLimit):
|
|
|
388
440
|
self.assertEqual(collist, columns)
|
|
389
441
|
datalist = (
|
|
390
442
|
(
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
443
|
+
self.limit.id,
|
|
444
|
+
self.project.id,
|
|
445
|
+
self.service.id,
|
|
446
|
+
self.limit.resource_name,
|
|
447
|
+
self.limit.resource_limit,
|
|
396
448
|
None,
|
|
397
449
|
None,
|
|
398
450
|
),
|