| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # tests/test_live_t02.py
- """[live] T02 删角腾槽 — 逐鹿10区 14492162(2026-09-22 新开,初始无角色)。
- 阶段A: 创角A(空列表→101→521)
- 阶段B: 创角B(列表[A]→101→521, 槽位填满=2/2)
- 阶段C: 创角C(列表[A,B]→101→522槽满→CS102删last=1角色→523→同名重试→521)
- 断言: C 以原名创建成功(若删角未生效,重试会再吃522→本地无victim→换随机名,
- role_name != C名,测试即失败)
- protocol_bot/.venv/bin/python -m pytest tests/test_live_t02.py -m live -v -s
- """
- import random
- import pytest
- from apilot.host import Host
- pytestmark = pytest.mark.live
- ZONE = 14492162
- USER, PWD = "longwu988", "Longwu1988"
- def _create(zone: int, name: str) -> dict:
- h = Host(zone, USER, PWD, state_dir="/tmp/apilot_t02")
- h.http_login()
- h.boot_lua()
- return h.run_create_role(name=name)
- def test_t02_delete_role_for_slot():
- rnd = str(random.randint(1000, 9999))
- name_a, name_b, name_c = f"测A{rnd}", f"测B{rnd}", f"测C{rnd}"
- ra = _create(ZONE, name_a)
- assert ra["role_name"] == name_a and ra["ticket"]
- print(f"[A] {ra['role_name']} 票据={ra['ticket'][:20]}...")
- rb = _create(ZONE, name_b)
- assert rb["role_name"] == name_b and rb["ticket"]
- print(f"[B] {rb['role_name']} 票据={rb['ticket'][:20]}... (槽位应已满)")
- rc = _create(ZONE, name_c)
- print(f"[C] {rc['role_name']} 票据={rc['ticket'][:20]}...")
- assert rc["role_name"] == name_c, (
- f"删角腾槽未按预期走原名重试: 期望{name_c}, 实际{rc['role_name']}"
- "(说明522后删角失败→换随机名兜底)")
- assert rc["ticket"]
|