#!/usr/bin/env python3 """ 仅跑 QiWe 真实联调(不含本地内存假数据用例),并导出真实数据报告。 用法: cd backend/tests_python python run_live_only.py """ from __future__ import annotations import subprocess import sys from pathlib import Path from load_env import load_backend_env ROOT = Path(__file__).resolve().parent def main() -> int: env = load_backend_env() guid = env.get("QIWEI_GUID", "").strip() room_n = len([x for x in env.get("QIWEI_ROOM_IDS", "").split(",") if x.strip()]) print("=" * 60) print("QiWe 真实联调(仅 qiwei_live,不含本地假数据)") print("=" * 60) print(f" QIWEI_GUID: {guid or '未配置'}") print(f" QIWEI_ROOM_IDS: {room_n} 个群") print("=" * 60) if not guid: print("请配置 backend/.env 中的 QIWEI_GUID") return 1 cmd = [ sys.executable, "-m", "pytest", "-v", "-m", "qiwei_live", "--html=report_live.html", "--self-contained-html", ] rc = subprocess.run(cmd, cwd=ROOT).returncode print() print("导出真实 QiWe 返回数据...") exp = subprocess.run([sys.executable, "export_live_data.py"], cwd=ROOT) if exp.returncode != 0: rc = exp.returncode print() if rc == 0: print("真实联调完成。交付物:") print(f" 用例报告: {ROOT / 'report_live.html'}") print(f" 数据报告: {ROOT / 'live_data_report.md'}") print(f" 数据 JSON: {ROOT / 'live_data_snapshot.json'}") return rc if __name__ == "__main__": raise SystemExit(main())