Files
Lyra/worker/tests/test_similarity_base.py
Jonathan 889e33355f feat(discovery): SimilaritySource protocol + FakeSimilaritySource
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:03:45 +02:00

15 lines
584 B
Python

from lyra_worker.adapters.fakes import FakeSimilaritySource
from lyra_worker.similarity.base import SimilarArtist, SimilaritySource
def test_fake_conforms_to_protocol_and_returns_similar():
src = FakeSimilaritySource(similar={"seed": [SimilarArtist("c1", "Cand", 0.9)]})
assert isinstance(src, SimilaritySource)
assert src.health() is True
assert src.similar_artists("seed") == [SimilarArtist("c1", "Cand", 0.9)]
assert src.similar_artists("unknown") == []
def test_fake_can_report_unhealthy():
assert FakeSimilaritySource(healthy=False).health() is False