Skip to content

Commit 4eae624

Browse files
authored
feat (IAM Access Groups): Enable search during list groups (#208)
Signed-off-by: HARI K ARLA <[email protected]>
1 parent 1354438 commit 4eae624

File tree

3 files changed

+1275
-317
lines changed

3 files changed

+1275
-317
lines changed

examples/test_iam_access_groups_v2_examples.py

Lines changed: 105 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# (C) Copyright IBM Corp. 2020, 2022.
2+
# (C) Copyright IBM Corp. 2023.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -17,13 +17,13 @@
1717
Examples for IamAccessGroupsV2
1818
"""
1919

20+
from ibm_cloud_sdk_core import ApiException, read_external_sources
2021
import os
2122
import pytest
22-
from ibm_cloud_sdk_core import ApiException, read_external_sources
2323
from ibm_platform_services.iam_access_groups_v2 import *
2424

2525
#
26-
# This file provides an example of how to use the IAM Access Groups service.
26+
# This file provides an example of how to use the iam-access-groups service.
2727
#
2828
# The following configuration properties are assumed to be defined:
2929
#
@@ -54,8 +54,6 @@
5454
# Start of Examples for Service: IamAccessGroupsV2
5555
##############################################################################
5656
# region
57-
58-
5957
class TestIamAccessGroupsV2Examples:
6058
"""
6159
Example Test Class for IamAccessGroupsV2
@@ -92,12 +90,16 @@ def test_create_access_group_example(self):
9290
create_access_group request example
9391
"""
9492
try:
93+
global access_group_id_link
9594
print('\ncreate_access_group() result:')
9695
# begin-create_access_group
9796

98-
group = iam_access_groups_service.create_access_group(
99-
account_id=test_account_id, name='Managers', description='Group for managers'
100-
).get_result()
97+
response = iam_access_groups_service.create_access_group(
98+
account_id=test_account_id,
99+
name='Managers',
100+
description='Group for managers',
101+
)
102+
group = response.get_result()
101103

102104
print(json.dumps(group, indent=2))
103105

@@ -115,18 +117,20 @@ def test_get_access_group_example(self):
115117
get_access_group request example
116118
"""
117119
try:
120+
global access_group_e_tag_link
118121
print('\nget_access_group() result:')
119122
# begin-get_access_group
120123

121-
response = iam_access_groups_service.get_access_group(access_group_id=test_group_id)
124+
response = iam_access_groups_service.get_access_group(
125+
access_group_id=test_group_id,
126+
)
122127
group = response.get_result()
123128

124129
print(json.dumps(group, indent=2))
125130

126131
# end-get_access_group
127-
global test_group_etag
128-
test_group_etag = response.get_headers().get('Etag')
129132

133+
access_group_e_tag_link = response.get_headers().get('ETag')
130134
except ApiException as e:
131135
pytest.fail(str(e))
132136

@@ -139,12 +143,13 @@ def test_update_access_group_example(self):
139143
print('\nupdate_access_group() result:')
140144
# begin-update_access_group
141145

142-
group = iam_access_groups_service.update_access_group(
146+
response = iam_access_groups_service.update_access_group(
143147
access_group_id=test_group_id,
144-
if_match=test_group_etag,
148+
if_match=access_group_e_tag_link,
145149
name='Awesome Managers',
146-
description='Group for awesome managers',
147-
).get_result()
150+
description='Group for awesome managers.',
151+
)
152+
group = response.get_result()
148153

149154
print(json.dumps(group, indent=2))
150155

@@ -186,14 +191,17 @@ def test_add_members_to_access_group_example(self):
186191
try:
187192
print('\nadd_members_to_access_group() result:')
188193
# begin-add_members_to_access_group
194+
189195
member1 = AddGroupMembersRequestMembersItem(iam_id='IBMid-user1', type='user')
190196
member2 = AddGroupMembersRequestMembersItem(iam_id='iam-ServiceId-123', type='service')
191197
member3 = AddGroupMembersRequestMembersItem(iam_id=test_profile_id, type='profile')
192198
members = [member1, member2, member3]
193199

194-
add_group_members_response = iam_access_groups_service.add_members_to_access_group(
195-
access_group_id=test_group_id, members=members
196-
).get_result()
200+
response = iam_access_groups_service.add_members_to_access_group(
201+
access_group_id=test_group_id,
202+
members=members,
203+
)
204+
add_group_members_response = response.get_result()
197205

198206
print(json.dumps(add_group_members_response, indent=2))
199207

@@ -254,11 +262,12 @@ def test_remove_member_from_access_group_example(self):
254262
# begin-remove_member_from_access_group
255263

256264
response = iam_access_groups_service.remove_member_from_access_group(
257-
access_group_id=test_group_id, iam_id='IBMid-user1'
265+
access_group_id=test_group_id,
266+
iam_id='IBMid-user1',
258267
)
259268

260269
# end-remove_member_from_access_group
261-
print('\nremove_member_from_access_group() response status code:', response.get_status_code())
270+
print('\nremove_member_from_access_group() response status code: ', response.get_status_code())
262271

263272
except ApiException as e:
264273
pytest.fail(str(e))
@@ -272,29 +281,11 @@ def test_remove_members_from_access_group_example(self):
272281
print('\nremove_members_from_access_group() result:')
273282
# begin-remove_members_from_access_group
274283

275-
delete_group_bulk_members_response = iam_access_groups_service.remove_members_from_access_group(
276-
access_group_id=test_group_id, members=['iam-ServiceId-123']
277-
).get_result()
278-
279-
print(json.dumps(delete_group_bulk_members_response, indent=2))
280-
281-
# end-remove_members_from_access_group
282-
283-
except ApiException as e:
284-
pytest.fail(str(e))
285-
286-
@needscredentials
287-
def test_remove_profile_members_from_access_group_example(self):
288-
"""
289-
remove_members_from_access_group request example
290-
"""
291-
try:
292-
print('\nremove_members_from_access_group() result:')
293-
# begin-remove_members_from_access_group
294-
295-
delete_group_bulk_members_response = iam_access_groups_service.remove_members_from_access_group(
296-
access_group_id=test_group_id, members=[test_profile_id]
297-
).get_result()
284+
response = iam_access_groups_service.remove_members_from_access_group(
285+
access_group_id=test_group_id,
286+
members=['IBMId-user1', 'iam-ServiceId-123', test_profile_id],
287+
)
288+
delete_group_bulk_members_response = response.get_result()
298289

299290
print(json.dumps(delete_group_bulk_members_response, indent=2))
300291

@@ -312,9 +303,13 @@ def test_add_member_to_multiple_access_groups_example(self):
312303
print('\nadd_member_to_multiple_access_groups() result:')
313304
# begin-add_member_to_multiple_access_groups
314305

315-
add_membership_multiple_groups_response = iam_access_groups_service.add_member_to_multiple_access_groups(
316-
account_id=test_account_id, iam_id='IBMid-user1', type='user', groups=[test_group_id]
317-
).get_result()
306+
response = iam_access_groups_service.add_member_to_multiple_access_groups(
307+
account_id=test_account_id,
308+
iam_id='IBMid-user1',
309+
type='user',
310+
groups=[test_group_id],
311+
)
312+
add_membership_multiple_groups_response = response.get_result()
318313

319314
print(json.dumps(add_membership_multiple_groups_response, indent=2))
320315

@@ -332,9 +327,10 @@ def test_remove_member_from_all_access_groups_example(self):
332327
print('\nremove_member_from_all_access_groups() result:')
333328
# begin-remove_member_from_all_access_groups
334329

335-
delete_from_all_groups_response = iam_access_groups_service.remove_member_from_all_access_groups(
330+
response = iam_access_groups_service.remove_member_from_all_access_groups(
336331
account_id=test_account_id, iam_id='IBMid-user1'
337-
).get_result()
332+
)
333+
delete_from_all_groups_response = response.get_result()
338334

339335
print(json.dumps(delete_from_all_groups_response, indent=2))
340336

@@ -352,21 +348,46 @@ def test_add_access_group_rule_example(self):
352348
print('\nadd_access_group_rule() result:')
353349
# begin-add_access_group_rule
354350

355-
rule_conditions_model = {'claim': 'isManager', 'operator': 'EQUALS', 'value': 'true'}
351+
rule_conditions_model = {
352+
'claim': 'isManager',
353+
'operator': 'EQUALS',
354+
'value': 'true',
355+
}
356356

357-
rule = iam_access_groups_service.add_access_group_rule(
357+
response = iam_access_groups_service.add_access_group_rule(
358358
access_group_id=test_group_id,
359-
name='Manager group rule',
360359
expiration=12,
361-
realm_name='https://idp.example.org/SAML2"',
360+
realm_name='https://idp.example.org/SAML3',
362361
conditions=[rule_conditions_model],
363-
).get_result()
364-
365-
print(json.dumps(rule, indent=2))
362+
name='Manager group rule',
363+
)
364+
rule = response.get_result()
366365

367366
# end-add_access_group_rule
368367
global test_claim_rule_id
369368
test_claim_rule_id = rule['id']
369+
# end-add_access_group_rule
370+
371+
except ApiException as e:
372+
pytest.fail(str(e))
373+
374+
@needscredentials
375+
def test_list_access_group_rules_example(self):
376+
"""
377+
list_access_group_rules request example
378+
"""
379+
try:
380+
print('\nlist_access_group_rules() result:')
381+
# begin-list_access_group_rules
382+
383+
response = iam_access_groups_service.list_access_group_rules(
384+
access_group_id=test_group_id,
385+
)
386+
rules_list = response.get_result()
387+
388+
print(json.dumps(rules_list, indent=2))
389+
390+
# end-list_access_group_rules
370391

371392
except ApiException as e:
372393
pytest.fail(str(e))
@@ -381,7 +402,8 @@ def test_get_access_group_rule_example(self):
381402
# begin-get_access_group_rule
382403

383404
response = iam_access_groups_service.get_access_group_rule(
384-
access_group_id=test_group_id, rule_id=test_claim_rule_id
405+
access_group_id=test_group_id,
406+
rule_id=test_claim_rule_id,
385407
)
386408
rule = response.get_result()
387409

@@ -403,17 +425,22 @@ def test_replace_access_group_rule_example(self):
403425
print('\nreplace_access_group_rule() result:')
404426
# begin-replace_access_group_rule
405427

406-
rule_conditions_model = {'claim': 'isManager', 'operator': 'EQUALS', 'value': 'true'}
428+
rule_conditions_model = {
429+
'claim': 'isManager',
430+
'operator': 'EQUALS',
431+
'value': 'true',
432+
}
407433

408-
rule = iam_access_groups_service.replace_access_group_rule(
434+
response = iam_access_groups_service.replace_access_group_rule(
409435
access_group_id=test_group_id,
410436
rule_id=test_claim_rule_id,
411437
if_match=test_claim_rule_etag,
412-
name='Manager group rule',
413-
expiration=24,
414-
realm_name='https://idp.example.org/SAML2a',
438+
expiration=12,
439+
realm_name='https://idp.example.org/SAML3',
415440
conditions=[rule_conditions_model],
416-
).get_result()
441+
name='Manager group rule',
442+
)
443+
rule = response.get_result()
417444

418445
print(json.dumps(rule, indent=2))
419446

@@ -422,24 +449,6 @@ def test_replace_access_group_rule_example(self):
422449
except ApiException as e:
423450
pytest.fail(str(e))
424451

425-
@needscredentials
426-
def test_list_access_group_rules_example(self):
427-
"""
428-
list_access_group_rules request example
429-
"""
430-
try:
431-
print('\nlist_access_group_rules() result:')
432-
# begin-list_access_group_rules
433-
434-
rules_list = iam_access_groups_service.list_access_group_rules(access_group_id=test_group_id).get_result()
435-
436-
print(json.dumps(rules_list, indent=2))
437-
438-
# end-list_access_group_rules
439-
440-
except ApiException as e:
441-
pytest.fail(str(e))
442-
443452
@needscredentials
444453
def test_remove_access_group_rule_example(self):
445454
"""
@@ -449,11 +458,12 @@ def test_remove_access_group_rule_example(self):
449458
# begin-remove_access_group_rule
450459

451460
response = iam_access_groups_service.remove_access_group_rule(
452-
access_group_id=test_group_id, rule_id=test_claim_rule_id
461+
access_group_id=test_group_id,
462+
rule_id=test_claim_rule_id,
453463
)
454464

455465
# end-remove_access_group_rule
456-
print('\nremove_access_group_rule() response status code:', response.get_status_code())
466+
print('\nremove_access_group_rule() response status code: ', response.get_status_code())
457467

458468
except ApiException as e:
459469
pytest.fail(str(e))
@@ -467,7 +477,10 @@ def test_get_account_settings_example(self):
467477
print('\nget_account_settings() result:')
468478
# begin-get_account_settings
469479

470-
account_settings = iam_access_groups_service.get_account_settings(account_id=test_account_id).get_result()
480+
response = iam_access_groups_service.get_account_settings(
481+
account_id=test_account_id,
482+
)
483+
account_settings = response.get_result()
471484

472485
print(json.dumps(account_settings, indent=2))
473486

@@ -485,9 +498,11 @@ def test_update_account_settings_example(self):
485498
print('\nupdate_account_settings() result:')
486499
# begin-update_account_settings
487500

488-
account_settings = iam_access_groups_service.update_account_settings(
489-
account_id=test_account_id, public_access_enabled=True
490-
).get_result()
501+
response = iam_access_groups_service.update_account_settings(
502+
account_id=test_account_id,
503+
public_access_enabled=True,
504+
)
505+
account_settings = response.get_result()
491506

492507
print(json.dumps(account_settings, indent=2))
493508

@@ -504,10 +519,12 @@ def test_delete_access_group_example(self):
504519
try:
505520
# begin-delete_access_group
506521

507-
response = iam_access_groups_service.delete_access_group(access_group_id=test_group_id)
522+
response = iam_access_groups_service.delete_access_group(
523+
access_group_id=test_group_id,
524+
)
508525

509526
# end-delete_access_group
510-
print('\ndelete_access_group() response status code:' + str(response.get_status_code()))
527+
print('\ndelete_access_group() response status code: ', response.get_status_code())
511528

512529
except ApiException as e:
513530
pytest.fail(str(e))

0 commit comments

Comments
 (0)