authentik.providers.saml.tests.test_views_unified

Test unified SAML endpoint helpers.

 1"""Test unified SAML endpoint helpers."""
 2
 3from django.test import SimpleTestCase
 4
 5from authentik.lib.tests.utils import load_fixture
 6from authentik.providers.saml.utils.encoding import deflate_and_base64_encode
 7from authentik.providers.saml.views.unified import (
 8    SAML_MESSAGE_TYPE_AUTHN_REQUEST,
 9    SAML_MESSAGE_TYPE_LOGOUT_REQUEST,
10    detect_saml_message_type,
11)
12
13
14class TestDetectSAMLMessageType(SimpleTestCase):
15    """Test SAML request type detection."""
16
17    def test_redirect_authn_request_with_xml_declaration(self):
18        """Detect redirect-binding AuthnRequest with an XML declaration."""
19        request = deflate_and_base64_encode(
20            load_fixture("fixtures/authn_request_xml_declaration.xml")
21        )
22
23        self.assertEqual(
24            detect_saml_message_type(request, is_post_binding=False),
25            SAML_MESSAGE_TYPE_AUTHN_REQUEST,
26        )
27
28    def test_redirect_logout_request_with_xml_declaration(self):
29        """Detect redirect-binding LogoutRequest with an XML declaration."""
30        request = deflate_and_base64_encode(
31            load_fixture("fixtures/logout_request_xml_declaration.xml")
32        )
33
34        self.assertEqual(
35            detect_saml_message_type(request, is_post_binding=False),
36            SAML_MESSAGE_TYPE_LOGOUT_REQUEST,
37        )
class TestDetectSAMLMessageType(django.test.testcases.SimpleTestCase):
15class TestDetectSAMLMessageType(SimpleTestCase):
16    """Test SAML request type detection."""
17
18    def test_redirect_authn_request_with_xml_declaration(self):
19        """Detect redirect-binding AuthnRequest with an XML declaration."""
20        request = deflate_and_base64_encode(
21            load_fixture("fixtures/authn_request_xml_declaration.xml")
22        )
23
24        self.assertEqual(
25            detect_saml_message_type(request, is_post_binding=False),
26            SAML_MESSAGE_TYPE_AUTHN_REQUEST,
27        )
28
29    def test_redirect_logout_request_with_xml_declaration(self):
30        """Detect redirect-binding LogoutRequest with an XML declaration."""
31        request = deflate_and_base64_encode(
32            load_fixture("fixtures/logout_request_xml_declaration.xml")
33        )
34
35        self.assertEqual(
36            detect_saml_message_type(request, is_post_binding=False),
37            SAML_MESSAGE_TYPE_LOGOUT_REQUEST,
38        )

Test SAML request type detection.

def test_redirect_authn_request_with_xml_declaration(self):
18    def test_redirect_authn_request_with_xml_declaration(self):
19        """Detect redirect-binding AuthnRequest with an XML declaration."""
20        request = deflate_and_base64_encode(
21            load_fixture("fixtures/authn_request_xml_declaration.xml")
22        )
23
24        self.assertEqual(
25            detect_saml_message_type(request, is_post_binding=False),
26            SAML_MESSAGE_TYPE_AUTHN_REQUEST,
27        )

Detect redirect-binding AuthnRequest with an XML declaration.

def test_redirect_logout_request_with_xml_declaration(self):
29    def test_redirect_logout_request_with_xml_declaration(self):
30        """Detect redirect-binding LogoutRequest with an XML declaration."""
31        request = deflate_and_base64_encode(
32            load_fixture("fixtures/logout_request_xml_declaration.xml")
33        )
34
35        self.assertEqual(
36            detect_saml_message_type(request, is_post_binding=False),
37            SAML_MESSAGE_TYPE_LOGOUT_REQUEST,
38        )

Detect redirect-binding LogoutRequest with an XML declaration.