From 5537390c5deb366d17a835c14853e8f5078676d5 Mon Sep 17 00:00:00 2001 From: Alexander Schrijver Date: Thu, 17 Dec 2020 16:13:36 +0100 Subject: [PATCH] Add tests for the POST binding using OneLogin_Saml2_Auth.login_post. --- tests/src/OneLogin/saml2_tests/auth_test.py | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/src/OneLogin/saml2_tests/auth_test.py b/tests/src/OneLogin/saml2_tests/auth_test.py index ea8cf1d3..e456de2e 100644 --- a/tests/src/OneLogin/saml2_tests/auth_test.py +++ b/tests/src/OneLogin/saml2_tests/auth_test.py @@ -605,6 +605,37 @@ def testLoginWithRelayState(self): self.assertIn('RelayState', parsed_query) self.assertIn(relay_state, parsed_query['RelayState']) + def testLoginPost(self): + settings_info = self.loadSettingsJSON() + request_data = self.get_request() + auth = OneLogin_Saml2_Auth(self.get_request(), old_settings=settings_info) + + url, parameters = auth.login_post() + self.assertEqual(url, 'http://idp.example.com/SSOService.php') + # self.assertEqual(parameters['RelayState'], relay_state) + saml_request = b64decode(parameters['SAMLRequest']) + self.assertTrue(saml_request.startswith(b'', saml_request) + self.assertIn(b'', saml_request) + + def testLoginPostWithRelayState(self): + settings_info = self.loadSettingsJSON() + auth = OneLogin_Saml2_Auth(self.get_request(), old_settings=settings_info) + relay_state = 'http://sp.example.com' + + url, parameters = auth.login_post(relay_state) + self.assertEqual(url, 'http://idp.example.com/SSOService.php') + self.assertEqual(parameters['RelayState'], relay_state) + saml_request = b64decode(parameters['SAMLRequest']) + self.assertTrue(saml_request.startswith(b'', saml_request) + self.assertIn(b'', saml_request) + def testLoginSigned(self): """ Tests the login method of the OneLogin_Saml2_Auth class