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.
- openstackclient/common/limits.py +1 -1
- openstackclient/common/quota.py +7 -2
- openstackclient/compute/v2/server.py +38 -22
- openstackclient/compute/v2/usage.py +2 -2
- openstackclient/identity/common.py +22 -34
- openstackclient/identity/v3/credential.py +45 -28
- openstackclient/identity/v3/limit.py +15 -0
- openstackclient/identity/v3/region.py +23 -22
- openstackclient/identity/v3/registered_limit.py +18 -0
- openstackclient/identity/v3/role.py +287 -117
- openstackclient/identity/v3/role_assignment.py +1 -1
- openstackclient/identity/v3/service_provider.py +95 -45
- openstackclient/identity/v3/trust.py +114 -75
- openstackclient/image/v2/image.py +3 -0
- openstackclient/network/v2/network.py +33 -0
- openstackclient/network/v2/network_flavor_profile.py +1 -17
- openstackclient/network/v2/port.py +75 -20
- openstackclient/tests/functional/compute/v2/test_server.py +87 -1
- openstackclient/tests/functional/identity/v3/common.py +1 -1
- openstackclient/tests/functional/identity/v3/test_application_credential.py +2 -1
- openstackclient/tests/functional/identity/v3/test_role.py +24 -0
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +8 -0
- openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -5
- openstackclient/tests/functional/network/v2/test_port.py +107 -1
- openstackclient/tests/unit/compute/v2/fakes.py +0 -304
- openstackclient/tests/unit/compute/v2/test_aggregate.py +40 -31
- openstackclient/tests/unit/compute/v2/test_console.py +7 -3
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +60 -53
- openstackclient/tests/unit/compute/v2/test_keypair.py +57 -69
- openstackclient/tests/unit/compute/v2/test_server.py +63 -5
- openstackclient/tests/unit/compute/v2/test_server_group.py +99 -105
- openstackclient/tests/unit/compute/v2/test_server_volume.py +12 -5
- openstackclient/tests/unit/compute/v2/test_service.py +83 -37
- openstackclient/tests/unit/compute/v2/test_usage.py +12 -7
- openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -6
- openstackclient/tests/unit/identity/v2_0/test_role.py +1 -2
- openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +2 -1
- openstackclient/tests/unit/identity/v2_0/test_token.py +6 -20
- openstackclient/tests/unit/identity/v3/test_catalog.py +2 -5
- openstackclient/tests/unit/identity/v3/test_credential.py +74 -63
- openstackclient/tests/unit/identity/v3/test_project.py +1 -3
- openstackclient/tests/unit/identity/v3/test_region.py +74 -96
- openstackclient/tests/unit/identity/v3/test_role.py +679 -603
- openstackclient/tests/unit/identity/v3/test_role_assignment.py +263 -1
- openstackclient/tests/unit/identity/v3/test_service_provider.py +159 -209
- openstackclient/tests/unit/identity/v3/test_token.py +5 -20
- openstackclient/tests/unit/identity/v3/test_trust.py +137 -155
- openstackclient/tests/unit/image/v2/test_image.py +6 -0
- openstackclient/tests/unit/network/v2/fakes.py +3 -0
- openstackclient/tests/unit/network/v2/test_network.py +25 -0
- openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +0 -35
- openstackclient/tests/unit/network/v2/test_port.py +128 -15
- openstackclient/tests/unit/utils.py +8 -2
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +31 -13
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +34 -13
- openstackclient/volume/v2/volume_backup.py +11 -2
- openstackclient/volume/v3/volume_backup.py +13 -2
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/AUTHORS +2 -0
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/METADATA +14 -16
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/RECORD +65 -65
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/WHEEL +1 -1
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/entry_points.txt +0 -1
- python_openstackclient-7.3.1.dist-info/pbr.json +1 -0
- python_openstackclient-7.2.1.dist-info/pbr.json +0 -1
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/LICENSE +0 -0
- {python_openstackclient-7.2.1.dist-info → python_openstackclient-7.3.1.dist-info}/top_level.txt +0 -0
|
@@ -12,92 +12,88 @@
|
|
|
12
12
|
# License for the specific language governing permissions and limitations
|
|
13
13
|
# under the License.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
from openstack.identity.v3 import service_provider as _service_provider
|
|
17
|
+
from openstack.test import fakes as sdk_fakes
|
|
16
18
|
|
|
17
19
|
from openstackclient.identity.v3 import service_provider
|
|
18
|
-
from openstackclient.tests.unit import fakes
|
|
19
20
|
from openstackclient.tests.unit.identity.v3 import fakes as service_fakes
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
class
|
|
23
|
-
def setUp(self):
|
|
24
|
-
super().setUp()
|
|
25
|
-
|
|
26
|
-
federation_lib = self.identity_client.federation
|
|
27
|
-
self.service_providers_mock = federation_lib.service_providers
|
|
28
|
-
self.service_providers_mock.reset_mock()
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class TestServiceProviderCreate(TestServiceProvider):
|
|
23
|
+
class TestServiceProviderCreate(service_fakes.TestFederatedIdentity):
|
|
32
24
|
columns = (
|
|
33
|
-
'auth_url',
|
|
34
|
-
'description',
|
|
35
|
-
'enabled',
|
|
36
25
|
'id',
|
|
26
|
+
'enabled',
|
|
27
|
+
'description',
|
|
28
|
+
'auth_url',
|
|
37
29
|
'sp_url',
|
|
38
|
-
|
|
39
|
-
datalist = (
|
|
40
|
-
service_fakes.sp_auth_url,
|
|
41
|
-
service_fakes.sp_description,
|
|
42
|
-
True,
|
|
43
|
-
service_fakes.sp_id,
|
|
44
|
-
service_fakes.service_provider_url,
|
|
30
|
+
'relay_state_prefix',
|
|
45
31
|
)
|
|
46
32
|
|
|
47
33
|
def setUp(self):
|
|
48
34
|
super().setUp()
|
|
49
35
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
self.service_provider = sdk_fakes.generate_fake_resource(
|
|
37
|
+
_service_provider.ServiceProvider
|
|
38
|
+
)
|
|
39
|
+
self.identity_sdk_client.create_service_provider.return_value = (
|
|
40
|
+
self.service_provider
|
|
41
|
+
)
|
|
42
|
+
self.data = (
|
|
43
|
+
self.service_provider.id,
|
|
44
|
+
self.service_provider.is_enabled,
|
|
45
|
+
self.service_provider.description,
|
|
46
|
+
self.service_provider.auth_url,
|
|
47
|
+
self.service_provider.sp_url,
|
|
48
|
+
self.service_provider.relay_state_prefix,
|
|
49
|
+
)
|
|
53
50
|
self.cmd = service_provider.CreateServiceProvider(self.app, None)
|
|
54
51
|
|
|
55
52
|
def test_create_service_provider_required_options_only(self):
|
|
56
53
|
arglist = [
|
|
57
54
|
'--auth-url',
|
|
58
|
-
|
|
55
|
+
self.service_provider.auth_url,
|
|
59
56
|
'--service-provider-url',
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
self.service_provider.sp_url,
|
|
58
|
+
self.service_provider.id,
|
|
62
59
|
]
|
|
63
60
|
verifylist = [
|
|
64
|
-
('auth_url',
|
|
65
|
-
('service_provider_url',
|
|
66
|
-
('service_provider_id',
|
|
61
|
+
('auth_url', self.service_provider.auth_url),
|
|
62
|
+
('service_provider_url', self.service_provider.sp_url),
|
|
63
|
+
('service_provider_id', self.service_provider.id),
|
|
67
64
|
]
|
|
68
65
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
69
66
|
columns, data = self.cmd.take_action(parsed_args)
|
|
70
67
|
|
|
71
68
|
# Set expected values
|
|
72
69
|
kwargs = {
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'sp_url': service_fakes.service_provider_url,
|
|
70
|
+
'is_enabled': True,
|
|
71
|
+
'auth_url': self.service_provider.auth_url,
|
|
72
|
+
'sp_url': self.service_provider.sp_url,
|
|
77
73
|
}
|
|
78
74
|
|
|
79
|
-
self.
|
|
80
|
-
id=
|
|
75
|
+
self.identity_sdk_client.create_service_provider.assert_called_with(
|
|
76
|
+
id=self.service_provider.id, **kwargs
|
|
81
77
|
)
|
|
82
78
|
|
|
83
79
|
self.assertEqual(self.columns, columns)
|
|
84
|
-
self.assertEqual(self.
|
|
80
|
+
self.assertEqual(self.data, data)
|
|
85
81
|
|
|
86
82
|
def test_create_service_provider_description(self):
|
|
87
83
|
arglist = [
|
|
88
84
|
'--description',
|
|
89
|
-
|
|
85
|
+
self.service_provider.description,
|
|
90
86
|
'--auth-url',
|
|
91
|
-
|
|
87
|
+
self.service_provider.auth_url,
|
|
92
88
|
'--service-provider-url',
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
self.service_provider.sp_url,
|
|
90
|
+
self.service_provider.id,
|
|
95
91
|
]
|
|
96
92
|
verifylist = [
|
|
97
|
-
('description',
|
|
98
|
-
('auth_url',
|
|
99
|
-
('service_provider_url',
|
|
100
|
-
('service_provider_id',
|
|
93
|
+
('description', self.service_provider.description),
|
|
94
|
+
('auth_url', self.service_provider.auth_url),
|
|
95
|
+
('service_provider_url', self.service_provider.sp_url),
|
|
96
|
+
('service_provider_id', self.service_provider.id),
|
|
101
97
|
]
|
|
102
98
|
|
|
103
99
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
@@ -105,111 +101,85 @@ class TestServiceProviderCreate(TestServiceProvider):
|
|
|
105
101
|
|
|
106
102
|
# Set expected values
|
|
107
103
|
kwargs = {
|
|
108
|
-
'description':
|
|
109
|
-
'auth_url':
|
|
110
|
-
'sp_url':
|
|
111
|
-
'
|
|
104
|
+
'description': self.service_provider.description,
|
|
105
|
+
'auth_url': self.service_provider.auth_url,
|
|
106
|
+
'sp_url': self.service_provider.sp_url,
|
|
107
|
+
'is_enabled': self.service_provider.is_enabled,
|
|
112
108
|
}
|
|
113
109
|
|
|
114
|
-
self.
|
|
115
|
-
id=
|
|
110
|
+
self.identity_sdk_client.create_service_provider.assert_called_with(
|
|
111
|
+
id=self.service_provider.id, **kwargs
|
|
116
112
|
)
|
|
117
113
|
|
|
118
114
|
self.assertEqual(self.columns, columns)
|
|
119
|
-
self.assertEqual(self.
|
|
115
|
+
self.assertEqual(self.data, data)
|
|
120
116
|
|
|
121
117
|
def test_create_service_provider_disabled(self):
|
|
122
|
-
# Prepare FakeResource object
|
|
123
|
-
service_provider = copy.deepcopy(service_fakes.SERVICE_PROVIDER)
|
|
124
|
-
service_provider['enabled'] = False
|
|
125
|
-
service_provider['description'] = None
|
|
126
|
-
|
|
127
|
-
resource = fakes.FakeResource(None, service_provider, loaded=True)
|
|
128
|
-
self.service_providers_mock.create.return_value = resource
|
|
129
|
-
|
|
130
118
|
arglist = [
|
|
131
119
|
'--auth-url',
|
|
132
|
-
|
|
120
|
+
self.service_provider.auth_url,
|
|
133
121
|
'--service-provider-url',
|
|
134
|
-
|
|
122
|
+
self.service_provider.sp_url,
|
|
135
123
|
'--disable',
|
|
136
|
-
|
|
124
|
+
self.service_provider.id,
|
|
137
125
|
]
|
|
138
126
|
verifylist = [
|
|
139
|
-
('auth_url',
|
|
140
|
-
('service_provider_url',
|
|
141
|
-
('service_provider_id',
|
|
127
|
+
('auth_url', self.service_provider.auth_url),
|
|
128
|
+
('service_provider_url', self.service_provider.sp_url),
|
|
129
|
+
('service_provider_id', self.service_provider.id),
|
|
142
130
|
]
|
|
143
131
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
144
132
|
columns, data = self.cmd.take_action(parsed_args)
|
|
145
133
|
# Set expected values
|
|
146
134
|
kwargs = {
|
|
147
|
-
'auth_url':
|
|
148
|
-
'sp_url':
|
|
149
|
-
'
|
|
150
|
-
'description': None,
|
|
135
|
+
'auth_url': self.service_provider.auth_url,
|
|
136
|
+
'sp_url': self.service_provider.sp_url,
|
|
137
|
+
'is_enabled': False,
|
|
151
138
|
}
|
|
152
139
|
|
|
153
|
-
self.
|
|
154
|
-
id=
|
|
140
|
+
self.identity_sdk_client.create_service_provider.assert_called_with(
|
|
141
|
+
id=self.service_provider.id, **kwargs
|
|
155
142
|
)
|
|
156
143
|
self.assertEqual(self.columns, columns)
|
|
157
|
-
|
|
158
|
-
service_fakes.sp_auth_url,
|
|
159
|
-
None,
|
|
160
|
-
False,
|
|
161
|
-
service_fakes.sp_id,
|
|
162
|
-
service_fakes.service_provider_url,
|
|
163
|
-
)
|
|
164
|
-
self.assertEqual(datalist, data)
|
|
144
|
+
self.assertEqual(self.data, data)
|
|
165
145
|
|
|
166
146
|
|
|
167
|
-
class TestServiceProviderDelete(
|
|
147
|
+
class TestServiceProviderDelete(service_fakes.TestFederatedIdentity):
|
|
168
148
|
def setUp(self):
|
|
169
149
|
super().setUp()
|
|
170
150
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
None,
|
|
174
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
175
|
-
loaded=True,
|
|
151
|
+
self.service_provider = sdk_fakes.generate_fake_resource(
|
|
152
|
+
_service_provider.ServiceProvider
|
|
176
153
|
)
|
|
177
|
-
|
|
178
|
-
self.service_providers_mock.delete.return_value = None
|
|
154
|
+
self.identity_sdk_client.delete_service_provider.return_value = None
|
|
179
155
|
self.cmd = service_provider.DeleteServiceProvider(self.app, None)
|
|
180
156
|
|
|
181
157
|
def test_delete_service_provider(self):
|
|
182
158
|
arglist = [
|
|
183
|
-
|
|
159
|
+
self.service_provider.id,
|
|
184
160
|
]
|
|
185
161
|
verifylist = [
|
|
186
|
-
('service_provider', [
|
|
162
|
+
('service_provider', [self.service_provider.id]),
|
|
187
163
|
]
|
|
188
164
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
189
165
|
|
|
190
166
|
result = self.cmd.take_action(parsed_args)
|
|
191
167
|
|
|
192
|
-
self.
|
|
193
|
-
|
|
168
|
+
self.identity_sdk_client.delete_service_provider.assert_called_with(
|
|
169
|
+
self.service_provider.id,
|
|
194
170
|
)
|
|
195
171
|
self.assertIsNone(result)
|
|
196
172
|
|
|
197
173
|
|
|
198
|
-
class TestServiceProviderList(
|
|
174
|
+
class TestServiceProviderList(service_fakes.TestFederatedIdentity):
|
|
199
175
|
def setUp(self):
|
|
200
176
|
super().setUp()
|
|
201
177
|
|
|
202
|
-
self.
|
|
203
|
-
|
|
204
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
205
|
-
loaded=True,
|
|
178
|
+
self.service_provider = sdk_fakes.generate_fake_resource(
|
|
179
|
+
_service_provider.ServiceProvider
|
|
206
180
|
)
|
|
207
|
-
self.
|
|
208
|
-
|
|
209
|
-
None,
|
|
210
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
211
|
-
loaded=True,
|
|
212
|
-
),
|
|
181
|
+
self.identity_sdk_client.service_providers.return_value = [
|
|
182
|
+
self.service_provider
|
|
213
183
|
]
|
|
214
184
|
|
|
215
185
|
# Get the command object to test
|
|
@@ -225,39 +195,56 @@ class TestServiceProviderList(TestServiceProvider):
|
|
|
225
195
|
# containing the data to be listed.
|
|
226
196
|
columns, data = self.cmd.take_action(parsed_args)
|
|
227
197
|
|
|
228
|
-
self.
|
|
198
|
+
self.identity_sdk_client.service_providers.assert_called_with()
|
|
229
199
|
|
|
230
|
-
collist = (
|
|
200
|
+
collist = (
|
|
201
|
+
'ID',
|
|
202
|
+
'Enabled',
|
|
203
|
+
'Description',
|
|
204
|
+
'Auth URL',
|
|
205
|
+
'Service Provider URL',
|
|
206
|
+
'Relay State Prefix',
|
|
207
|
+
)
|
|
231
208
|
self.assertEqual(collist, columns)
|
|
232
209
|
datalist = (
|
|
233
210
|
(
|
|
234
|
-
|
|
211
|
+
self.service_provider.id,
|
|
235
212
|
True,
|
|
236
|
-
|
|
237
|
-
|
|
213
|
+
self.service_provider.description,
|
|
214
|
+
self.service_provider.auth_url,
|
|
215
|
+
self.service_provider.sp_url,
|
|
216
|
+
self.service_provider.relay_state_prefix,
|
|
238
217
|
),
|
|
239
218
|
)
|
|
240
219
|
self.assertEqual(tuple(data), datalist)
|
|
241
220
|
|
|
242
221
|
|
|
243
|
-
class TestServiceProviderSet(
|
|
222
|
+
class TestServiceProviderSet(service_fakes.TestFederatedIdentity):
|
|
244
223
|
columns = (
|
|
245
|
-
'auth_url',
|
|
246
|
-
'description',
|
|
247
|
-
'enabled',
|
|
248
224
|
'id',
|
|
225
|
+
'enabled',
|
|
226
|
+
'description',
|
|
227
|
+
'auth_url',
|
|
249
228
|
'sp_url',
|
|
250
|
-
|
|
251
|
-
datalist = (
|
|
252
|
-
service_fakes.sp_auth_url,
|
|
253
|
-
service_fakes.sp_description,
|
|
254
|
-
False,
|
|
255
|
-
service_fakes.sp_id,
|
|
256
|
-
service_fakes.service_provider_url,
|
|
229
|
+
'relay_state_prefix',
|
|
257
230
|
)
|
|
258
231
|
|
|
259
232
|
def setUp(self):
|
|
260
233
|
super().setUp()
|
|
234
|
+
self.service_provider = sdk_fakes.generate_fake_resource(
|
|
235
|
+
_service_provider.ServiceProvider
|
|
236
|
+
)
|
|
237
|
+
self.identity_sdk_client.update_service_provider.return_value = (
|
|
238
|
+
self.service_provider
|
|
239
|
+
)
|
|
240
|
+
self.data = (
|
|
241
|
+
self.service_provider.id,
|
|
242
|
+
self.service_provider.is_enabled,
|
|
243
|
+
self.service_provider.description,
|
|
244
|
+
self.service_provider.auth_url,
|
|
245
|
+
self.service_provider.sp_url,
|
|
246
|
+
self.service_provider.relay_state_prefix,
|
|
247
|
+
)
|
|
261
248
|
self.cmd = service_provider.SetServiceProvider(self.app, None)
|
|
262
249
|
|
|
263
250
|
def test_service_provider_disable(self):
|
|
@@ -265,144 +252,107 @@ class TestServiceProviderSet(TestServiceProvider):
|
|
|
265
252
|
|
|
266
253
|
Set Service Provider's ``enabled`` attribute to False.
|
|
267
254
|
"""
|
|
268
|
-
|
|
269
|
-
def prepare(self):
|
|
270
|
-
"""Prepare fake return objects before the test is executed"""
|
|
271
|
-
updated_sp = copy.deepcopy(service_fakes.SERVICE_PROVIDER)
|
|
272
|
-
updated_sp['enabled'] = False
|
|
273
|
-
resources = fakes.FakeResource(None, updated_sp, loaded=True)
|
|
274
|
-
self.service_providers_mock.update.return_value = resources
|
|
275
|
-
|
|
276
|
-
prepare(self)
|
|
277
255
|
arglist = [
|
|
278
256
|
'--disable',
|
|
279
|
-
|
|
257
|
+
self.service_provider.id,
|
|
280
258
|
]
|
|
281
259
|
verifylist = [
|
|
282
|
-
('service_provider',
|
|
283
|
-
('
|
|
284
|
-
('disable', True),
|
|
260
|
+
('service_provider', self.service_provider.id),
|
|
261
|
+
('is_enabled', False),
|
|
285
262
|
]
|
|
286
263
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
287
|
-
self.cmd.take_action(parsed_args)
|
|
288
|
-
self.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
description=None,
|
|
292
|
-
auth_url=None,
|
|
293
|
-
sp_url=None,
|
|
264
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
265
|
+
self.identity_sdk_client.update_service_provider.assert_called_with(
|
|
266
|
+
self.service_provider.id,
|
|
267
|
+
is_enabled=False,
|
|
294
268
|
)
|
|
269
|
+
self.assertEqual(columns, self.columns)
|
|
270
|
+
self.assertEqual(data, self.data)
|
|
295
271
|
|
|
296
272
|
def test_service_provider_enable(self):
|
|
297
273
|
"""Enable Service Provider.
|
|
298
274
|
|
|
299
275
|
Set Service Provider's ``enabled`` attribute to True.
|
|
300
276
|
"""
|
|
301
|
-
|
|
302
|
-
def prepare(self):
|
|
303
|
-
"""Prepare fake return objects before the test is executed"""
|
|
304
|
-
resources = fakes.FakeResource(
|
|
305
|
-
None,
|
|
306
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
307
|
-
loaded=True,
|
|
308
|
-
)
|
|
309
|
-
self.service_providers_mock.update.return_value = resources
|
|
310
|
-
|
|
311
|
-
prepare(self)
|
|
312
277
|
arglist = [
|
|
313
278
|
'--enable',
|
|
314
|
-
|
|
279
|
+
self.service_provider.id,
|
|
315
280
|
]
|
|
316
281
|
verifylist = [
|
|
317
|
-
('service_provider',
|
|
318
|
-
('
|
|
319
|
-
('disable', False),
|
|
282
|
+
('service_provider', self.service_provider.id),
|
|
283
|
+
('is_enabled', True),
|
|
320
284
|
]
|
|
321
285
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
322
|
-
|
|
323
|
-
self.
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
enabled=True,
|
|
327
|
-
description=None,
|
|
328
|
-
auth_url=None,
|
|
329
|
-
sp_url=None,
|
|
286
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
287
|
+
self.identity_sdk_client.update_service_provider.assert_called_with(
|
|
288
|
+
self.service_provider.id,
|
|
289
|
+
is_enabled=True,
|
|
330
290
|
)
|
|
291
|
+
self.assertEqual(columns, self.columns)
|
|
292
|
+
self.assertEqual(data, self.data)
|
|
331
293
|
|
|
332
294
|
def test_service_provider_no_options(self):
|
|
333
|
-
def prepare(self):
|
|
334
|
-
"""Prepare fake return objects before the test is executed"""
|
|
335
|
-
resources = fakes.FakeResource(
|
|
336
|
-
None,
|
|
337
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
338
|
-
loaded=True,
|
|
339
|
-
)
|
|
340
|
-
self.service_providers_mock.get.return_value = resources
|
|
341
|
-
|
|
342
|
-
resources = fakes.FakeResource(
|
|
343
|
-
None,
|
|
344
|
-
copy.deepcopy(service_fakes.SERVICE_PROVIDER),
|
|
345
|
-
loaded=True,
|
|
346
|
-
)
|
|
347
|
-
self.service_providers_mock.update.return_value = resources
|
|
348
|
-
|
|
349
|
-
prepare(self)
|
|
350
295
|
arglist = [
|
|
351
|
-
|
|
296
|
+
self.service_provider.id,
|
|
352
297
|
]
|
|
353
298
|
verifylist = [
|
|
354
|
-
('service_provider',
|
|
299
|
+
('service_provider', self.service_provider.id),
|
|
355
300
|
('description', None),
|
|
356
|
-
('
|
|
357
|
-
('disable', False),
|
|
301
|
+
('is_enabled', None),
|
|
358
302
|
('auth_url', None),
|
|
359
303
|
('service_provider_url', None),
|
|
360
304
|
]
|
|
361
305
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
362
|
-
|
|
363
|
-
self.
|
|
306
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
307
|
+
self.assertEqual(columns, self.columns)
|
|
308
|
+
self.assertEqual(data, self.data)
|
|
364
309
|
|
|
365
310
|
|
|
366
|
-
class TestServiceProviderShow(
|
|
311
|
+
class TestServiceProviderShow(service_fakes.TestFederatedIdentity):
|
|
367
312
|
def setUp(self):
|
|
368
313
|
super().setUp()
|
|
369
314
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
315
|
+
self.service_provider = sdk_fakes.generate_fake_resource(
|
|
316
|
+
_service_provider.ServiceProvider
|
|
317
|
+
)
|
|
318
|
+
self.identity_sdk_client.find_service_provider.return_value = (
|
|
319
|
+
self.service_provider
|
|
320
|
+
)
|
|
321
|
+
self.data = (
|
|
322
|
+
self.service_provider.id,
|
|
323
|
+
self.service_provider.is_enabled,
|
|
324
|
+
self.service_provider.description,
|
|
325
|
+
self.service_provider.auth_url,
|
|
326
|
+
self.service_provider.sp_url,
|
|
327
|
+
self.service_provider.relay_state_prefix,
|
|
374
328
|
)
|
|
375
|
-
self.service_providers_mock.get.side_effect = [
|
|
376
|
-
Exception("Not found"),
|
|
377
|
-
ret,
|
|
378
|
-
]
|
|
379
|
-
self.service_providers_mock.get.return_value = ret
|
|
380
329
|
|
|
381
330
|
# Get the command object to test
|
|
382
331
|
self.cmd = service_provider.ShowServiceProvider(self.app, None)
|
|
383
332
|
|
|
384
333
|
def test_service_provider_show(self):
|
|
385
334
|
arglist = [
|
|
386
|
-
|
|
335
|
+
self.service_provider.id,
|
|
387
336
|
]
|
|
388
337
|
verifylist = [
|
|
389
|
-
('service_provider',
|
|
338
|
+
('service_provider', self.service_provider.id),
|
|
390
339
|
]
|
|
391
340
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
392
341
|
|
|
393
342
|
columns, data = self.cmd.take_action(parsed_args)
|
|
394
343
|
|
|
395
|
-
self.
|
|
396
|
-
|
|
344
|
+
self.identity_sdk_client.find_service_provider.assert_called_with(
|
|
345
|
+
self.service_provider.id,
|
|
346
|
+
ignore_missing=False,
|
|
397
347
|
)
|
|
398
348
|
|
|
399
|
-
collist = (
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
service_fakes.service_provider_url,
|
|
349
|
+
collist = (
|
|
350
|
+
'id',
|
|
351
|
+
'enabled',
|
|
352
|
+
'description',
|
|
353
|
+
'auth_url',
|
|
354
|
+
'sp_url',
|
|
355
|
+
'relay_state_prefix',
|
|
407
356
|
)
|
|
408
|
-
self.assertEqual(
|
|
357
|
+
self.assertEqual(collist, columns)
|
|
358
|
+
self.assertEqual(data, self.data)
|
|
@@ -11,24 +11,12 @@
|
|
|
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
|
-
|
|
16
|
-
from unittest import mock
|
|
17
14
|
|
|
18
15
|
from openstackclient.identity.v3 import token
|
|
19
16
|
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
|
|
20
17
|
|
|
21
18
|
|
|
22
|
-
class
|
|
23
|
-
def setUp(self):
|
|
24
|
-
super().setUp()
|
|
25
|
-
|
|
26
|
-
# Get a shortcut to the Auth Ref Mock
|
|
27
|
-
self.ar_mock = mock.PropertyMock()
|
|
28
|
-
type(self.app.client_manager).auth_ref = self.ar_mock
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class TestTokenIssue(TestToken):
|
|
19
|
+
class TestTokenIssue(identity_fakes.TestIdentityv3):
|
|
32
20
|
def setUp(self):
|
|
33
21
|
super().setUp()
|
|
34
22
|
|
|
@@ -38,8 +26,7 @@ class TestTokenIssue(TestToken):
|
|
|
38
26
|
auth_ref = identity_fakes.fake_auth_ref(
|
|
39
27
|
identity_fakes.TOKEN_WITH_PROJECT_ID,
|
|
40
28
|
)
|
|
41
|
-
self.
|
|
42
|
-
type(self.app.client_manager).auth_ref = self.ar_mock
|
|
29
|
+
self.app.client_manager.auth_ref = auth_ref
|
|
43
30
|
|
|
44
31
|
arglist = []
|
|
45
32
|
verifylist = []
|
|
@@ -64,8 +51,7 @@ class TestTokenIssue(TestToken):
|
|
|
64
51
|
auth_ref = identity_fakes.fake_auth_ref(
|
|
65
52
|
identity_fakes.TOKEN_WITH_DOMAIN_ID,
|
|
66
53
|
)
|
|
67
|
-
self.
|
|
68
|
-
type(self.app.client_manager).auth_ref = self.ar_mock
|
|
54
|
+
self.app.client_manager.auth_ref = auth_ref
|
|
69
55
|
|
|
70
56
|
arglist = []
|
|
71
57
|
verifylist = []
|
|
@@ -90,8 +76,7 @@ class TestTokenIssue(TestToken):
|
|
|
90
76
|
auth_ref = identity_fakes.fake_auth_ref(
|
|
91
77
|
identity_fakes.UNSCOPED_TOKEN,
|
|
92
78
|
)
|
|
93
|
-
self.
|
|
94
|
-
type(self.app.client_manager).auth_ref = self.ar_mock
|
|
79
|
+
self.app.client_manager.auth_ref = auth_ref
|
|
95
80
|
|
|
96
81
|
arglist = []
|
|
97
82
|
verifylist = []
|
|
@@ -114,7 +99,7 @@ class TestTokenIssue(TestToken):
|
|
|
114
99
|
self.assertEqual(datalist, data)
|
|
115
100
|
|
|
116
101
|
|
|
117
|
-
class TestTokenRevoke(
|
|
102
|
+
class TestTokenRevoke(identity_fakes.TestIdentityv3):
|
|
118
103
|
TOKEN = 'fob'
|
|
119
104
|
|
|
120
105
|
def setUp(self):
|