def test_swami_1(): md = metadata.MetaData(attrconv=ATTRCONV) md.import_metadata(_read_file(SWAMI_METADATA), "-") print len(md.entity) assert len(md.entity) idps = dict([(id, ent["idpsso"]) for id, ent in md.entity.items() if "idpsso" in ent]) print idps assert idps.keys() idpsso = md.single_sign_on_service("https://idp.umu.se/saml2/idp/metadata.php") assert md.name("https://idp.umu.se/saml2/idp/metadata.php") == (u"Ume\xe5 University (SAML2)") assert len(idpsso) == 1 assert idpsso == ["https://idp.umu.se/saml2/idp/SSOService.php"] print md._loc_key["https://idp.umu.se/saml2/idp/SSOService.php"] ssocerts = md.certs("https://idp.umu.se/saml2/idp/SSOService.php", "signing") print ssocerts assert len(ssocerts) == 1 sps = dict([(id, ent["spsso"]) for id, ent in md.entity.items() if "spsso" in ent]) acs_sp = [] for nam, desc in sps.items(): if desc[0].attribute_consuming_service: acs_sp.append(nam) # print md.wants('https://www.diva-portal.org/shibboleth') wants = md.attribute_requirement("https://connect8.sunet.se/shibboleth") lnamn = [to_local_name(md.attrconv, attr) for attr in wants[1]] assert _eq(lnamn, ["mail", "givenName", "eduPersonPrincipalName", "sn", "eduPersonScopedAffiliation"]) wants = md.attribute_requirement("https://beta.lobber.se/shibboleth") assert wants[0] == [] lnamn = [to_local_name(md.attrconv, attr) for attr in wants[1]] assert _eq( lnamn, ["eduPersonScopedAffiliation", "eduPersonEntitlement", "eduPersonPrincipalName", "sn", "mail", "givenName"], )
def test_to_local_name_from_basic(self): attr = [saml.Attribute( name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN")] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['eduPersonPrimaryOrgUnitDN'])
def test_to_local_name_from_basic(self): attr = [saml.Attribute( name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN")] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['eduPersonPrimaryOrgUnitDN'])
def test_to_local_name_from_basic(self): attr = [ saml.Attribute( name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:basic") ] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['eduPersonPrimaryOrgUnitDN'])
def test_to_local_name_from_basic(self): attr = [ saml.Attribute( name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:basic") ] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['eduPersonPrimaryOrgUnitDN'])
def test_to_local_name(self): attr = [saml.Attribute(friendly_name="surName", name="urn:oid:2.5.4.4", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"), saml.Attribute(friendly_name="efternamn", name="urn:oid:2.5.4.42", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"), saml.Attribute(friendly_name="titel", name="urn:oid:2.5.4.12", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['sn', 'givenName', 'title'])
def test_to_local_name(self): attr = [ saml.Attribute( friendly_name="surName", name="urn:oid:2.5.4.4", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"), saml.Attribute( friendly_name="efternamn", name="urn:oid:2.5.4.42", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"), saml.Attribute( friendly_name="titel", name="urn:oid:2.5.4.12", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")] lan = [attribute_converter.to_local_name(self.acs, a) for a in attr] assert _eq(lan, ['sn', 'givenName', 'title'])