test: 补齐 Q2 验收与本机 Q3 弱网崩溃压测

This commit is contained in:
Nixevol
2026-09-30 08:59:20 +08:00
parent 1f715e4e51
commit a22912d95a
13 changed files with 1299 additions and 308 deletions
+37 -37
View File
@@ -1,120 +1,120 @@
{
"generated_at": "2026-09-29T23:20:07Z",
"generated_at": "2026-09-30T00:26:12Z",
"items": [
{
"id": "F01",
"status": "untested",
"note": "未测:serve 未挂载 POST /api/admin/endpoints(A2 未合入或未接线;当前 A1 对端路由返回 501 亦未挂到进程)"
"status": "pass",
"note": "已测:开通一端、错误密码 MQTT 拒绝、正确密码可连;批量校验/停用/删除转让/同号重开未在本用例穷尽"
},
{
"id": "F02",
"status": "untested",
"note": "未测:端登录/会话令牌属连接 N3,main 上 serve 未挂 broker"
"status": "pass",
"note": "已测:密码登录后 hello 成功(会话令牌路径可用);顶号/锁定/重置踢线未在本用例穷尽"
},
{
"id": "F03",
"status": "untested",
"note": "未测:在线状态属身份 I3 + 连接 N3,未接线"
"note": "未测:directory.list / 断开后离线状态未在本波单独断言"
},
{
"id": "F04",
"status": "untested",
"note": "未测:presence.watch 属身份 I3,未接线"
"note": "未测:presence.watch 订阅通知未覆盖"
},
{
"id": "F05",
"status": "untested",
"note": "未测:消息提交属消息 M1,未挂入 broker 上行"
"status": "pass",
"note": "已测:双端在线单聊送达与确认;崩溃续传见 Q3;消息号冲突/密码门/配额未穷尽"
},
{
"id": "F06",
"status": "untested",
"note": "未测:群消息属消息 M + 身份 I4,未接线"
"status": "pass",
"note": "已测:群成员收到同一份、发送者不收到自己的;入群前不补未单独覆盖"
},
{
"id": "F07",
"status": "untested",
"note": "未测:大小限制属消息/连接,未接线"
"note": "未测:256 KiB 边界与接收上限未覆盖"
},
{
"id": "F08",
"status": "untested",
"note": "未测:投递确认属消息 M2,未接线"
"status": "pass",
"note": "已测:提交成功后杀进程重启,离线保留消息续传;toxiproxy 弱网见 Q3 chaos 测试;应用层去重未单独断言"
},
{
"id": "F09",
"status": "untested",
"note": "未测:保留期属消息 M2,未接线"
"status": "pass",
"note": "已测:选离线保留且接收方稍后上线能送达;超时过期未在本用例拨钟验证"
},
{
"id": "F10",
"status": "untested",
"note": "未测:断线策略属消息 M2,未接线"
"note": "未测:抖动宽限长短断线未单独拨钟"
},
{
"id": "F11",
"status": "untested",
"note": "未测:定时发送属消息 M2/M4,未接线"
"note": "未测:发送方离线后定时到点发送未覆盖"
},
{
"id": "F12",
"status": "untested",
"note": "未测:延迟撤回属消息 M3,未接线"
"status": "pass",
"note": "已测:延迟窗口内撤回对方无 msg/revoked"
},
{
"id": "F13",
"status": "untested",
"note": "未测:撤回判定属消息 M3,未接线"
"status": "pass",
"note": "已测:未推送前撤回成功;群部分撤回未覆盖"
},
{
"id": "F14",
"status": "untested",
"note": "未测:回执属消息 M3,未接线"
"note": "未测:回执补送未覆盖"
},
{
"id": "F15",
"status": "untested",
"note": "未测:对话密码属身份 I2,未接线"
"note": "未测:对话密码授权链路未覆盖"
},
{
"id": "F16",
"status": "untested",
"note": "未测:群权限属身份 I4,未接线"
"status": "pass",
"note": "已测:建群并拉成员后可群发;群主权限/退出/解散同号等未穷尽"
},
{
"id": "F17",
"status": "untested",
"note": "未测:serve 未挂载 /api/admin/login(A1 Handler 已实现,缺总控/接线挂到 cmd/nixmsg;DEVIATIONS 后台接口 A §1)"
"status": "pass",
"note": "已测:管理登录、错误密码锁定、无 CSRF 被拒 / 有 CSRF 可通过;管端开通见 F01;管注册见 F23;令牌越权/查记录无正文等未穷尽"
},
{
"id": "F18",
"status": "untested",
"note": "未测:正文清理属消息 M3,未接线"
"note": "未测:正文删除与记录天数 0 未覆盖"
},
{
"id": "F19",
"status": "untested",
"note": "未测:SDK 接入清单属 S1/S2 任务 4,依赖真实服务接线"
"note": "未测:四种 SDK 接入清单属 S1/S2 任务 4"
},
{
"id": "F20",
"status": "untested",
"note": "未测:裸 MQTT 属连接 N,serve 未挂 broker"
"status": "pass",
"note": "已测:裸 MQTT WebSocket 登录、hello、发、收、确认"
},
{
"id": "F21",
"status": "untested",
"note": "仅验证 listen 上 /healthz+/readyz;后台 API、/mqtt、裸 TCP、注册未挂入 serve(缺总控接线 + 连接 N)"
"status": "pass",
"note": "已测:同一 listen 端口提供 /healthz、管理 API、注册、WebSocket /mqtt;后台分离端口未测"
},
{
"id": "F22",
"status": "pass",
"note": "已测:空目录 admin init + serve,/healthz 与 /readyz 成功,密码不在 serve 日志;未测:备份恢复、升级迁移、证书重载、Docker、/metrics"
"note": "已测:空目录 admin init + serve,/healthz 与 /readyz 成功,密码不在 serve 日志;未测:备份恢复、升级迁移、证书重载、Docker 全量、/metrics 抓取"
},
{
"id": "F23",
"status": "untested",
"note": "未测:serve 未挂载 POST /api/client/register(I1 Handler 已实现,缺总控/连接 N 接线;DEVIATIONS 身份 I §1)"
"status": "pass",
"note": "已测:开关、错码、对码、换码;输错锁定未在本用例穷尽"
}
]
}