feat: MbBrowser seam and FakeMbBrowser test double

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan
2026-07-11 12:12:17 +02:00
parent ec85016d88
commit 2ca0f7a385
3 changed files with 57 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
from lyra_worker.adapters.fakes import FakeMbBrowser
from lyra_worker.browser import ArtistHit, ReleaseGroupInfo
def test_fake_browser_returns_canned_artists_and_releases():
rg = ReleaseGroupInfo(rg_mbid="rg-1", title="Continuum", primary_type="Album",
secondary_types=(), first_release_date="2006-09-12")
browser = FakeMbBrowser(
artists=[ArtistHit(mbid="a1", name="John Mayer", disambiguation="")],
releases={"a1": [rg]},
)
assert browser.search_artist("john")[0].name == "John Mayer"
assert browser.browse_release_groups("a1") == [rg]
assert browser.browse_release_groups("unknown") == []