audit full project flows and harden backend

This commit is contained in:
2026-08-03 16:03:44 +08:00
parent d8d62469d6
commit 95b6f2b69c
22 changed files with 505 additions and 890 deletions

View File

@@ -6,7 +6,7 @@
| --- | --- | --- | --- |
| Local | 单元、组件、快速接口调试 | 自动生成、可重置 | 内存/本地 Mock |
| CI | 静态、单元、契约、构建 | 每任务独立数据库 | 容器化替身,禁止共享状态 |
| Integration | API+DB+Redis+Worker+IoT 集成 | 固定基线+场景数据 | 沙箱或可控 Mock支持故障注入 |
| Integration | API+DB+Redis+Worker+Gateway+MQTT Server 集成 | 固定基线+场景数据 | 支付沙箱、设备模拟器和故障注入 |
| Staging | 全端 E2E、专项、UAT | 脱敏仿真数据 | 尽量接真实沙箱、设备模拟器 |
| Production | 发布后只读/低风险冒烟 | 生产数据 | 禁止造资金与高风险设备动作,除非有演练审批 |
@@ -17,7 +17,10 @@
- PostgreSQL每轮可重置的独立库启用约束、事务、时区和并发测试保留慢查询与锁等待观测。
- Redis验证码、限流、支付密码锁定及未来事件流提供清空命名空间、断连、延迟和重启能力。
- API默认基线 `http://localhost:12426`;按平台、气站、配送点、用户、服务人员分别生成令牌。
- Worker/IoT当前执行启动、配置、健康、日志和优雅退出验证真实消息/协议接入后扩充专用环境
- Worker:配置支付扫描与 IoT 轮询间隔、API/Gateway 地址和内部令牌;支持加速时钟、上游超时与重启测试
- IoT Gateway独立端口、API/IoT Server 上游地址和内部令牌;测试中确认不持久化业务事实。
- IoT Server独立 HTTP/MQTT 端口、Mochi Broker、V1.8 AES 密钥环、逐设备 Client ID/设备号/凭证、Topic ACL集成环境使用测试证书启用 MQTT TLS。
- 设备模拟器:至少两台合法设备和一台攻击设备,支持 `up/ack/down`、断线重连、重复包、乱序包、坏 LRC、错误 AES key、ACK 成功/失败/丢失。
- 对象存储替身:支持上传、下载授权、过期、拒绝、超时、损坏和病毒扫描结果模拟。
- 时间控制支持验证码过期、SLA、合同、证照、订单、提现及幂等窗口的时间推进。
@@ -51,7 +54,7 @@
| 依赖 | 必备模拟能力 |
| --- | --- |
| MQTT/设备 | 在线/离线、命令 ACK/拒绝/超时、重复回执、伪造设备、遥测峰值 |
| MQTT/设备 | 每设备认证、Topic ACL、在线/离线、命令 ACK/拒绝/超时、重复回执、伪造设备、坏帧、遥测峰值 |
| 支付 | 签名正确/错误、金额/订单/商户不符、重复/乱序回调、查询补偿 |
| 短信/推送 | 成功、失败、延迟、重复、限流、部分接收人失败 |
| 地图/定位 | 正常、低精度、权限拒绝、漂移、区域外、无位置、后台受限 |
@@ -68,4 +71,3 @@
## 7. 待确认项
以下内容在得到正式口径前只测试“可配置与安全默认值”不自行设定政策安全阈值与开阀审批、SLO/RPO/RTO 数值、目标设备规模和上报频率、支付/合同/地图厂商、证据留存期、支持的 OS/浏览器最低版本、视频合规规则。