Skip to content
Snippets Groups Projects
Unverified Commit 6ff34e00 authored by Patrick Cloke's avatar Patrick Cloke Committed by GitHub
Browse files

Skip the SAML tests if xmlsec1 isn't available. (#8905)

parent 43bf3c51
No related branches found
No related tags found
No related merge requests found
Skip the SAML tests if the requirements (`pysaml2` and `xmlsec1`) aren't available.
...@@ -19,6 +19,24 @@ from synapse.handlers.sso import MappingException ...@@ -19,6 +19,24 @@ from synapse.handlers.sso import MappingException
from tests.unittest import HomeserverTestCase, override_config from tests.unittest import HomeserverTestCase, override_config
# Check if we have the dependencies to run the tests.
try:
import saml2.config
from saml2.sigver import SigverError
has_saml2 = True
# pysaml2 can be installed and imported, but might not be able to find xmlsec1.
config = saml2.config.SPConfig()
try:
config.load({"metadata": {}})
has_xmlsec1 = True
except SigverError:
has_xmlsec1 = False
except ImportError:
has_saml2 = False
has_xmlsec1 = False
# These are a few constants that are used as config parameters in the tests. # These are a few constants that are used as config parameters in the tests.
BASE_URL = "https://synapse/" BASE_URL = "https://synapse/"
...@@ -86,6 +104,11 @@ class SamlHandlerTestCase(HomeserverTestCase): ...@@ -86,6 +104,11 @@ class SamlHandlerTestCase(HomeserverTestCase):
return hs return hs
if not has_saml2:
skip = "Requires pysaml2"
elif not has_xmlsec1:
skip = "Requires xmlsec1"
def test_map_saml_response_to_user(self): def test_map_saml_response_to_user(self):
"""Ensure that mapping the SAML response returned from a provider to an MXID works properly.""" """Ensure that mapping the SAML response returned from a provider to an MXID works properly."""
saml_response = FakeAuthnResponse({"uid": "test_user", "username": "test_user"}) saml_response = FakeAuthnResponse({"uid": "test_user", "username": "test_user"})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment