mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-09 15:34:31 +08:00
fix(indexer): read HDDolby site message body via NexusPHP web API (#6180)
This commit is contained in:
68
tests/test_hddolby_parser.py
Normal file
68
tests/test_hddolby_parser.py
Normal file
@@ -0,0 +1,68 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from app.modules.indexer.parser.hddolby import HDDolbySiteUserInfo
|
||||
from app.modules.indexer.parser.nexus_php import NexusPhpSiteUserInfo
|
||||
|
||||
|
||||
USER_DATA_JSON = """
|
||||
{
|
||||
"status": 0,
|
||||
"data": [{
|
||||
"id": "41088",
|
||||
"username": "g0m3e",
|
||||
"added": "2023-12-18 13:58:19",
|
||||
"class": "5",
|
||||
"uploaded": "1000",
|
||||
"downloaded": "500",
|
||||
"seedbonus": "100.0",
|
||||
"unread_messages": "1"
|
||||
}]
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
def _build_parser(site_cookie: str = "") -> HDDolbySiteUserInfo:
|
||||
return HDDolbySiteUserInfo(
|
||||
site_name="高清杜比",
|
||||
url="https://www.hddolby.com/",
|
||||
site_cookie=site_cookie,
|
||||
apikey="test-api-key",
|
||||
token=None,
|
||||
)
|
||||
|
||||
|
||||
def test_hddolby_parse_user_base_info_reads_unread_count():
|
||||
parser = _build_parser()
|
||||
parser._parse_user_base_info(USER_DATA_JSON)
|
||||
|
||||
assert parser.userid == "41088"
|
||||
assert parser.username == "g0m3e"
|
||||
assert parser.message_unread == 1
|
||||
|
||||
|
||||
def test_hddolby_skips_message_body_without_cookie():
|
||||
parser = _build_parser(site_cookie="")
|
||||
parser.message_unread = 1
|
||||
|
||||
parser._pase_unread_msgs()
|
||||
|
||||
assert parser.message_unread_contents == []
|
||||
|
||||
|
||||
def test_hddolby_reads_message_body_via_nexus_when_cookie_present(monkeypatch):
|
||||
parser = _build_parser(site_cookie="c_secure_uid=1")
|
||||
parser.message_unread = 1
|
||||
|
||||
def fake_pase_unread_msgs(self):
|
||||
self.message_unread_contents = [
|
||||
("测试标题", "2026-07-21 10:00:00", "测试正文"),
|
||||
]
|
||||
|
||||
monkeypatch.setattr(NexusPhpSiteUserInfo, "_pase_unread_msgs", fake_pase_unread_msgs)
|
||||
|
||||
parser._pase_unread_msgs()
|
||||
|
||||
assert len(parser.message_unread_contents) == 1
|
||||
head, date, content = parser.message_unread_contents[0]
|
||||
assert head == "测试标题"
|
||||
assert date == "2026-07-21 10:00:00"
|
||||
assert content == "测试正文"
|
||||
Reference in New Issue
Block a user