authentik.flows.tests.test_views_helper

flow views tests

 1"""flow views tests"""
 2
 3from django.urls import reverse
 4
 5from authentik.core.tests.utils import create_test_flow
 6from authentik.flows.models import Flow, FlowDesignation
 7from authentik.flows.planner import FlowPlan
 8from authentik.flows.tests import FlowTestCase
 9from authentik.flows.views.executor import SESSION_KEY_PLAN
10
11
12class TestHelperView(FlowTestCase):
13    """Test helper views logic"""
14
15    def test_default_view(self):
16        """Test that ToDefaultFlow returns the expected URL"""
17        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
18        flow = create_test_flow(FlowDesignation.INVALIDATION)
19        response = self.client.get(
20            reverse("authentik_flows:default-invalidation"),
21        )
22        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
23        self.assertEqual(response.status_code, 302)
24        self.assertEqual(response.url, expected_url)
25
26    def test_default_view_invalid_plan(self):
27        """Test that ToDefaultFlow returns the expected URL (with an invalid plan)"""
28        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
29        flow = create_test_flow(FlowDesignation.INVALIDATION)
30        plan = FlowPlan(flow_pk=flow.pk.hex + "aa")
31        session = self.client.session
32        session[SESSION_KEY_PLAN] = plan
33        session.save()
34
35        response = self.client.get(
36            reverse("authentik_flows:default-invalidation"),
37        )
38        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
39        self.assertEqual(response.status_code, 302)
40        self.assertEqual(response.url, expected_url)
class TestHelperView(authentik.flows.tests.FlowTestCase):
13class TestHelperView(FlowTestCase):
14    """Test helper views logic"""
15
16    def test_default_view(self):
17        """Test that ToDefaultFlow returns the expected URL"""
18        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
19        flow = create_test_flow(FlowDesignation.INVALIDATION)
20        response = self.client.get(
21            reverse("authentik_flows:default-invalidation"),
22        )
23        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
24        self.assertEqual(response.status_code, 302)
25        self.assertEqual(response.url, expected_url)
26
27    def test_default_view_invalid_plan(self):
28        """Test that ToDefaultFlow returns the expected URL (with an invalid plan)"""
29        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
30        flow = create_test_flow(FlowDesignation.INVALIDATION)
31        plan = FlowPlan(flow_pk=flow.pk.hex + "aa")
32        session = self.client.session
33        session[SESSION_KEY_PLAN] = plan
34        session.save()
35
36        response = self.client.get(
37            reverse("authentik_flows:default-invalidation"),
38        )
39        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
40        self.assertEqual(response.status_code, 302)
41        self.assertEqual(response.url, expected_url)

Test helper views logic

def test_default_view(self):
16    def test_default_view(self):
17        """Test that ToDefaultFlow returns the expected URL"""
18        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
19        flow = create_test_flow(FlowDesignation.INVALIDATION)
20        response = self.client.get(
21            reverse("authentik_flows:default-invalidation"),
22        )
23        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
24        self.assertEqual(response.status_code, 302)
25        self.assertEqual(response.url, expected_url)

Test that ToDefaultFlow returns the expected URL

def test_default_view_invalid_plan(self):
27    def test_default_view_invalid_plan(self):
28        """Test that ToDefaultFlow returns the expected URL (with an invalid plan)"""
29        Flow.objects.filter(designation=FlowDesignation.INVALIDATION).delete()
30        flow = create_test_flow(FlowDesignation.INVALIDATION)
31        plan = FlowPlan(flow_pk=flow.pk.hex + "aa")
32        session = self.client.session
33        session[SESSION_KEY_PLAN] = plan
34        session.save()
35
36        response = self.client.get(
37            reverse("authentik_flows:default-invalidation"),
38        )
39        expected_url = reverse("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
40        self.assertEqual(response.status_code, 302)
41        self.assertEqual(response.url, expected_url)

Test that ToDefaultFlow returns the expected URL (with an invalid plan)