diff options
author | Patrick Cloke <patrickc@matrix.org> | 2020-12-04 09:14:31 -0500 |
---|---|---|
committer | Patrick Cloke <patrickc@matrix.org> | 2020-12-04 09:14:31 -0500 |
commit | 112f6bd49e54732e88523533f3b2d4b271be54e1 (patch) | |
tree | 991e1ed53538e25486ed855c299d3599c380e895 /tests/handlers/test_saml.py | |
parent | Fix a buglet in the SAML username mapping provider doc (#8873) (diff) | |
parent | Minor update to CHANGES. (diff) | |
download | synapse-112f6bd49e54732e88523533f3b2d4b271be54e1.tar.xz |
Merge tag 'v1.24.0rc2' into develop
Synapse 1.24.0rc2 (2020-12-04) ============================== Bugfixes -------- - Fix a regression in v1.24.0rc1 which failed to allow SAML mapping providers which were unable to redirect users to an additional page. ([\#8878](https://github.com/matrix-org/synapse/issues/8878)) Internal Changes ---------------- - Add support for the `prometheus_client` newer than 0.9.0. Contributed by Jordan Bancino. ([\#8875](https://github.com/matrix-org/synapse/issues/8875))
Diffstat (limited to 'tests/handlers/test_saml.py')
-rw-r--r-- | tests/handlers/test_saml.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/handlers/test_saml.py b/tests/handlers/test_saml.py index e1e13a5faf..45dc17aba5 100644 --- a/tests/handlers/test_saml.py +++ b/tests/handlers/test_saml.py @@ -14,6 +14,7 @@ import attr +from synapse.api.errors import RedirectException from synapse.handlers.sso import MappingException from tests.unittest import HomeserverTestCase, override_config @@ -49,6 +50,13 @@ class TestMappingProvider: return {"mxid_localpart": localpart, "displayname": None} +class TestRedirectMappingProvider(TestMappingProvider): + def saml_response_to_user_attributes( + self, saml_response, failures, client_redirect_url + ): + raise RedirectException(b"https://custom-saml-redirect/") + + class SamlHandlerTestCase(HomeserverTestCase): def default_config(self): config = super().default_config() @@ -166,3 +174,23 @@ class SamlHandlerTestCase(HomeserverTestCase): self.assertEqual( str(e.value), "Unable to generate a Matrix ID from the SSO response" ) + + @override_config( + { + "saml2_config": { + "user_mapping_provider": { + "module": __name__ + ".TestRedirectMappingProvider" + }, + } + } + ) + def test_map_saml_response_redirect(self): + saml_response = FakeAuthnResponse({"uid": "test", "username": "test_user"}) + redirect_url = "" + e = self.get_failure( + self.handler._map_saml_response_to_user( + saml_response, redirect_url, "user-agent", "10.10.10.10" + ), + RedirectException, + ) + self.assertEqual(e.value.location, b"https://custom-saml-redirect/") |