import server.mf # noqa: F401 import musicfetch_core as mf META = [{"id": 1, "name": "Standard"}, {"id": 2, "name": "None"}, {"id": 3, "name": "OST"}] QUAL = [{"id": 1, "name": "Any"}, {"id": 2, "name": "Lossless"}] def test_metadata_profile_default_standard_by_name(monkeypatch): monkeypatch.delenv("LIDARR_METADATA_PROFILE", raising=False) monkeypatch.setattr(mf, "lidarr_get", lambda path, timeout=10: META) assert mf.get_default_metadata_profile_id() == 1 def test_metadata_profile_env_override(monkeypatch): monkeypatch.setenv("LIDARR_METADATA_PROFILE", "OST") monkeypatch.setattr(mf, "lidarr_get", lambda path, timeout=10: META) assert mf.get_default_metadata_profile_id() == 3 def test_metadata_profile_unknown_name_falls_back_to_first(monkeypatch): monkeypatch.setenv("LIDARR_METADATA_PROFILE", "Nonexistent") monkeypatch.setattr(mf, "lidarr_get", lambda path, timeout=10: META) assert mf.get_default_metadata_profile_id() == 1 def test_quality_profile_default_any_by_name(monkeypatch): monkeypatch.delenv("LIDARR_QUALITY_PROFILE", raising=False) monkeypatch.setattr(mf, "lidarr_get", lambda path, timeout=10: QUAL) assert mf.get_quality_profile_id() == 1 def test_quality_profile_env_override(monkeypatch): monkeypatch.setenv("LIDARR_QUALITY_PROFILE", "Lossless") monkeypatch.setattr(mf, "lidarr_get", lambda path, timeout=10: QUAL) assert mf.get_quality_profile_id() == 2 def test_profile_fetch_error_returns_one(monkeypatch): def boom(path, timeout=10): raise mf.RequestException("down") monkeypatch.setattr(mf, "lidarr_get", boom) assert mf.get_default_metadata_profile_id() == 1 assert mf.get_quality_profile_id() == 1