test_invalidating_caches.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import pytest
  2. from misago.cache.versions import (
  3. CACHE_NAME, invalidate_cache, invalidate_all_caches
  4. )
  5. from misago.cache.models import CacheVersion
  6. @pytest.fixture
  7. def cache_delete(mocker):
  8. return mocker.patch('django.core.cache.cache.delete')
  9. def test_invalidating_cache_updates_cache_version_in_database(cache_delete, cache_version):
  10. invalidate_cache(cache_version.cache)
  11. updated_cache_version = CacheVersion.objects.get(cache=cache_version.cache)
  12. assert cache_version.version != updated_cache_version.version
  13. def test_invalidating_cache_deletes_versions_cache(cache_delete, cache_version):
  14. invalidate_cache(cache_version.cache)
  15. cache_delete.assert_called_once_with(CACHE_NAME)
  16. def test_invalidating_all_caches_updates_cache_version_in_database(cache_delete, cache_version):
  17. invalidate_all_caches()
  18. updated_cache_version = CacheVersion.objects.get(cache=cache_version.cache)
  19. assert cache_version.version != updated_cache_version.version
  20. def test_invalidating_all_caches_deletes_versions_cache(cache_delete, cache_version):
  21. invalidate_all_caches()
  22. cache_delete.assert_called_once_with(CACHE_NAME)