Med_mao / tests /core /test_query_cache.py
Mendu9
feat: initial commit — core utilities (token counter, PII scrubber, retry, query cache)
7c174ec
Raw
History Blame Contribute Delete
871 Bytes
import time
import pytest
from mao.core.query_cache import QueryCache
def test_miss_returns_none():
cache = QueryCache(ttl=60)
assert cache.get("abc123") is None
def test_hit_returns_value():
cache = QueryCache(ttl=60)
cache.set("abc123", {"docs": ["a", "b"]})
result = cache.get("abc123")
assert result == {"docs": ["a", "b"]}
def test_ttl_expiry():
cache = QueryCache(ttl=1)
cache.set("key1", "value")
time.sleep(1.1)
assert cache.get("key1") is None
def test_cache_key_from_embedding():
cache = QueryCache(ttl=60)
embedding = [0.1, 0.2, 0.3]
key = cache.make_key(embedding)
assert isinstance(key, str)
assert len(key) == 64 # sha256 hex
def test_cache_key_deterministic():
cache = QueryCache(ttl=60)
embedding = [0.1, 0.2, 0.3]
assert cache.make_key(embedding) == cache.make_key(embedding)