def test_signed_metadata(self, entity_desc, signature_security_context, verification_security_context): signed_metadata = create_signed_entity_descriptor(entity_desc, signature_security_context) md = InMemoryMetaData(None, security=verification_security_context) md.parse(signed_metadata) assert md.signed() is True assert md.parse_and_check_signature(signed_metadata) is True assert not md.entity_descr.valid_until
def test_signed_metadata(self, entity_desc, signature_security_context, verification_security_context): signed_metadata = create_signed_entity_descriptor(entity_desc, signature_security_context) md = InMemoryMetaData(None, security=verification_security_context) md.parse(signed_metadata) assert md.signed() is True assert md.parse_and_check_signature(signed_metadata) is True assert not md.entity_descr.valid_until
def test_valid_for(self, entity_desc, signature_security_context): valid_for = 4 # metadata valid for 4 hours expected_validity = in_a_while(hours=valid_for) signed_metadata = create_signed_entity_descriptor( entity_desc, signature_security_context, valid_for=valid_for) md = InMemoryMetaData(None) md.parse(signed_metadata) assert md.entity_descr.valid_until == expected_validity
def test_valid_for(self, entity_desc, signature_security_context): valid_for = 4 # metadata valid for 4 hours expected_validity = in_a_while(hours=valid_for) signed_metadata = create_signed_entity_descriptor(entity_desc, signature_security_context, valid_for=valid_for) md = InMemoryMetaData(None) md.parse(signed_metadata) assert md.entity_descr.valid_until == expected_validity
def assert_single_sign_on_endpoints_for_saml_mirror_frontend(self, entity_descriptors, encoded_target_entity_id, saml_mirror_frontend_config, backend_names): expected_entity_id = saml_mirror_frontend_config["config"]["idp_config"][ "entityid"] + "/" + encoded_target_entity_id metadata = InMemoryMetaData(None, None) for ed in entity_descriptors: metadata.parse(str(ed)) sso = metadata.service(expected_entity_id, "idpsso_descriptor", "single_sign_on_service") for backend_name in backend_names: for binding, path in saml_mirror_frontend_config["config"]["endpoints"]["single_sign_on_service"].items(): sso_urls_for_binding = [endpoint["location"] for endpoint in sso[binding]] expected_url = "{}/{}/{}/{}".format(BASE_URL, backend_name, encoded_target_entity_id, path) assert expected_url in sso_urls_for_binding
def assert_single_sign_on_endpoints_for_saml_mirror_frontend(self, entity_descriptors, encoded_target_entity_id, saml_mirror_frontend_config, backend_names): expected_entity_id = saml_mirror_frontend_config["config"]["idp_config"][ "entityid"] + "/" + encoded_target_entity_id metadata = InMemoryMetaData(None, None) for ed in entity_descriptors: metadata.parse(str(ed)) sso = metadata.service(expected_entity_id, "idpsso_descriptor", "single_sign_on_service") for backend_name in backend_names: for binding, path in saml_mirror_frontend_config["config"]["endpoints"]["single_sign_on_service"].items(): sso_urls_for_binding = [endpoint["location"] for endpoint in sso[binding]] expected_url = "{}/{}/{}/{}".format(BASE_URL, backend_name, encoded_target_entity_id, path) assert expected_url in sso_urls_for_binding