run_section_4_live.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env python3
  2. """
  3. Swagger 模块 4(小区)真实联调 — 使用 backend/.env 的 QIWEI_ROOM_IDS。
  4. 用法(先 pnpm dev):
  5. cd backend/tests_python
  6. python run_section_4_live.py
  7. """
  8. from __future__ import annotations
  9. import subprocess
  10. import sys
  11. from pathlib import Path
  12. from load_env import load_backend_env
  13. ROOT = Path(__file__).resolve().parent
  14. def main() -> int:
  15. env = load_backend_env()
  16. rooms = [x.strip() for x in env.get("QIWEI_ROOM_IDS", "").split(",") if x.strip()]
  17. print("=" * 60)
  18. print("Swagger 模块 4(小区)真实联调")
  19. print("=" * 60)
  20. print(f" QIWEI_GUID: {env.get('QIWEI_GUID', '未配置')}")
  21. print(f" QIWEI_ROOM_IDS: {len(rooms)} 个群")
  22. for r in rooms:
  23. print(f" - {r}")
  24. print("=" * 60)
  25. if not env.get("QIWEI_GUID", "").strip():
  26. print("请配置 QIWEI_GUID")
  27. return 1
  28. if not rooms:
  29. print("请配置 QIWEI_ROOM_IDS(getSessionList 里 sessionType=1 的 sessionId)")
  30. return 1
  31. cmd = [
  32. sys.executable,
  33. "-m",
  34. "pytest",
  35. "test_04_module_live.py",
  36. "-v",
  37. "--html=report_section_4.html",
  38. "--self-contained-html",
  39. ]
  40. rc = subprocess.run(cmd, cwd=ROOT).returncode
  41. print()
  42. print(f"{'全部通过' if rc == 0 else '存在失败'}。报告: {ROOT / 'report_section_4.html'}")
  43. return rc
  44. if __name__ == "__main__":
  45. raise SystemExit(main())