Skip to content

Commit

Permalink
Skip the SAML tests if xmlsec1 isn't available. (matrix-org#8905)
Browse files Browse the repository at this point in the history
  • Loading branch information
clokep authored Dec 9, 2020
1 parent 43bf3c5 commit 6ff34e0
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
1 change: 1 addition & 0 deletions changelog.d/8905.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Skip the SAML tests if the requirements (`pysaml2` and `xmlsec1`) aren't available.
23 changes: 23 additions & 0 deletions tests/handlers/test_saml.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,24 @@

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.
BASE_URL = "https://synapse/"

Expand Down Expand Up @@ -86,6 +104,11 @@ def make_homeserver(self, reactor, clock):

return hs

if not has_saml2:
skip = "Requires pysaml2"
elif not has_xmlsec1:
skip = "Requires xmlsec1"

def test_map_saml_response_to_user(self):
"""Ensure that mapping the SAML response returned from a provider to an MXID works properly."""
saml_response = FakeAuthnResponse({"uid": "test_user", "username": "test_user"})
Expand Down

0 comments on commit 6ff34e0

Please sign in to comment.