Files
rf4-spotter/apps/api/tests/test_public_cache.py
T
ik ddb6909c4d
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
sync
2026-09-08 09:31:41 +07:00

24 lines
767 B
Python

from app.public_cache import PublicResponseCache
def test_cache_copies_values_and_invalidates() -> None:
cache = PublicResponseCache()
original = [{"score": 10}]
cache.set(("activity",), original)
original[0]["score"] = 99
assert cache.get(("activity",), 20) == [{"score": 10}]
cache.invalidate()
assert cache.get(("activity",), 20) is None
def test_cache_bounds_memory_and_rejects_result_started_before_invalidation() -> None:
cache = PublicResponseCache(max_entries=2)
generation = cache.generation()
cache.set((1,), [1])
cache.set((2,), [2])
cache.set((3,), [3])
assert cache.get((1,), 20) is None
cache.invalidate()
cache.set((4,), [4], generation=generation)
assert cache.get((4,), 20) is None