def test_extend(): md = metadata.MetaData(attrconv=ATTRCONV) md.import_metadata(_fix_valid_until(_read_file("extended.xml")), "-") signcerts = md.certs("https://coip-test.sunet.se/shibboleth", "signing") assert len(signcerts) == 1 enccerts = md.certs("https://coip-test.sunet.se/shibboleth", "encryption") assert len(enccerts) == 1 assert signcerts[0] == enccerts[0]
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_example(): md = metadata.MetaData(attrconv=ATTRCONV) md.import_metadata(_read_file(EXAMPLE_METADATA), "-") print len(md.entity) assert len(md.entity) == 1 idps = dict([(id, ent["idpsso"]) for id, ent in md.entity.items() if "idpsso" in ent]) assert idps.keys() == ["http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php"] print md._loc_key["http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php"] certs = md.certs("http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php", "signing") assert len(certs) == 1 assert isinstance(certs[0], tuple) assert len(certs[0]) == 2
def test_example(): md = metadata.MetaData(attrconv=ATTRCONV) md.import_metadata(_read_file(EXAMPLE_METADATA), "-") print len(md.entity) assert len(md.entity) == 1 idps = dict([(id,ent["idp_sso"]) for id,ent in md.entity.items() \ if "idp_sso" in ent]) assert idps.keys() == [ 'http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php' ] print md._loc_key[ 'http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php'] certs = md.certs( 'http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php', "signing") assert len(certs) == 1 assert isinstance(certs[0], tuple) assert len(certs[0]) == 2
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["idp_sso"]) for id,ent in md.entity.items() \ if "idp_sso" in ent]) print idps assert idps.keys() idp_sso = md.single_sign_on_services( '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(idp_sso) == 1 assert idp_sso == ['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 print md._wants.keys() assert _eq(md._wants.keys(), [ 'https://sp.swamid.se/shibboleth', 'https://connect8.sunet.se/shibboleth', 'https://beta.lobber.se/shibboleth', 'https://connect.uninett.no/shibboleth', 'https://www.diva-portal.org/shibboleth', 'https://connect.sunet.se/shibboleth', 'https://crowd.nordu.net/shibboleth' ]) print md.wants('https://www.diva-portal.org/shibboleth') assert _eq( md.wants('https://www.diva-portal.org/shibboleth')[1].keys(), [ 'mail', 'givenName', 'eduPersonPrincipalName', 'sn', 'eduPersonScopedAffiliation' ]) assert md.wants('https://connect.sunet.se/shibboleth')[0] == {} assert _eq( md.wants('https://connect.sunet.se/shibboleth')[1].keys(), [ 'mail', 'givenName', 'eduPersonPrincipalName', 'sn', 'eduPersonScopedAffiliation' ])
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["idp_sso"]) for id,ent in md.entity.items() \ if "idp_sso" in ent]) print idps assert idps.keys() idp_sso = md.single_sign_on_services( '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(idp_sso) == 1 assert idp_sso == ['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 print md._wants.keys() assert _eq(md._wants.keys(),['https://sp.swamid.se/shibboleth', 'https://connect8.sunet.se/shibboleth', 'https://beta.lobber.se/shibboleth', 'https://connect.uninett.no/shibboleth', 'https://www.diva-portal.org/shibboleth', 'https://connect.sunet.se/shibboleth', 'https://crowd.nordu.net/shibboleth']) print md.wants('https://www.diva-portal.org/shibboleth') assert _eq(md.wants('https://www.diva-portal.org/shibboleth')[1].keys(), ['mail', 'givenName', 'eduPersonPrincipalName', 'sn', 'eduPersonScopedAffiliation']) assert md.wants('https://connect.sunet.se/shibboleth')[0] == {} assert _eq(md.wants('https://connect.sunet.se/shibboleth')[1].keys(), ['mail', 'givenName', 'eduPersonPrincipalName', 'sn', 'eduPersonScopedAffiliation'])