test: add real environment smoke coverage

This commit is contained in:
hectorzhao
2026-07-01 17:42:19 +08:00
parent bbbbe269a8
commit 7fa91675b8
3 changed files with 313 additions and 5 deletions
@@ -15,6 +15,7 @@
6. 输出 500 条/秒压测报告。已完成,见 `docs/phase-8-500tps-performance-report.md`
7. 输出 Linux 上线部署文档和回滚方案。已完成,见 `docs/linux-deployment-and-rollback.md`
8. 运行 Prisma generate、API build、阶段验证脚本和 API health smoke。已完成。
9. 在真实 PostgreSQL/Redis/MinIO 下补充最小 seed 和核心 HTTP smoke。已完成。
## 验收记录
@@ -49,10 +50,15 @@
- `npm run verify:phase8` 通过。
- 队列契约校验通过。
- Go Gateway `go test ./...` 通过。
- BullMQ Spike15000 条消息、并发 500、端到端约 825.48 TPS,满足 500 条/秒指标。
- BullMQ Spike15000 条消息、并发 500、端到端约 705.65 TPS,满足 500 条/秒指标。
- Prisma Client 生成通过。
- API build 通过。
- 前端 build 通过,仍存在 Vite chunk size warning。
- 真实环境 smoke 通过:
- 依赖连通性:PostgreSQL 5432、Redis 6379、MinIO S3 9000、MinIO Console 9001 均通过 TCP 探测。
- 迁移:`npm --prefix api run prisma:migrate:deploy` 通过,无待应用迁移。
- API 启动:`API_PORT=3101 node api/dist/main.js` 可连接真实 `.env` 并返回 health `ok`
- 核心链路:`node tools/smoke/real-env-smoke.mjs` 通过,覆盖登录、企业/客户、人工充值、余额检查、发送任务、MinIO 预签名上传、运营日志、trace 和 reconciliation。
- 500 条/秒压测报告已输出。
- Linux 上线部署与回滚方案已输出。
@@ -63,6 +69,7 @@
- 输出 500 条/秒压测报告:已完成。
- 输出 Linux 部署方案:已完成,覆盖 Docker Compose、systemd、环境变量、数据库迁移、日志目录、备份恢复、服务健康检查和回滚步骤。
- API health smoke 通过:`/api/health` 返回 `ok`
- 真实 PostgreSQL/Redis/MinIO 核心 smoke 通过:最小 seed 与登录、充值、发送、上传、日志、追踪、对账链路均可执行。
## 结论
@@ -71,4 +78,4 @@
## 风险与说明
- 阶段 8 的统计查询以第一版可运营为目标,优先使用 Prisma 聚合与分页查询;大表分区、物化统计、Redis 热统计将在后续版本增强。
- 本地没有 PostgreSQL 服务时,仅执行 Prisma Client 生成和 TypeScript 构建,不执行数据库迁移
- 当前真实环境 smoke 不包含真实运营商 SMSC/CMPP 互通;该项需运营商测试环境后补充联调记录