From ed616d7919f2a19b142748b0244be7265501c9e0 Mon Sep 17 00:00:00 2001 From: "Cyril Dutrieux (cydu)" Date: Wed, 18 Dec 2024 19:08:53 +0100 Subject: [PATCH] fixup improve coverage --- auth_saml/tests/test_pysaml.py | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/auth_saml/tests/test_pysaml.py b/auth_saml/tests/test_pysaml.py index 90b453b68d..80d8368a43 100644 --- a/auth_saml/tests/test_pysaml.py +++ b/auth_saml/tests/test_pysaml.py @@ -378,6 +378,43 @@ def test_download_metadata(self): self.saml_provider.action_refresh_metadata_from_url() self.assertEqual(self.saml_provider.idp_metadata, expected_metadata) + @responses.activate + def test_download_metadata_no_provider(self): + self.saml_provider.idp_metadata_url = "http://localhost:8000/metadata" + self.saml_provider.idp_metadata = "" + self.saml_provider.active = False + self.saml_provider.action_refresh_metadata_from_url() + self.assertFalse(self.saml_provider.idp_metadata) + + @responses.activate + def test_download_metadata_error(self): + responses.add( + responses.GET, + "http://localhost:8000/metadata", + status=500, + content_type="text/xml", + ) + self.saml_provider.idp_metadata_url = "http://localhost:8000/metadata" + self.saml_provider.idp_metadata = "" + with self.assertRaises(UserError): + self.saml_provider.action_refresh_metadata_from_url() + self.assertFalse(self.saml_provider.idp_metadata) + + @responses.activate + def test_download_metadata_no_update(self): + expected_metadata = self.idp.get_metadata() + responses.add( + responses.GET, + "http://localhost:8000/metadata", + status=200, + content_type="text/xml", + body=expected_metadata, + ) + self.saml_provider.idp_metadata_url = "http://localhost:8000/metadata" + self.saml_provider.idp_metadata = expected_metadata + self.saml_provider.action_refresh_metadata_from_url() + self.assertEqual(self.saml_provider.idp_metadata, expected_metadata) + @responses.activate def test_login_with_saml_metadata_empty(self): self.saml_provider.idp_metadata_url = "http://localhost:8000/metadata"