Files
MoviePilot/tests/test_customization_matcher.py
DDSRem 2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00

43 lines
1.3 KiB
Python

"""
验证自定义识别规则更新和 SDK 分隔符配置。
"""
from app.domain.meta import customization as customization_module
from app.domain.meta.customization import CustomizationMatcher
from app.sdk.media import set_custom_separator
def test_match_uses_latest_customization_setting(monkeypatch):
"""
自定义占位符修改后,下一次识别应直接使用新配置。
"""
matcher = CustomizationMatcher()
values = [["GROUP"], ["TEAM"]]
monkeypatch.setattr(
customization_module,
"_customization_provider",
lambda: values[0],
)
assert matcher.match("[GROUP][TEAM] Movie") == "GROUP"
values[0] = ["TEAM"]
assert matcher.match("[GROUP][TEAM] Movie") == "TEAM"
def test_sdk_set_custom_separator_updates_matcher_and_restores_default(monkeypatch):
"""
插件只能通过 SDK 设置分隔符,清空后恢复宿主默认值。
"""
matcher = CustomizationMatcher()
monkeypatch.setattr(
customization_module,
"_customization_provider",
lambda: ["GROUP", "TEAM"],
)
set_custom_separator("#")
assert matcher.match("[GROUP][TEAM] Movie") == "GROUP#TEAM"
set_custom_separator(None)
assert matcher.match("[GROUP][TEAM] Movie") == "GROUP@TEAM"