summaryrefslogtreecommitdiff
path: root/tests/check_framework
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2025-09-29 17:47:56 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2025-11-13 11:37:58 +0100
commit3aba1fced8254435b947467739721ec6b4fb865c (patch)
treec9257808ae7a809b96fe38179c548d372a8d777e /tests/check_framework
parent96ee097bd68a93e0f360326271ebe78553fae15b (diff)
Fixed #36663 -- Defaulted to running checks against all databases.
Regression in 0b83c8cc4db95812f1e15ca19d78614e94cf38dd which added support for running checks only against databases but also defaulted to running against no databases if not specified. Note that this continues to *not* default to runing database tagged checks for all management commands except the migrate one as whether or not we should change this must be discussed further. Thanks Tim Graham for surfacing how this was a problematic default.
Diffstat (limited to 'tests/check_framework')
-rw-r--r--tests/check_framework/tests.py37
1 files changed, 30 insertions, 7 deletions
diff --git a/tests/check_framework/tests.py b/tests/check_framework/tests.py
index c5f53c4789..138d27aafd 100644
--- a/tests/check_framework/tests.py
+++ b/tests/check_framework/tests.py
@@ -92,6 +92,21 @@ class SystemCheckFrameworkTests(SimpleTestCase):
with self.assertRaisesMessage(TypeError, msg):
registry.run_checks()
+ def test_run_checks_database_exclusion(self):
+ registry = CheckRegistry()
+
+ database_errors = [checks.Warning("Database Check")]
+
+ @registry.register(Tags.database)
+ def database_system_check(**kwargs):
+ return database_errors
+
+ errors = registry.run_checks()
+ self.assertEqual(errors, [])
+
+ errors = registry.run_checks(databases=["default"])
+ self.assertEqual(errors, database_errors)
+
class MessageTests(SimpleTestCase):
def test_printing(self):
@@ -190,10 +205,12 @@ class CheckCommandTests(SimpleTestCase):
def test_simple_call(self):
call_command("check")
self.assertEqual(
- simple_system_check.kwargs, {"app_configs": None, "databases": None}
+ simple_system_check.kwargs,
+ {"app_configs": None, "databases": ["default", "other"]},
)
self.assertEqual(
- tagged_system_check.kwargs, {"app_configs": None, "databases": None}
+ tagged_system_check.kwargs,
+ {"app_configs": None, "databases": ["default", "other"]},
)
@override_system_checks([simple_system_check, tagged_system_check])
@@ -203,11 +220,17 @@ class CheckCommandTests(SimpleTestCase):
admin_config = apps.get_app_config("admin")
self.assertEqual(
simple_system_check.kwargs,
- {"app_configs": [auth_config, admin_config], "databases": None},
+ {
+ "app_configs": [auth_config, admin_config],
+ "databases": ["default", "other"],
+ },
)
self.assertEqual(
tagged_system_check.kwargs,
- {"app_configs": [auth_config, admin_config], "databases": None},
+ {
+ "app_configs": [auth_config, admin_config],
+ "databases": ["default", "other"],
+ },
)
@override_system_checks([simple_system_check, tagged_system_check])
@@ -215,7 +238,8 @@ class CheckCommandTests(SimpleTestCase):
call_command("check", tags=["simpletag"])
self.assertIsNone(simple_system_check.kwargs)
self.assertEqual(
- tagged_system_check.kwargs, {"app_configs": None, "databases": None}
+ tagged_system_check.kwargs,
+ {"app_configs": None, "databases": ["default", "other"]},
)
@override_system_checks([simple_system_check, tagged_system_check])
@@ -273,8 +297,7 @@ class CheckCommandTests(SimpleTestCase):
with override_system_checks([database_check]):
call_command("check")
- database_check.assert_called_once_with(app_configs=None, databases=None)
- database_check.reset_mock()
+ database_check.assert_not_called()
call_command("check", databases=["default"])
database_check.assert_called_once_with(
app_configs=None, databases=["default"]