import pytest from misago.cache.versions import ( CACHE_NAME, invalidate_cache, invalidate_all_caches ) from misago.cache.models import CacheVersion @pytest.fixture def cache_delete(mocker): return mocker.patch('django.core.cache.cache.delete') def test_invalidating_cache_updates_cache_version_in_database(cache_delete, cache_version): invalidate_cache(cache_version.cache) updated_cache_version = CacheVersion.objects.get(cache=cache_version.cache) assert cache_version.version != updated_cache_version.version def test_invalidating_cache_deletes_versions_cache(cache_delete, cache_version): invalidate_cache(cache_version.cache) cache_delete.assert_called_once_with(CACHE_NAME) def test_invalidating_all_caches_updates_cache_version_in_database(cache_delete, cache_version): invalidate_all_caches() updated_cache_version = CacheVersion.objects.get(cache=cache_version.cache) assert cache_version.version != updated_cache_version.version def test_invalidating_all_caches_deletes_versions_cache(cache_delete, cache_version): invalidate_all_caches() cache_delete.assert_called_once_with(CACHE_NAME)