Allow name_format for requested attributes to be set in the configuration.

This commit is contained in:
Roland Hedberg 2015-09-08 07:36:37 +02:00
parent 3ddbb1a128
commit 6744f80290
1 changed files with 51 additions and 0 deletions

51
tests/test_39_metadata.py Normal file
View File

@ -0,0 +1,51 @@
import copy
from saml2.config import SPConfig
from saml2.metadata import entity_descriptor
from saml2.saml import NAME_FORMAT_URI, NAME_FORMAT_BASIC
__author__ = 'roland'
sp_conf = {
"entityid": "urn:mace:umu.se:saml:roland:sp",
"name": "Rolands SP",
"service": {
"sp": {
"endpoints": {
"assertion_consumer_service": [
"http://lingon.catalogix.se:8087/"],
},
"required_attributes": ["surName", "givenName", "mail"],
"optional_attributes": ["title"],
"idp": {
"": "https://example.com/saml2/idp/SSOService.php",
},
"authn_requests_signed": True,
"logout_requests_signed": True,
}
},
}
def test_requested_attribute_name_format():
cnf = SPConfig().load(sp_conf, metadata_construction=True)
ed = entity_descriptor(cnf)
assert len(ed.spsso_descriptor.attribute_consuming_service) == 1
acs = ed.spsso_descriptor.attribute_consuming_service[0]
assert len(acs.requested_attribute) == 4
for req_attr in acs.requested_attribute:
assert req_attr.name_format == NAME_FORMAT_URI
sp2 = copy.copy(sp_conf)
sp2["service"]["sp"]["requested_attribute_name_format"] = NAME_FORMAT_BASIC
cnf2 = SPConfig().load(sp2, metadata_construction=True)
ed = entity_descriptor(cnf2)
acs = ed.spsso_descriptor.attribute_consuming_service[0]
assert len(acs.requested_attribute) == 4
for req_attr in acs.requested_attribute:
assert req_attr.name_format == NAME_FORMAT_BASIC
if __name__ == '__main__':
test_requested_attribute_name_format()