Rafał Pitoń 6 лет назад
Родитель
Сommit
b0bf5eced6

+ 3 - 3
misago/cache/test.py

@@ -1,4 +1,4 @@
-from .versions import get_cache_versions_from_db
+from .versions import get_cache_versions
 
 
 class assert_invalidates_cache:
@@ -6,14 +6,14 @@ class assert_invalidates_cache:
         self.cache = cache
 
     def __enter__(self):
-        self.versions = get_cache_versions_from_db()
+        self.versions = get_cache_versions()
         return self
 
     def __exit__(self, exc_type, *_):
         if exc_type:
             return False
 
-        new_versions = get_cache_versions_from_db()
+        new_versions = get_cache_versions()
         for cache, version in new_versions.items():
             if cache == self.cache:
                 message = "cache %s was not invalidated" % cache

+ 3 - 48
misago/cache/tests/test_getting_cache_versions.py

@@ -1,50 +1,5 @@
-from ..versions import (
-    CACHE_NAME,
-    get_cache_versions,
-    get_cache_versions_from_cache,
-    get_cache_versions_from_db,
-)
+from ..versions import get_cache_versions
 
 
-def test_db_getter_returns_cache_versions_from_db(db, django_assert_num_queries):
-    with django_assert_num_queries(1):
-        assert get_cache_versions_from_db()
-
-
-def test_cache_getter_returns_cache_versions_from_cache(mocker):
-    cache_get = mocker.patch("django.core.cache.cache.get", return_value=True)
-    assert get_cache_versions_from_cache() is True
-    cache_get.assert_called_once_with(CACHE_NAME)
-
-
-def test_getter_reads_from_cache(db, mocker, django_assert_num_queries):
-    cache_get = mocker.patch("django.core.cache.cache.get", return_value=True)
-    with django_assert_num_queries(0):
-        assert get_cache_versions() is True
-    cache_get.assert_called_once_with(CACHE_NAME)
-
-
-def test_getter_reads_from_db_if_no_cache_is_set(db, mocker, django_assert_num_queries):
-    mocker.patch("django.core.cache.cache.set")
-    cache_get = mocker.patch("django.core.cache.cache.get", return_value=None)
-
-    db_caches = get_cache_versions_from_db()
-    with django_assert_num_queries(1):
-        assert get_cache_versions() == db_caches
-    cache_get.assert_called_once_with(CACHE_NAME)
-
-
-def test_getter_sets_new_cache_if_no_cache_is_set(db, mocker):
-    cache_set = mocker.patch("django.core.cache.cache.set")
-    mocker.patch("django.core.cache.cache.get", return_value=None)
-
-    get_cache_versions()
-    db_caches = get_cache_versions_from_db()
-    cache_set.assert_called_once_with(CACHE_NAME, db_caches)
-
-
-def test_getter_is_not_setting_new_cache_if_cache_is_set(mocker):
-    cache_set = mocker.patch("django.core.cache.cache.set")
-    mocker.patch("django.core.cache.cache.get", return_value=True)
-    get_cache_versions()
-    cache_set.assert_not_called()
+def test_getter_returns_cache_versions(db):
+    assert get_cache_versions()

+ 3 - 24
misago/cache/tests/test_invalidating_caches.py

@@ -1,35 +1,14 @@
-import pytest
-
 from ..models import CacheVersion
-from ..versions import CACHE_NAME, invalidate_all_caches, invalidate_cache
-
-
-@pytest.fixture
-def cache_delete(mocker):
-    return mocker.patch("django.core.cache.cache.delete")
+from ..versions import invalidate_all_caches, invalidate_cache
 
 
-def test_invalidating_cache_updates_cache_version_in_database(
-    cache_delete, cache_version
-):
+def test_invalidating_cache_updates_cache_version_in_database(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
-):
+def test_invalidating_all_caches_updates_cache_version_in_database(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)

+ 1 - 19
misago/cache/versions.py

@@ -1,24 +1,8 @@
-from django.core.cache import cache
-
 from .models import CacheVersion
 from .utils import generate_version_string
 
-CACHE_NAME = "cache_versions"
-
 
 def get_cache_versions():
-    cache_versions = get_cache_versions_from_cache()
-    if cache_versions is None:
-        cache_versions = get_cache_versions_from_db()
-        cache.set(CACHE_NAME, cache_versions)
-    return cache_versions
-
-
-def get_cache_versions_from_cache():
-    return cache.get(CACHE_NAME)
-
-
-def get_cache_versions_from_db():
     queryset = CacheVersion.objects.all()
     return {i.cache: i.version for i in queryset}
 
@@ -27,12 +11,10 @@ def invalidate_cache(cache_name):
     CacheVersion.objects.filter(cache=cache_name).update(
         version=generate_version_string()
     )
-    cache.delete(CACHE_NAME)
 
 
 def invalidate_all_caches():
-    for cache_name in get_cache_versions_from_db().keys():
+    for cache_name in get_cache_versions().keys():
         CacheVersion.objects.filter(cache=cache_name).update(
             version=generate_version_string()
         )
-    cache.delete(CACHE_NAME)