test_17_session_live.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. """会话列表 — 真实联调(校验 .env 中 QIWEI_ROOM_IDS 与会话一致)"""
  2. import pytest
  3. pytestmark = [pytest.mark.integration, pytest.mark.qiwei_live]
  4. def _session_room_ids(data: dict) -> set[str]:
  5. ids: set[str] = set()
  6. for key in ("collectList", "shieldList", "topList", "markList"):
  7. for item in data.get(key) or []:
  8. if item.get("sessionType") == 1 and item.get("sessionId"):
  9. ids.add(str(item["sessionId"]))
  10. return ids
  11. def test_live_session_list_contains_configured_rooms(api, live_guid, live_room_ids):
  12. data = api.assert_success(
  13. api.post(
  14. "/qiwei/proxy",
  15. json={
  16. "method": "/session/getSessionList",
  17. "params": {"guid": live_guid},
  18. },
  19. )
  20. )
  21. session_rooms = _session_room_ids(data)
  22. missing = [rid for rid in live_room_ids if rid not in session_rooms]
  23. assert not missing, (
  24. f"QIWEI_ROOM_IDS 中有群不在当前账号会话列表: {missing};"
  25. "请重新从 getSessionList 的 sessionType=1 复制 sessionId"
  26. )