| 12345678910111213141516171819202122232425262728 |
- # tests/test_host_unit.py
- """Task 7: host.py — 登录链拼包纯函数(零真实网络)。"""
- import json
- from apilot.host import Host
- def test_login_2001_body_shape(tmp_path):
- """2001 body = b"uid/" + encode6(jwt) + b"/" + encode6(channel) + b"/1/0"。
- 与 cq2_pure_enter.login_gate() 第 124-125 行 逐字节一致。"""
- h = Host(14481607, "longwu988", "Longwu1988", state_dir=str(tmp_path))
- uid, jwt = "1186115037", "eyJfake.jwt.token"
- body = h.build_2001_body(uid, jwt)
- import sys
- sys.path.insert(0, "protocol_bot")
- from encode6bitbuf_final import encode6 # type: ignore
- assert body == f"{uid}/".encode() + encode6(jwt.encode()) + b"/" + encode6(b"110585") + b"/1/0"
- def test_create_role_101_body(tmp_path):
- """101 body = {"server_name":zone,"chr":name,"secsdk":"0","job":0,"sex":0,
- "account":uid,"sdkid":"110585"};中文/账号/区号全保留。"""
- h = Host(14481607, "u", "p", state_dir=str(tmp_path))
- body = json.loads(h.build_101_body("萌新1234", uid="u1", job=0, sex=0))
- assert body["chr"] == "萌新1234" and body["sdkid"] == "110585"
- assert body["server_name"] == 14481607
- assert body["account"] == "u1" and body["job"] == 0 and body["sex"] == 0
- assert body["secsdk"] == "0"
|