test_05_module_live.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. """Swagger 模块 5(群管理)— 真实联调(QIWEI_ROOM_IDS + QiWe sync)"""
  2. import pytest
  3. pytestmark = [pytest.mark.integration, pytest.mark.qiwei_live]
  4. @pytest.fixture(scope="module")
  5. def m05_rooms(api_session, live_guid, live_room_ids):
  6. data = api_session.assert_success(
  7. api_session.post(
  8. "/rooms/sync",
  9. json={"guid": live_guid, "roomIdList": live_room_ids},
  10. )
  11. )
  12. return {"room_ids": live_room_ids, "rooms": data["rooms"]}
  13. def test_m05_sync_rooms(api, live_guid, m05_rooms):
  14. data = api.assert_success(
  15. api.post(
  16. "/rooms/sync",
  17. json={"guid": live_guid, "roomIdList": m05_rooms["room_ids"]},
  18. )
  19. )
  20. assert data["roomCount"] == len(m05_rooms["room_ids"])
  21. def test_m05_rooms_list(api, m05_rooms):
  22. rooms = api.assert_success(api.get("/rooms"))
  23. for rid in m05_rooms["room_ids"]:
  24. assert any(r["roomId"] == rid for r in rooms)
  25. def test_m05_all_health(api, m05_rooms):
  26. health = api.assert_success(api.get("/rooms/health"))
  27. assert isinstance(health, list)
  28. ids = {h["roomId"] for h in health}
  29. for rid in m05_rooms["room_ids"]:
  30. assert rid in ids
  31. def test_m05_room_detail(api, m05_rooms):
  32. for rid in m05_rooms["room_ids"]:
  33. room = api.assert_success(api.get(f"/rooms/{rid}"))
  34. assert room["roomId"] == rid
  35. def test_m05_room_health(api, m05_rooms):
  36. for rid in m05_rooms["room_ids"]:
  37. h = api.assert_success(api.get(f"/rooms/{rid}/health"))
  38. assert "healthScore" in h
  39. def test_m05_member_events_sync(api, live_guid, m05_rooms):
  40. for rid in m05_rooms["room_ids"]:
  41. data = api.assert_success(
  42. api.post(
  43. "/rooms/member-events/sync",
  44. json={"guid": live_guid, "roomId": rid, "ver": 0},
  45. )
  46. )
  47. assert "events" in data
  48. assert "nextVer" in data
  49. def test_m05_member_events_list(api, m05_rooms):
  50. events = api.assert_success(api.get("/rooms/member-events"))
  51. assert isinstance(events, list)