mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 07:56:52 +08:00
feat(music): complete album subscription workflow
This commit is contained in:
@@ -19,7 +19,12 @@ def test_music_context_builder_keeps_only_music_category():
|
||||
)
|
||||
torrents = [
|
||||
TorrentInfo(
|
||||
title="Daft Punk - Random Access Memories FLAC",
|
||||
title="Daft Punk - Get Lucky - Random Access Memories FLAC",
|
||||
category=MediaType.MUSIC.value,
|
||||
site_name="MusicSite",
|
||||
),
|
||||
TorrentInfo(
|
||||
title="Daft Punk - Discovery FLAC",
|
||||
category=MediaType.MUSIC.value,
|
||||
site_name="MusicSite",
|
||||
),
|
||||
@@ -44,6 +49,39 @@ def test_music_context_builder_keeps_only_music_category():
|
||||
assert contexts[0].torrent_info.category == MediaType.MUSIC.value
|
||||
|
||||
|
||||
def test_music_search_continues_after_unrelated_first_keyword_results():
|
||||
"""首组关键词只命中其它专辑时应继续尝试后续关键词,不能提前返回空结果。"""
|
||||
chain = SearchChain()
|
||||
music = MusicInfo(
|
||||
source="musicbrainz",
|
||||
media_id="recording-1",
|
||||
title="Get Lucky",
|
||||
artists=["Daft Punk"],
|
||||
album="Random Access Memories",
|
||||
)
|
||||
unrelated = TorrentInfo(
|
||||
title="Daft Punk - Discovery FLAC",
|
||||
category=MediaType.MUSIC.value,
|
||||
site_name="MusicSite",
|
||||
)
|
||||
matched = TorrentInfo(
|
||||
title="Daft Punk - Get Lucky FLAC",
|
||||
category=MediaType.MUSIC.value,
|
||||
site_name="MusicSite",
|
||||
)
|
||||
|
||||
with patch.object(
|
||||
chain,
|
||||
"_SearchChain__search_all_sites",
|
||||
side_effect=[[unrelated], [matched]],
|
||||
) as search_sites, patch("app.chain.search.time.sleep"):
|
||||
contexts = chain._process_music(music, rule_groups=[])
|
||||
|
||||
assert search_sites.call_count == 2
|
||||
assert len(contexts) == 1
|
||||
assert contexts[0].torrent_info.title == matched.title
|
||||
|
||||
|
||||
def test_search_by_id_routes_music_identity_to_recognize_and_process():
|
||||
"""MusicBrainz 精确身份搜索应经统一识别入口识别后进入现有搜索处理链。"""
|
||||
chain = SearchChain()
|
||||
|
||||
Reference in New Issue
Block a user