mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-08 17:08:35 +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()
|
album = _album_info()
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"app.chain.scraping.MediaChain.get_music_album",
|
||||||
|
return_value=None,
|
||||||
|
) as get_music_album:
|
||||||
success, message = chain.scrape_music_metadata(
|
success, message = chain.scrape_music_metadata(
|
||||||
FileItem(storage="local", path="/music/叶惠美", type="dir", name="叶惠美"),
|
FileItem(
|
||||||
|
storage="local",
|
||||||
|
path="/music/叶惠美",
|
||||||
|
type="dir",
|
||||||
|
name="叶惠美",
|
||||||
|
),
|
||||||
mediainfo=album,
|
mediainfo=album,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert success is True
|
assert success is True
|
||||||
assert message == "已刮削 2 个音频文件"
|
assert message == "已刮削 2 个音频文件"
|
||||||
chain._download_music_cover.assert_called_once_with(album.cover_url)
|
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 chain._scrape_music_file.call_count == 2
|
||||||
assert all(
|
assert all(
|
||||||
call.args[1] is album and call.kwargs["cover"] == (b"cover", "image/jpeg")
|
call.args[1] is album and call.kwargs["cover"] == (b"cover", "image/jpeg")
|
||||||
|
|||||||
@@ -361,6 +361,7 @@ def test_media_chain_default_recognition_only_queries_musicbrainz(monkeypatch):
|
|||||||
recognize_source = Mock(return_value=expected)
|
recognize_source = Mock(return_value=expected)
|
||||||
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
||||||
|
|
||||||
|
with patch("app.chain.MoviePilotServerHelper.report_recognize_share"):
|
||||||
result = chain.recognize_media(meta=meta)
|
result = chain.recognize_media(meta=meta)
|
||||||
|
|
||||||
assert result is expected
|
assert result is expected
|
||||||
@@ -408,6 +409,10 @@ def test_default_recognition_does_not_fallback_after_musicbrainz_miss(monkeypatc
|
|||||||
recognize_source = Mock(return_value=None)
|
recognize_source = Mock(return_value=None)
|
||||||
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
monkeypatch.setattr(chain, "recognize_music_from_source", recognize_source)
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"app.chain.MoviePilotServerHelper.query_recognize_share",
|
||||||
|
return_value=None,
|
||||||
|
):
|
||||||
assert chain.recognize_media(meta=meta) is None
|
assert chain.recognize_media(meta=meta) is None
|
||||||
recognize_source.assert_called_once()
|
recognize_source.assert_called_once()
|
||||||
assert recognize_source.call_args.kwargs["media_source"] == MediaSource.MusicBrainz
|
assert recognize_source.call_args.kwargs["media_source"] == MediaSource.MusicBrainz
|
||||||
|
|||||||
Reference in New Issue
Block a user