接入匿名设备态协议补齐Cookie字段并放宽保存

This commit is contained in:
yml2213
2026-09-01 19:29:56 +08:00
parent 8447ca82ed
commit 727c32a5f5
6 changed files with 113 additions and 23 deletions
+40
View File
@@ -147,6 +147,46 @@ def test_app_login_cookie_contains_web_session_shape():
assert expected <= keys
def test_supplement_anonymous_device_adds_four_fields(monkeypatch):
anon = {
"udb_deviceid": "w_1147246591246680065",
"udb_guiddata": "a" * 32,
"udb_anobiztoken": "B" * 344,
"udb_anouid": "1471255709907",
}
monkeypatch.setattr(
"core.huya.anon_device.fetch_anonymous_device_state", lambda **kw: anon
)
merged = HuyaAppPasswordLogin._supplement_anonymous_device({"guid": "g" * 32})
assert merged["udb_deviceid"] == anon["udb_deviceid"]
assert merged["udb_guiddata"] == anon["udb_guiddata"]
assert merged["udb_anobiztoken"] == anon["udb_anobiztoken"]
assert merged["udb_anouid"] == anon["udb_anouid"]
assert merged["guid"] == "g" * 32 # 已有显式值不被覆盖
def test_supplement_anonymous_device_keeps_explicit_values(monkeypatch):
anon = {"udb_deviceid": "w_9999999999999999999", "udb_anobiztoken": "B" * 344}
monkeypatch.setattr(
"core.huya.anon_device.fetch_anonymous_device_state", lambda **kw: anon
)
merged = HuyaAppPasswordLogin._supplement_anonymous_device(
{"udb_deviceid": "w_1111111111111111111"}
)
assert merged["udb_deviceid"] == "w_1111111111111111111" # setdefault 语义
def test_supplement_anonymous_device_failure_does_not_raise(monkeypatch):
def boom(**kw):
from core.huya.anon_device import AnonymousDeviceError
raise AnonymousDeviceError("network down")
monkeypatch.setattr("core.huya.anon_device.fetch_anonymous_device_state", boom)
merged = HuyaAppPasswordLogin._supplement_anonymous_device({"guid": "g"})
assert merged == {"guid": "g"}
class TestHuyaAppLogin:
def setup_method(self):
self.engine = create_engine("sqlite://")