test_invalidating_caches.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from unittest.mock import patch
  2. from django.test import TestCase
  3. from misago.cache.cache import (
  4. CACHE_NAME, get_cache_versions_from_db, invalidate_cache, invalidate_all_caches
  5. )
  6. from misago.cache.models import CacheVersion
  7. from .conftest import cache_version
  8. class InvalidatingCacheTests(TestCase):
  9. @patch('django.core.cache.cache.delete')
  10. def test_invalidating_cache_updates_cache_version_in_database(self, _):
  11. test_cache = cache_version()
  12. invalidate_cache(test_cache.cache)
  13. updated_test_cache = CacheVersion.objects.get(cache=test_cache.cache)
  14. assert test_cache.version != updated_test_cache.version
  15. @patch('django.core.cache.cache.delete')
  16. def test_invalidating_cache_deletes_versions_cache(self, cache_delete):
  17. test_cache = cache_version()
  18. invalidate_cache(test_cache.cache)
  19. cache_delete.assert_called_once_with(CACHE_NAME)
  20. @patch('django.core.cache.cache.delete')
  21. def test_invalidating_all_caches_updates_cache_version_in_database(self, _):
  22. test_cache = cache_version()
  23. invalidate_all_caches()
  24. updated_test_cache = CacheVersion.objects.get(cache=test_cache.cache)
  25. assert test_cache.version != updated_test_cache.version
  26. @patch('django.core.cache.cache.delete')
  27. def test_invalidating_all_caches_deletes_versions_cache(self, cache_delete):
  28. cache_version()
  29. invalidate_all_caches()
  30. cache_delete.assert_called_once_with(CACHE_NAME)