def test_invalid_empty_flow(self): """Tests that an empty flow returns the correct error message""" flow = Flow.objects.create( name="test-empty", slug="test-empty", designation=FlowDesignation.AUTHENTICATION, ) CONFIG.update_from_dict({"domain": "testserver"}) response = self.client.get( reverse("authentik_api:flow-executor", kwargs={"flow_slug": flow.slug}), ) self.assertEqual(response.status_code, 302) self.assertEqual(response.url, reverse("authentik_core:root-redirect"))
def test_invalid_flow_redirect(self): """Tests that an invalid flow still redirects""" flow = Flow.objects.create( name="test-empty", slug="test-empty", designation=FlowDesignation.AUTHENTICATION, ) CONFIG.update_from_dict({"domain": "testserver"}) dest = "/unique-string" url = reverse("authentik_api:flow-executor", kwargs={"flow_slug": flow.slug}) response = self.client.get(url + f"?{NEXT_ARG_NAME}={dest}") self.assertEqual(response.status_code, 302) self.assertEqual(response.url, reverse("authentik_core:root-redirect"))
def test_invalid_non_applicable_flow(self): """Tests that a non-applicable flow returns the correct error message""" flow = Flow.objects.create( name="test-non-applicable", slug="test-non-applicable", designation=FlowDesignation.AUTHENTICATION, ) CONFIG.update_from_dict({"domain": "testserver"}) response = self.client.get( reverse("authentik_api:flow-executor", kwargs={"flow_slug": flow.slug}), ) self.assertEqual(response.status_code, 200) self.assertStageResponse( response, flow=flow, error_message=FlowNonApplicableException.__doc__, component="ak-stage-access-denied", )
def test_invalid_non_applicable_flow(self): """Tests that a non-applicable flow returns the correct error message""" flow = Flow.objects.create( name="test-non-applicable", slug="test-non-applicable", designation=FlowDesignation.AUTHENTICATION, ) CONFIG.update_from_dict({"domain": "testserver"}) response = self.client.get( reverse("authentik_api:flow-executor", kwargs={"flow_slug": flow.slug}), ) self.assertEqual(response.status_code, 200) self.assertJSONEqual( force_str(response.content), { "component": "ak-stage-access-denied", "error_message": FlowNonApplicableException.__doc__, "title": "", "type": ChallengeTypes.NATIVE.value, }, )