From 36d78582c6f545b72f2187daf9c39e34f455857d Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 19 Jul 2024 10:34:28 +0200 Subject: [PATCH] Added test for rsa check --- modoboa/core/checks.py | 4 +++- modoboa/core/tests/test_checks.py | 29 ++++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/modoboa/core/checks.py b/modoboa/core/checks.py index 60237af77..fb445a9e7 100644 --- a/modoboa/core/checks.py +++ b/modoboa/core/checks.py @@ -34,5 +34,7 @@ def check_rsa_private_key_exists(app_configs, **kwargs): """ Ensure an RSA private key exists to enable OIDC. """ + msgs = [] if generate_rsa_private_key(settings.BASE_DIR): - return Info("An RSA private key has been generated for OIDC.") + msgs.append(Info("An RSA private key has been generated for OIDC.")) + return msgs diff --git a/modoboa/core/tests/test_checks.py b/modoboa/core/tests/test_checks.py index 02bdfeb60..b3beda5dd 100644 --- a/modoboa/core/tests/test_checks.py +++ b/modoboa/core/tests/test_checks.py @@ -1,18 +1,37 @@ +import os +import shutil +import tempfile + from django.test import SimpleTestCase from django.test.utils import override_settings -from ..checks import settings_checks +from modoboa.core import checks class CheckSessionCookieSecureTest(SimpleTestCase): + + def setUp(self): + self.workdir = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.workdir) + @override_settings(USE_TZ=False) def test_use_tz_false(self): """If USE_TZ is off provide one warning.""" - self.assertEqual( - settings_checks.check_use_tz_enabled(None), [settings_checks.W001] - ) + self.assertEqual(checks.check_use_tz_enabled(None), [checks.W001]) @override_settings(USE_TZ=True) def test_use_tz_true(self): """If USE_TZ is on, there's no warning about it.""" - self.assertEqual(settings_checks.check_use_tz_enabled(None), []) + self.assertEqual(checks.check_use_tz_enabled(None), []) + + def test_rsa_private_key_exists(self): + with override_settings(BASE_DIR=self.workdir): + os.environ["OIDC_RSA_PRIVATE_KEY"] = "NONE" + msgs = checks.check_rsa_private_key_exists(None) + self.assertEqual(len(msgs), 1) + self.assertTrue(os.path.exists(f"{self.workdir}/.env")) + os.environ["OIDC_RSA_PRIVATE_KEY"] = "KEY" + msgs = checks.check_rsa_private_key_exists(None) + self.assertEqual(len(msgs), 0)