summaryrefslogtreecommitdiff
path: root/tests/check_framework/test_database.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check_framework/test_database.py')
-rw-r--r--tests/check_framework/test_database.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/check_framework/test_database.py b/tests/check_framework/test_database.py
new file mode 100644
index 0000000000..73edd6234c
--- /dev/null
+++ b/tests/check_framework/test_database.py
@@ -0,0 +1,33 @@
+import unittest
+
+from django.core.checks import Tags, run_checks
+from django.core.checks.registry import CheckRegistry
+from django.db import connection
+from django.test import TestCase, mock
+
+
+class DatabaseCheckTests(TestCase):
+ @property
+ def func(self):
+ from django.core.checks.database import check_database_backends
+ return check_database_backends
+
+ def test_database_checks_not_run_by_default(self):
+ """
+ `database` checks are only run when their tag is specified.
+ """
+ def f1(**kwargs):
+ return [5]
+
+ registry = CheckRegistry()
+ registry.register(Tags.database)(f1)
+ errors = registry.run_checks()
+ self.assertEqual(errors, [])
+
+ errors2 = registry.run_checks(tags=[Tags.database])
+ self.assertEqual(errors2, [5])
+
+ def test_database_checks_called(self):
+ with mock.patch('django.db.backends.base.validation.BaseDatabaseValidation.check') as mocked_check:
+ run_checks(tags=[Tags.database])
+ self.assertTrue(mocked_check.called)