test(M00): 补充本地MQTT认证冒烟入口

This commit is contained in:
Codex
2026-06-16 12:30:04 +08:00
parent 80cd20b2a5
commit a0b02ec01b
12 changed files with 151 additions and 19 deletions
+26 -3
View File
@@ -23,14 +23,36 @@
bash scripts/dev/wsl/check-local-mqtt.sh
```
## 认证与 ACL 冒烟入口
```bash
cp scripts/dev/wsl/mqtt-smoke.env.example scripts/dev/wsl/mqtt-smoke.env
# 在本地被 Git 忽略的 mqtt-smoke.env 中填写最小权限 MQTT 账号
bash scripts/dev/wsl/mqtt-smoke.sh
```
当前脚本覆盖:
- MQTTX CLI 存在性检查。
- MQTT 3.1.1。
- QoS 1。
- 允许发布 Topic。
- 允许订阅 Topic 连接检查。
- 错误密码拒绝。
- 越权订阅 Topic 探测。
如果未配置 `QIPAI_MQTT_USERNAME``QIPAI_MQTT_PASSWORD`,脚本会输出 `SKIP`,不得视为认证/ACL 已通过。
本轮验证结果:未配置本地账号时,`scripts/dev/wsl/mqtt-smoke.sh` 已按预期输出 `SKIP`
## 验收边界
端口监听正常只证明服务级可用,不能证明以下项目已完成:
- TLS 证书链和客户端校验。
- MQTT 客户端认证账号。
- 错误密码拒绝。
- ACL 越权拒绝。
- MQTT 客户端认证账号实际可用性
- 错误密码拒绝实际结果
- ACL 越权拒绝实际结果
- MQTT 3.1 / QoS 1 业务协议联调。
- 遗嘱消息。
- 重复消息幂等。
@@ -41,3 +63,4 @@ bash scripts/dev/wsl/check-local-mqtt.sh
- 本地 `admin` 账号只能记录为“已知调试账号”,不得在 Git 中记录口令。
- 需要区分 Dashboard 管理员账号与 MQTT 客户端认证账号。
- MQTT 客户端账号应在后续测试中使用最小权限账号和 ACL。
- `scripts/dev/wsl/mqtt-smoke.env` 已加入 `.gitignore`,仅允许本地保存,不得提交。