test_checks.py 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import warnings
  2. from django.test import TestCase
  3. from misago.core import SUPPORTED_ENGINES, check_db_engine
  4. INVALID_ENGINES = [
  5. "django.db.backends.sqlite3",
  6. "django.db.backends.mysql",
  7. "django.db.backends.oracle",
  8. ]
  9. class TestCheckDBEngine(TestCase):
  10. def test_valid_engines(self):
  11. """check passes valid engines"""
  12. with warnings.catch_warnings():
  13. warnings.simplefilter("ignore")
  14. for engine in SUPPORTED_ENGINES:
  15. with self.settings(DATABASES={"default": {"ENGINE": engine}}):
  16. errors = check_db_engine(None)
  17. self.assertEqual(errors, [])
  18. def test_invalid_engines(self):
  19. """check returns error for invalid engines"""
  20. with warnings.catch_warnings():
  21. warnings.simplefilter("ignore")
  22. for engine in INVALID_ENGINES:
  23. with self.settings(DATABASES={"default": {"ENGINE": engine}}):
  24. errors = check_db_engine(None)
  25. self.assertTrue(errors)