mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-14 02:05:13 +08:00
test(music): isolate external recognition calls (#6277)
This commit is contained in:
@@ -80,14 +80,27 @@ def test_album_directory_scrape_processes_each_track_and_reuses_cover() -> None:
|
||||
)
|
||||
album = _album_info()
|
||||
|
||||
success, message = chain.scrape_music_metadata(
|
||||
FileItem(storage="local", path="/music/叶惠美", type="dir", name="叶惠美"),
|
||||
mediainfo=album,
|
||||
)
|
||||
with patch(
|
||||
"app.chain.scraping.MediaChain.get_music_album",
|
||||
return_value=None,
|
||||
) as get_music_album:
|
||||
success, message = chain.scrape_music_metadata(
|
||||
FileItem(
|
||||
storage="local",
|
||||
path="/music/叶惠美",
|
||||
type="dir",
|
||||
name="叶惠美",
|
||||
),
|
||||
mediainfo=album,
|
||||
)
|
||||
|
||||
assert success is True
|
||||
assert message == "已刮削 2 个音频文件"
|
||||
chain._download_music_cover.assert_called_once_with(album.cover_url)
|
||||
get_music_album.assert_called_once_with(
|
||||
media_source=album.media_source,
|
||||
media_id=album.media_id,
|
||||
)
|
||||
assert chain._scrape_music_file.call_count == 2
|
||||
assert all(
|
||||
call.args[1] is album and call.kwargs["cover"] == (b"cover", "image/jpeg")
|
||||
|
||||
@@ -361,7 +361,8 @@ def test_media_chain_default_recognition_only_queries_musicbrainz(monkeypatch):
|
||||
recognize_source = Mock(return_value=expected)
|
||||
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
||||
|
||||
result = chain.recognize_media(meta=meta)
|
||||
with patch("app.chain.MoviePilotServerHelper.report_recognize_share"):
|
||||
result = chain.recognize_media(meta=meta)
|
||||
|
||||
assert result is expected
|
||||
recognize_source.assert_called_once_with(
|
||||
@@ -408,7 +409,11 @@ def test_default_recognition_does_not_fallback_after_musicbrainz_miss(monkeypatc
|
||||
recognize_source = Mock(return_value=None)
|
||||
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
||||
|
||||
assert chain.recognize_media(meta=meta) is None
|
||||
with patch(
|
||||
"app.chain.MoviePilotServerHelper.query_recognize_share",
|
||||
return_value=None,
|
||||
):
|
||||
assert chain.recognize_media(meta=meta) is None
|
||||
recognize_source.assert_called_once()
|
||||
assert recognize_source.call_args.kwargs["media_source"] == MediaSource.MusicBrainz
|
||||
|
||||
|
||||
Reference in New Issue
Block a user