summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2024-06-09 12:18:26 -0400
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-08-13 16:09:52 +0200
commitb99c608ea10cabc97a6b251cdb6e81ef2a83bdcf (patch)
tree4976763241879e6f05f4e1bdb5b8ea28c05c3d1b /tests
parent602fe961e6834d665f2359087a1272e9f9806b71 (diff)
Refs #35402 -- Added tests for invalid usage of submodules in some settings.
Diffstat (limited to 'tests')
-rw-r--r--tests/auth_tests/test_models.py7
-rw-r--r--tests/auth_tests/test_validators.py11
2 files changed, 17 insertions, 1 deletions
diff --git a/tests/auth_tests/test_models.py b/tests/auth_tests/test_models.py
index 34f411f2f9..983424843c 100644
--- a/tests/auth_tests/test_models.py
+++ b/tests/auth_tests/test_models.py
@@ -433,6 +433,13 @@ class UserWithPermTestCase(TestCase):
backend="invalid.backend.CustomModelBackend",
)
+ def test_invalid_backend_submodule(self):
+ with self.assertRaises(ImportError):
+ User.objects.with_perm(
+ "auth.test",
+ backend="json.tool",
+ )
+
@override_settings(
AUTHENTICATION_BACKENDS=["auth_tests.test_models.CustomModelBackend"]
)
diff --git a/tests/auth_tests/test_validators.py b/tests/auth_tests/test_validators.py
index 4da031a793..506c85c0ae 100644
--- a/tests/auth_tests/test_validators.py
+++ b/tests/auth_tests/test_validators.py
@@ -14,7 +14,7 @@ from django.contrib.auth.password_validation import (
password_validators_help_texts,
validate_password,
)
-from django.core.exceptions import ValidationError
+from django.core.exceptions import ImproperlyConfigured, ValidationError
from django.db import models
from django.test import SimpleTestCase, TestCase, override_settings
from django.test.utils import isolate_apps
@@ -50,6 +50,15 @@ class PasswordValidationTest(SimpleTestCase):
self.assertEqual(get_password_validators([]), [])
+ def test_get_password_validators_custom_invalid(self):
+ validator_config = [{"NAME": "json.tool"}]
+ msg = (
+ "The module in NAME could not be imported: json.tool. "
+ "Check your AUTH_PASSWORD_VALIDATORS setting."
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
+ get_password_validators(validator_config)
+
def test_validate_password(self):
self.assertIsNone(validate_password("sufficiently-long"))
msg_too_short = (