{ "generated_at": "2026-09-30T00:26:12Z", "items": [ { "id": "F01", "status": "pass", "note": "已测:开通一端、错误密码 MQTT 拒绝、正确密码可连;批量校验/停用/删除转让/同号重开未在本用例穷尽" }, { "id": "F02", "status": "pass", "note": "已测:密码登录后 hello 成功(会话令牌路径可用);顶号/锁定/重置踢线未在本用例穷尽" }, { "id": "F03", "status": "untested", "note": "未测:directory.list / 断开后离线状态未在本波单独断言" }, { "id": "F04", "status": "untested", "note": "未测:presence.watch 订阅通知未覆盖" }, { "id": "F05", "status": "pass", "note": "已测:双端在线单聊送达与确认;崩溃续传见 Q3;消息号冲突/密码门/配额未穷尽" }, { "id": "F06", "status": "pass", "note": "已测:群成员收到同一份、发送者不收到自己的;入群前不补未单独覆盖" }, { "id": "F07", "status": "untested", "note": "未测:256 KiB 边界与接收上限未覆盖" }, { "id": "F08", "status": "pass", "note": "已测:提交成功后杀进程重启,离线保留消息续传;toxiproxy 弱网见 Q3 chaos 测试;应用层去重未单独断言" }, { "id": "F09", "status": "pass", "note": "已测:选离线保留且接收方稍后上线能送达;超时过期未在本用例拨钟验证" }, { "id": "F10", "status": "untested", "note": "未测:抖动宽限长短断线未单独拨钟" }, { "id": "F11", "status": "untested", "note": "未测:发送方离线后定时到点发送未覆盖" }, { "id": "F12", "status": "pass", "note": "已测:延迟窗口内撤回对方无 msg/revoked" }, { "id": "F13", "status": "pass", "note": "已测:未推送前撤回成功;群部分撤回未覆盖" }, { "id": "F14", "status": "untested", "note": "未测:回执补送未覆盖" }, { "id": "F15", "status": "untested", "note": "未测:对话密码授权链路未覆盖" }, { "id": "F16", "status": "pass", "note": "已测:建群并拉成员后可群发;群主权限/退出/解散同号等未穷尽" }, { "id": "F17", "status": "pass", "note": "已测:管理登录、错误密码锁定、无 CSRF 被拒 / 有 CSRF 可通过;管端开通见 F01;管注册见 F23;令牌越权/查记录无正文等未穷尽" }, { "id": "F18", "status": "untested", "note": "未测:正文删除与记录天数 0 未覆盖" }, { "id": "F19", "status": "untested", "note": "未测:四种 SDK 接入清单属 S1/S2 任务 4" }, { "id": "F20", "status": "pass", "note": "已测:裸 MQTT WebSocket 登录、hello、发、收、确认" }, { "id": "F21", "status": "pass", "note": "已测:同一 listen 端口提供 /healthz、管理 API、注册、WebSocket /mqtt;后台分离端口未测" }, { "id": "F22", "status": "pass", "note": "已测:空目录 admin init + serve,/healthz 与 /readyz 成功,密码不在 serve 日志;未测:备份恢复、升级迁移、证书重载、Docker 全量、/metrics 抓取" }, { "id": "F23", "status": "pass", "note": "已测:开关、错码、对码、换码;输错锁定未在本用例穷尽" } ] }