121 lines
4.4 KiB
JSON
121 lines
4.4 KiB
JSON
{
|
||
"generated_at": "2026-09-30T02:20:32Z",
|
||
"items": [
|
||
{
|
||
"id": "F01",
|
||
"status": "pass",
|
||
"note": "已测:开通一端、错误密码 MQTT 拒绝、正确密码可连;批量校验/停用/删除转让/同号重开未在本用例穷尽"
|
||
},
|
||
{
|
||
"id": "F02",
|
||
"status": "pass",
|
||
"note": "已测:密码登录后 hello 成功(会话令牌路径可用);顶号/锁定/重置踢线未在本用例穷尽"
|
||
},
|
||
{
|
||
"id": "F03",
|
||
"status": "pass",
|
||
"note": "已测:directory.list 可列出端;关掉连接后约 1s 内 presence.get 为离线;未测:1000 端全表 1s、真拔网线心跳超时"
|
||
},
|
||
{
|
||
"id": "F04",
|
||
"status": "pass",
|
||
"note": "已测:订阅 alice 后上下线各收到 presence;未订阅的 bob/carol 上下线不通知"
|
||
},
|
||
{
|
||
"id": "F05",
|
||
"status": "pass",
|
||
"note": "已测:双端在线单聊送达与确认;崩溃续传见 Q3;消息号冲突/密码门/配额未穷尽"
|
||
},
|
||
{
|
||
"id": "F06",
|
||
"status": "pass",
|
||
"note": "已测:群成员收到同一份、发送者不收到自己的;入群前不补未单独覆盖"
|
||
},
|
||
{
|
||
"id": "F07",
|
||
"status": "pass",
|
||
"note": "已测:256KiB 送达;多 1 字节 body_too_large;max_receive_bytes=1024 时大正文 rejected/too_large 回执且连接仍可用"
|
||
},
|
||
{
|
||
"id": "F08",
|
||
"status": "pass",
|
||
"note": "已测:提交成功后杀进程重启,离线保留消息续传;toxiproxy 弱网见 Q3 chaos 测试;应用层去重未单独断言"
|
||
},
|
||
{
|
||
"id": "F09",
|
||
"status": "pass",
|
||
"note": "已测:选离线保留且接收方稍后上线能送达;超时过期未在本用例拨钟验证"
|
||
},
|
||
{
|
||
"id": "F10",
|
||
"status": "pass",
|
||
"note": "已测:grace=3s 短断线重连送到;超宽限丢弃并回执 dropped;杀进程重启后宽限内重连续传"
|
||
},
|
||
{
|
||
"id": "F11",
|
||
"status": "pass",
|
||
"note": "已测:指定约 2s 后的 send_at_ms 后发送方断开,到点接收方在线收到"
|
||
},
|
||
{
|
||
"id": "F12",
|
||
"status": "pass",
|
||
"note": "已测:延迟窗口内撤回对方无 msg/revoked"
|
||
},
|
||
{
|
||
"id": "F13",
|
||
"status": "pass",
|
||
"note": "已测:未推送前撤回成功;群部分撤回未覆盖"
|
||
},
|
||
{
|
||
"id": "F14",
|
||
"status": "pass",
|
||
"note": "已测:发送方离线期间对方确认,发送方重连后补到 state=accepted 回执"
|
||
},
|
||
{
|
||
"id": "F15",
|
||
"status": "pass",
|
||
"note": "已测:不带密拒绝、带对后第二条免密、改密失效、对方先发可免密回、拉群须当次密码、5 账号×10 错触发总数锁后正确密也 rate_limited 且已有授权仍可发"
|
||
},
|
||
{
|
||
"id": "F16",
|
||
"status": "pass",
|
||
"note": "已测:建群并拉成员后可群发;群主权限/退出/解散同号等未穷尽"
|
||
},
|
||
{
|
||
"id": "F17",
|
||
"status": "pass",
|
||
"note": "已测:管理登录、错误密码锁定、无 CSRF 被拒 / 有 CSRF 可通过;管端开通见 F01;管注册见 F23;令牌越权/查记录无正文等未穷尽"
|
||
},
|
||
{
|
||
"id": "F18",
|
||
"status": "pass",
|
||
"note": "已测:确认后 message_bodies 为空;同号重试不再投递;record_retention_days=0 完成后 status=not_found 且消息行消失"
|
||
},
|
||
{
|
||
"id": "F19",
|
||
"status": "pass",
|
||
"note": "已测:仓库内 SDK 接入清单已通过——Go sdk/go/itest_checklist_test.go;JS sdk/js/test/checklist.test.ts;Python sdk/python/tests/test_checklist.py;Java sdk/java ChecklistTest;本波不重跑四套全量(见 RELEASE 第 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": "已测:开关、错码、对码、换码;输错锁定未在本用例穷尽"
|
||
}
|
||
]
|
||
}
|