test_invalidating_caches.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import pytest
  2. from misago.cache.models import CacheVersion
  3. from misago.cache.versions import CACHE_NAME, invalidate_all_caches, invalidate_cache
  4. @pytest.fixture
  5. def cache_delete(mocker):
  6. return mocker.patch("django.core.cache.cache.delete")
  7. def test_invalidating_cache_updates_cache_version_in_database(
  8. cache_delete, cache_version
  9. ):
  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(
  17. cache_delete, cache_version
  18. ):
  19. invalidate_all_caches()
  20. updated_cache_version = CacheVersion.objects.get(cache=cache_version.cache)
  21. assert cache_version.version != updated_cache_version.version
  22. def test_invalidating_all_caches_deletes_versions_cache(cache_delete, cache_version):
  23. invalidate_all_caches()
  24. cache_delete.assert_called_once_with(CACHE_NAME)