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