From ebaa9ceed20892e6c1ba77a350af8b517b836665 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 1 Oct 2023 11:31:54 -0700 Subject: [PATCH] Basic tests for login view --- src/documents/tests/test_views.py | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index ca1db5782..a229e699e 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -6,6 +6,7 @@ from django.conf import settings from django.contrib.auth.models import Permission from django.contrib.auth.models import User from django.test import TestCase +from django.test import override_settings from django.utils import timezone from rest_framework import status @@ -132,3 +133,58 @@ class TestViews(DirectoriesMixin, TestCase): response.render() self.assertEqual(response.request["PATH_INFO"], "/accounts/login/") self.assertContains(response, b"Share link has expired") + + @override_settings( + SOCIAL_AUTH_OIDC_ENABLE=True, + SOCIAL_AUTH_OIDC_NAME="OIDC Login Link", + ) + def test_oidc_enabled_login_view(self): + """ + GIVEN: + - OIDC Enabled, regular login not disabled + WHEN: + - Login template loaded + THEN: + - Both options available + """ + self.client.force_login(self.user) + response = self.client.get( + "/accounts/login/", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertIn( + "Sign in", + response.rendered_content, + ) + self.assertIn( + "OIDC Login Link", + response.rendered_content, + ) + + @override_settings( + SOCIAL_AUTH_OIDC_ENABLE=True, + SOCIAL_AUTH_OIDC_NAME="OIDC Login Link", + SOCIAL_AUTH_DISABLE_NORMAL_AUTH=True, + ) + def test_oidc_enabled_normal_auth_disabled_login_view(self): + """ + GIVEN: + - OIDC Enabled, regular login disabled + WHEN: + - Login template loaded + THEN: + - Only OIDC login available + """ + self.client.force_login(self.user) + response = self.client.get( + "/accounts/login/", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertNotIn( + "Sign in", + response.rendered_content, + ) + self.assertIn( + "OIDC Login Link", + response.rendered_content, + )