fix(lidarr): select metadata/quality profiles by name with env overrides
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
43
tests/test_profiles.py
Normal file
43
tests/test_profiles.py
Normal file
@@ -0,0 +1,43 @@
|
||||
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
|
||||
Reference in New Issue
Block a user