diff --git a/TEST_REPORT.md b/TEST_REPORT.md index 5994f3c..67c7df4 100644 --- a/TEST_REPORT.md +++ b/TEST_REPORT.md @@ -104,13 +104,13 @@ --- -### TC-08 UserSig 过期检测测试(新增) +### TC-08 UserSig 匹配登录测试(新增) | 字段 | 内容 | |------|------| -| **测试目的** | 验证 `XuqmSDK` 解析 UserSig JWT exp 并在过期前触发回调 | -| **测试步骤** | 1. 生成一个 exp 为当前时间 + 6 分钟的 UserSig JWT
2. 调用 `XuqmSDK.shared.login(userId:userSig:)`
3. 设置 `XuqmSDK.shared.onUserSigExpired = { ... }`
4. 等待 1 分钟,观察 Timer 是否在正确时间点触发
5. 触发后调用 `logout()`,确认 Timer 被 `invalidate` | -| **预期结果** | 1. `extractExpirationDate` 正确解析 JWT payload
2. `startUserSigExpirationTimer` 创建 `Timer`
3. 到期前 5 分钟触发 `onUserSigExpired?()`
4. 回调在主线程执行
5. `logout()` 后 `userSigTimer` 为 nil,无内存泄漏 | +| **测试目的** | 验证 `XuqmSDK` 仅按 `userId + userSig` 建立 IM 登录态,不解析生命周期字段 | +| **测试步骤** | 1. 使用业务服务端签发的 UserSig 调用 `XuqmSDK.shared.login(userId:userSig:)`
2. 观察 `ImSDK.shared.login` 建立 WebSocket 连接
3. 保持连接并确认 SDK 侧不启动生命周期 Timer
4. 再次传入同一 `userId` 与匹配的新 UserSig 调用 `login` | +| **预期结果** | 1. SDK 只保存当前 `userId` 与 `userSig`
2. 不解析 JWT `exp`,不触发生命周期回调
3. 重新登录会覆盖当前会话并重连 IM | | **实际结果** | 待测试 | | **通过状态** | ⬜ | @@ -127,4 +127,4 @@ | TC-05 | 连接状态监听测试 | ⬜ 待测试 | | TC-06 | Push 设备注册测试(APNs + FCM) | ⬜ 待测试 | | TC-07 | 版本更新检查测试 | ⬜ 待测试 | -| TC-08 | UserSig 过期检测测试 | ⬜ 待测试 | +| TC-08 | UserSig 匹配登录测试 | ⬜ 待测试 |