Skip to content

Commit ff57d51

Browse files
committed
Handle registration_policy None
1 parent 239c7a9 commit ff57d51

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/saml2/mdstore.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1445,7 +1445,7 @@ def registration_info(self, entity_id):
14451445
if elem["__class__"] == classnames["mdrpi_registration_info"]:
14461446
res["registration_authority"] = elem["registration_authority"]
14471447
res["registration_instant"] = elem.get("registration_instant")
1448-
for policy in elem.get('registration_policy'):
1448+
for policy in elem.get('registration_policy', list()):
14491449
if policy["__class__"] == classnames["mdrpi_registration_policy"]:
14501450
res['registration_policy'][policy["lang"]] = policy["text"]
14511451
return res

tests/test_30_mdstore.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,16 @@ def test_registration_info():
575575
registration_info['registration_policy']['en']
576576

577577

578+
def test_registration_info_no_policy():
579+
mds = MetadataStore(ATTRCONV, sec_config,
580+
disable_ssl_certificate_validation=True)
581+
mds.imp(METADATACONF["13"])
582+
registration_info = mds.registration_info(entity_id='https://idp.szie.hu/idp/shibboleth')
583+
assert 'http://eduid.hu' == registration_info['registration_authority']
584+
assert registration_info['registration_instant'] is None
585+
assert registration_info['registration_policy'] == {}
586+
587+
578588
def test_extension():
579589
mds = MetadataStore(ATTRCONV, None)
580590
# use ordered dict to force expected entity to be last

0 commit comments

Comments
 (0)