From ff91ae33cb6262b405fd796c14b3f7eff603786f Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 29 Nov 2024 14:45:42 +0100 Subject: [PATCH] Added tests see #3350 --- .mergify.yml | 16 ++++++++-------- modoboa/core/api/v2/tests.py | 16 ++++++++++++++++ modoboa/core/models.py | 2 +- modoboa/core/tests/test_authentication.py | 10 ++++++++++ modoboa/core/tests/test_core.py | 1 - test_project/test_project/settings.py | 1 + 6 files changed, 36 insertions(+), 10 deletions(-) diff --git a/.mergify.yml b/.mergify.yml index 2563030a9..ff3fe5b5f 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,43 +1,43 @@ queue_rules: - name: duplicated default from automatic merge on CI success and review queue_conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) - "#approved-reviews-by>=1" - "#review-requested=0" - "#changes-requested-reviews-by=0" - "#commented-reviews-by=0" - label=ready-to-merge merge_conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) merge_method: squash - name: duplicated default from automatic merge for pyUp pull requests queue_conditions: - author=pyup-bot - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) - label=dependencies - "#approved-reviews-by>=1" merge_conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) merge_method: squash - name: duplicated default from automatic merge for dependabot pull requests queue_conditions: - author~=^dependabot(|-preview)\[bot\]$ - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) - label=dependencies - "#approved-reviews-by>=1" merge_conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) merge_method: squash - name: duplicated default from automatic merge for transifex pull requests queue_conditions: - author~=^transifex-integration\[bot\]$ - "#approved-reviews-by>=1" merge_conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) merge_method: squash - name: default conditions: - - check-success=test (postgres, 3.9) + - check-success=test (postgres, 3.12) pull_request_rules: - name: delete head branch after merge diff --git a/modoboa/core/api/v2/tests.py b/modoboa/core/api/v2/tests.py index 6723b52c6..948cb1a32 100644 --- a/modoboa/core/api/v2/tests.py +++ b/modoboa/core/api/v2/tests.py @@ -498,6 +498,22 @@ class ComponentAPITestCase(ModoAPITestCase): self.assertEqual(resp.status_code, 200) +class NotificationAPITestCase(ModoAPITestCase): + + def test_get_notifications(self): + url = reverse("v2:notifications") + resp = self.client.get(url) + self.assertEqual(resp.status_code, 200) + data = resp.json() + self.assertEqual(len(data), 0) + + self.set_global_parameter("password_scheme", "crypt") + resp = self.client.get(url) + self.assertEqual(resp.status_code, 200) + data = resp.json() + self.assertEqual(len(data), 1) + + class AuthenticatorData(bytes): credential_data = b"RESPONSE" diff --git a/modoboa/core/models.py b/modoboa/core/models.py index 9999b84b8..906f3d3d2 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -48,7 +48,7 @@ class UserManager(BaseUserManager): """Check if given password scheme is still in use.""" return ( self.get_queryset() - .filter(password__startswith=password_hasher.scheme) + .filter(password__startswith=password_hasher().scheme) .exists() ) diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index 58acb51d6..b40832e4e 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -256,6 +256,16 @@ class AuthenticationTestCase(ModoTestCase): hasher = get_password_hasher("crypt") self.assertEqual(hasher.label, "crypt (weak, deprecated)") + def test_is_password_scheme_in_use(self): + hasher = get_password_hasher("plain") + self.assertTrue( + models.User.objects.is_password_scheme_in_use(hasher), + ) + hasher = get_password_hasher("crypt") + self.assertFalse( + models.User.objects.is_password_scheme_in_use(hasher), + ) + def test_fido_auth_begin(self): url = reverse("core:fido_auth_begin") resp = self.client.post(url) diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index 03c543679..a7be45f93 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -8,7 +8,6 @@ from oauth2_provider.models import get_application_model from django.core import mail from django.core import management -from django.test import TestCase from django.urls import reverse from django.utils import timezone diff --git a/test_project/test_project/settings.py b/test_project/test_project/settings.py index cb1a64f01..428529887 100644 --- a/test_project/test_project/settings.py +++ b/test_project/test_project/settings.py @@ -391,6 +391,7 @@ LOGGING = { SILENCED_SYSTEM_CHECKS = [ "security.W019", # modoboa uses iframes to display e-mails + "ckeditor.W001", # CKEditor 4.22.1 warning ] DISABLE_DASHBOARD_EXTERNAL_QUERIES = False