mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
refactor backend module architecture
This commit is contained in:
+23
-25
@@ -1,31 +1,29 @@
|
||||
from unittest import TestCase
|
||||
from unittest.mock import patch
|
||||
|
||||
from tests.cases.groups import release_group_cases
|
||||
from app.core.meta.releasegroup import ReleaseGroupsMatcher
|
||||
from app.domain.meta import releasegroup as releasegroup_module
|
||||
from app.domain.meta.releasegroup import ReleaseGroupsMatcher
|
||||
|
||||
|
||||
class MetaInfoTest(TestCase):
|
||||
def test_release_group(self):
|
||||
for info in release_group_cases:
|
||||
print(f"开始测试 {info.get('domain')}")
|
||||
for item in info.get('groups', []):
|
||||
release_group = ReleaseGroupsMatcher().match(item.get("title"))
|
||||
print(f"\tmatch release group {release_group}, should be: {item.get('group')}")
|
||||
self.assertEqual(item.get("group"), release_group)
|
||||
print(f"完成 {info.get('domain')}")
|
||||
def test_release_group():
|
||||
for info in release_group_cases:
|
||||
print(f"开始测试 {info.get('domain')}")
|
||||
for item in info.get('groups', []):
|
||||
release_group = ReleaseGroupsMatcher().match(item.get("title"))
|
||||
print(f"\tmatch release group {release_group}, should be: {item.get('group')}")
|
||||
assert release_group == item.get("group")
|
||||
print(f"完成 {info.get('domain')}")
|
||||
|
||||
def test_custom_release_group_matches_multiple_adjacent_groups(self):
|
||||
"""自定义制作组共用分隔符时,应完整保留所有命中项。"""
|
||||
matcher = ReleaseGroupsMatcher()
|
||||
|
||||
with patch.object(
|
||||
matcher.systemconfig,
|
||||
"get",
|
||||
return_value=["VCB-Studio|hyakuhuyu|DMG|GM-Team"],
|
||||
):
|
||||
release_group = matcher.match(
|
||||
"[DMG&VCB-Studio] Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e"
|
||||
)
|
||||
def test_custom_release_group_matches_multiple_adjacent_groups(monkeypatch):
|
||||
"""自定义制作组共用分隔符时,应完整保留所有命中项。"""
|
||||
matcher = ReleaseGroupsMatcher()
|
||||
monkeypatch.setattr(
|
||||
releasegroup_module,
|
||||
"_release_groups_provider",
|
||||
lambda: ["VCB-Studio|hyakuhuyu|DMG|GM-Team"],
|
||||
)
|
||||
|
||||
self.assertEqual("DMG@VCB-Studio", release_group)
|
||||
release_group = matcher.match(
|
||||
"[DMG&VCB-Studio] Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e"
|
||||
)
|
||||
|
||||
assert release_group == "DMG@VCB-Studio"
|
||||
|
||||
Reference in New Issue
Block a user