Nexus / tests /test_cache_layer.py
abc1181's picture
REBUILD
aca03d2
Raw
History Blame Contribute Delete
1.73 kB
import pytest
from app.services.cache_layer import make_cache_key, compute_embedding, cosine_similarity
class TestCacheLayer:
def test_make_cache_key_deterministic(self):
messages = [{"role": "user", "content": "hello"}]
k1 = make_cache_key("gpt-4", messages)
k2 = make_cache_key("gpt-4", messages)
assert k1 == k2
def test_make_cache_key_diff_model(self):
messages = [{"role": "user", "content": "hello"}]
k1 = make_cache_key("gpt-4", messages)
k2 = make_cache_key("gpt-3.5", messages)
assert k1 != k2
def test_make_cache_key_diff_messages(self):
k1 = make_cache_key("gpt-4", [{"role": "user", "content": "hello"}])
k2 = make_cache_key("gpt-4", [{"role": "user", "content": "world"}])
assert k1 != k2
def test_compute_embedding_length(self):
emb = compute_embedding("test query")
assert len(emb) == 256
def test_compute_embedding_consistency(self):
e1 = compute_embedding("same text")
e2 = compute_embedding("same text")
assert e1 == e2
def test_cosine_similarity_identical(self):
emb = compute_embedding("test")
assert abs(cosine_similarity(emb, emb) - 1.0) < 0.001
def test_cosine_similarity_similar_texts(self):
a = compute_embedding("hello world")
b = compute_embedding("hello world")
assert abs(cosine_similarity(a, b) - 1.0) < 0.001
def test_cosine_similarity_different_texts(self):
a = compute_embedding("hello world foo bar baz")
b = compute_embedding("completely unrelated text here")
# Should be less similar than identical
sim = cosine_similarity(a, b)
assert sim < 1.0