def assert_assertion_consumer_service_endpoints_for_saml_backend(self, entity_descriptor, saml_backend_config): metadata = InMemoryMetaData(None, str(entity_descriptor)) metadata.load() acs = metadata.service(saml_backend_config["config"]["sp_config"]["entityid"], "spsso_descriptor", "assertion_consumer_service") for url, binding in saml_backend_config["config"]["sp_config"]["service"]["sp"]["endpoints"][ "assertion_consumer_service"]: assert acs[binding][0]["location"] == url
def assert_assertion_consumer_service_endpoints_for_saml_backend(self, entity_descriptor, saml_backend_config): metadata = InMemoryMetaData(None, str(entity_descriptor)) metadata.load() acs = metadata.service(saml_backend_config["config"]["sp_config"]["entityid"], "spsso_descriptor", "assertion_consumer_service") for url, binding in saml_backend_config["config"]["sp_config"]["service"]["sp"]["endpoints"][ "assertion_consumer_service"]: assert acs[binding][0]["location"] == url
def assert_single_sign_on_endpoints_for_saml_frontend(self, entity_descriptor, saml_frontend_config, backend_names): metadata = InMemoryMetaData(None, str(entity_descriptor)) metadata.load() sso = metadata.service(saml_frontend_config["config"]["idp_config"]["entityid"], "idpsso_descriptor", "single_sign_on_service") for backend_name in backend_names: for binding, path in saml_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, path) assert expected_url in sso_urls_for_binding
def assert_single_sign_on_endpoints_for_saml_frontend(self, entity_descriptor, saml_frontend_config, backend_names): metadata = InMemoryMetaData(None, str(entity_descriptor)) metadata.load() sso = metadata.service(saml_frontend_config["config"]["idp_config"]["entityid"], "idpsso_descriptor", "single_sign_on_service") for backend_name in backend_names: for binding, path in saml_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, 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
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