From b5ea6c8e3998dc56e65906e22a96343b404b4189 Mon Sep 17 00:00:00 2001 From: Seamus Johnston Date: Fri, 30 Sep 2022 08:08:19 -0500 Subject: [PATCH] Fix tests in CI --- src/djangooidc/tests/common.py | 5 ++++- src/djangooidc/tests/test_views.py | 19 +++++++++++-------- src/djangooidc/views.py | 1 + src/registrar/config/settings.py | 6 +++--- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/djangooidc/tests/common.py b/src/djangooidc/tests/common.py index 731a4efb9..7b6178895 100644 --- a/src/djangooidc/tests/common.py +++ b/src/djangooidc/tests/common.py @@ -1,6 +1,7 @@ import os import logging + def get_handlers(): """Obtain pointers to all StreamHandlers.""" handlers = {} @@ -18,6 +19,7 @@ def get_handlers(): return handlers + def dont_print_garbage(f): """ Decorator to place on tests to silence console logging. @@ -27,10 +29,11 @@ def dont_print_garbage(f): It can easily be removed to debug a failing test. """ + def wrapper(*args, **kwargs): restore = {} handlers = get_handlers() - devnull = open(os.devnull, 'w') + devnull = open(os.devnull, "w") # redirect all the streams for handler in handlers.values(): diff --git a/src/djangooidc/tests/test_views.py b/src/djangooidc/tests/test_views.py index 9b9605ebb..883838d18 100644 --- a/src/djangooidc/tests/test_views.py +++ b/src/djangooidc/tests/test_views.py @@ -1,4 +1,4 @@ -from unittest.mock import patch, Mock +from unittest.mock import patch from django.http import HttpResponse from django.test import Client, TestCase @@ -6,6 +6,7 @@ from django.urls import reverse from .common import dont_print_garbage + @patch("djangooidc.views.CLIENT", autospec=True) class ViewsTest(TestCase): def setUp(self): @@ -16,11 +17,11 @@ class ViewsTest(TestCase): def user_info(*args): return { - "sub": "51234512345123", + "sub": "TEST", "email": "test@example.com", "first_name": "Testy", "last_name": "Tester", - "phone": "814564000" + "phone": "814564000", } def test_error_page(self, mock_client): @@ -81,8 +82,8 @@ class ViewsTest(TestCase): def test_logout_redirect_url(self, mock_client): # setup session = self.client.session - session["id_token_raw"] = "83450234852349" - session["state"] = "7534298229506" + session["id_token_raw"] = "TEST" # nosec B105 + session["state"] = "TEST" # nosec B105 session.save() # mock mock_client.callback.side_effect = self.user_info @@ -95,8 +96,10 @@ class ViewsTest(TestCase): # test response = self.client.get(reverse("logout")) # assert - expected = "http://example.com/log_me_out?id_token_hint=83450234852349&state" \ - "=7534298229506&post_logout_redirect_uri=http%3A%2F%2Fexample.com%2Fback" + expected = ( + "http://example.com/log_me_out?id_token_hint=TEST&state" + "=TEST&post_logout_redirect_uri=http%3A%2F%2Fexample.com%2Fback" + ) actual = response.url self.assertEqual(response.status_code, 302) self.assertEqual(actual, expected) @@ -118,4 +121,4 @@ class ViewsTest(TestCase): response = self.client.get(reverse("openid_logout_callback")) # assert self.assertEqual(response.status_code, 302) - self.assertEqual(response.url, reverse("logout")) \ No newline at end of file + self.assertEqual(response.url, reverse("logout")) diff --git a/src/djangooidc/views.py b/src/djangooidc/views.py index 04a50916b..6be596747 100644 --- a/src/djangooidc/views.py +++ b/src/djangooidc/views.py @@ -21,6 +21,7 @@ try: CLIENT = Client(OP) logger.debug("client initialized %s" % CLIENT) except Exception as err: + CLIENT = None # type: ignore logger.warning(err) logger.warning("Unable to configure OpenID Connect provider. Users cannot log in.") diff --git a/src/registrar/config/settings.py b/src/registrar/config/settings.py index d0de27def..552ecb587 100644 --- a/src/registrar/config/settings.py +++ b/src/registrar/config/settings.py @@ -378,9 +378,9 @@ LOGGING = { # root logger catches anything, unless # defined by a more specific logger "root": { - "handlers": ["console"], - "level": "INFO" - } + "handlers": ["console"], + "level": "INFO", + }, } # endregion