test_checks.py 1.0 KB

1234567891011121314151617181920212223242526272829303132
  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', 'django.db.backends.mysql', 'django.db.backends.oracle',
  6. )
  7. class TestCheckDBEngine(TestCase):
  8. def test_valid_engines(self):
  9. """check passes valid engines"""
  10. with warnings.catch_warnings():
  11. warnings.simplefilter("ignore")
  12. for engine in SUPPORTED_ENGINES:
  13. with self.settings(DATABASES={'default': {'ENGINE': engine}}):
  14. errors = check_db_engine(None)
  15. self.assertEqual(errors, [])
  16. def test_invalid_engines(self):
  17. """check returns error for invalid engines"""
  18. with warnings.catch_warnings():
  19. warnings.simplefilter("ignore")
  20. for engine in INVALID_ENGINES:
  21. with self.settings(DATABASES={'default': {'ENGINE': engine}}):
  22. errors = check_db_engine(None)
  23. self.assertTrue(errors)