test: close remaining quality verification gaps

This commit is contained in:
hectorzhao
2026-08-28 16:27:00 +08:00
parent 3834d67a30
commit 9ac41e9308
8 changed files with 602 additions and 1 deletions
+9
View File
@@ -4127,3 +4127,12 @@ git diff --check
- 发布后API、Send Worker、Submit Outbox、Gateway Callback、Protocol Log Worker、Gateway、Security Agent、MinIO、Nginx、PostgreSQL和Redis全部activeAPI/Gateway健康、Redis PONG`gateway.submit.commands``gateway.submit.results``gateway.protocol.logs``pending=0/lag=0`,发布窗口error级日志0。Prometheus已暴露新的认证保护指标,临时发布/校验脚本已清理。
- 工作站显式`curl --noproxy '*'`验证首页、客户端登录、运营端登录、API健康和客户端验证码接口均HTTP 200。Chrome真实加载客户端和运营端登录页,客户端显示“返回官网”,页面资源为`index-BvZGIM6l.js/index-DyAqoJbu.css`,两页控制台error/warning均0;未输入密码或代解验证码,登录后页面继续作为人工验收边界。
- 全程只操作测试环境`100.93.204.60`,未访问、回退、覆盖或部署预生产`8.160.169.106`;未发送、补发或重投短信,未修改余额、应用、通道或客户连接。
## 2026-08-28 代码质量持续优化补充关闭
- C2沿用同一运行代码的真实双租户API矩阵证据:客户端无租户header和一致header成功、伪造其他租户header返回`403 CLIENT_TENANT_MISMATCH`、请求体tenantId不能覆盖会话租户、跨租户资源返回404;本轮前端34项测试继续验证`/api/client/**`不发送`x-tenant-id`,管理端显式租户选择不受影响。登录后可见页面由用户按`docs/code-quality-browser-acceptance-checklist-20260828.md`人工验收,结果回填前不把浏览器验收标记为关闭。
- C5新增`tools/testing/verify-auth-redis-multi-instance.mjs`真实Redis契约。两个独立`SessionService`实例共用隔离Redis,验证跨实例会话、验证码一次性消费、验证码第31次拒绝、账号/组合第5次锁定、随机账号扫描同IP第30次锁定、15分钟/24小时TTL及SHA-256键;测试完成后隔离库`dbsize=0`。另补Redis不可用时验证码、锁查询和失败记录均返回服务不可用的fail-closed单测。
- C9不执行任何npm、Node、Prisma或依赖降级;继续使用上一轮已部署验证的npm 10.9.4和根/API两份`package-lock.json`,经文件所有者授权移除旧的未跟踪`pnpm-lock.yaml`。质量门禁由“只检查已跟踪替代锁”收紧为仓库根目录只要出现`pnpm-lock.yaml``yarn.lock`即失败;空文件`=`及其他会话产生的评估报告修改继续保留、不纳入本次提交。
- C8只新增`docs/sendchain-service-decomposition-plan-20260828.md`,按认证、长短信、Inbox Repository/Worker、消息准备/持久化、Worker生命周期、路由、限速、Submit命令、Outbox和任务进度刷新分S0~S8实施;本轮没有修改发送链运行代码。
- 回归通过:认证相关3套26项、API全量Jest、前端34项、API/前端TypeScript、Vite生产构建、真实Redis多实例契约、ESLint、Prettier、结构质量和依赖缓解门禁。首次从仓库根目录启动Jest时误扫描`outputs/`历史副本且未加载API转换配置,随后使用`api/jest.config.cjs`明确项目范围通过;未修改受保护历史资产。
- 本轮运行代码没有变化,测试环境仍运行已验证的`226527f1cef122e4dbd163da782485e8c0254dc5`,因此没有重复建立恢复资产或形式化重新部署。未访问预生产,未写入测试环境业务数据,未发送、补发或重投短信。