from lyra_worker.adapters.qobuz import QobuzAdapter from lyra_worker.adapters.youtube import YouTubeAdapter from lyra_worker.registry import build_adapters QOBUZ_CFG = {"qobuz.email": "me@example.com", "qobuz.password": "secret"} def test_youtube_always_present_qobuz_skipped_without_config(): adapters = build_adapters({}) names = [a.name for a in adapters] assert "youtube" in names assert "qobuz" not in names # no creds -> health() false -> excluded def test_qobuz_included_when_configured(): adapters = build_adapters(QOBUZ_CFG) names = [a.name for a in adapters] assert "qobuz" in names assert "youtube" in names qz = next(a for a in adapters if a.name == "qobuz") yt = next(a for a in adapters if a.name == "youtube") assert isinstance(qz, QobuzAdapter) assert isinstance(yt, YouTubeAdapter) def test_adapter_names_unique_and_qobuz_first(): adapters = build_adapters(QOBUZ_CFG) names = [a.name for a in adapters] assert len(names) == len(set(names)) assert names[0] == "qobuz" # tier 0 listed first