auto-sync: 2026-06-07 20:27:06
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions

This commit is contained in:
cfdaily
2026-06-07 20:27:06 +08:00
parent 1d25db10ab
commit 2aa50a66da
+18 -15
View File
@@ -327,30 +327,33 @@ E2E 测试能安全运行的前提:
#### S22: 工具链事件中枢(12 个测试)| 对应 design: #13 工具链与开发流程 §16
- S22.1 PR opened → 司马懿收到 Review 请求 Mail
- S22.1 PR opened → 司马懿收到 Review 请求 Mail [integration]
- 验证:Webhook 返回 200Mail 创建成功,收件人 simayi-challenger,模板填充正确(PR号、标题、作者、分支)
- S22.2 Review APPROVED → PR 作者收到通过通知
- S22.2 Review APPROVED → PR 作者收到通过通知 [integration]
- 验证:Mail 收件人正确(PR 作者),模板填充 review result
- S22.3 Review REQUEST_CHANGES → PR 作者收到不通过通知
- S22.3 Review REQUEST_CHANGES → PR 作者收到不通过通知 [integration]
- 验证:Mail 包含 review body,收件人正确
- S22.4 Review COMMENTED → 不创建 Mail(忽略普通评论)
- S22.4 Review COMMENTED → 不创建 Mail(忽略普通评论) [integration]
- 验证:返回 200 但无 Mail 创建
- S22.5 Issue assigned → 被指派人收到任务通知
- S22.5 Issue assigned → 被指派人收到任务通知 [integration]
- 验证:Mail 收件人正确(被指派人),模板含 Issue 标题/编号信息
- S22.6 CI 失败评论(`[CI]` 前缀)→ PR 作者收到 CI 失败通知
- 验证:匹配 [CI] 前缀,Mail 含错误摘要,收件人为 PR 作者
- S22.7 非 CI 评论 → 忽略不处理
- 验证:不匹配 [CI] 前缀的评论不创建 Mail,返回 200
- S22.8 部署失败 Issue(标题含"部署失败")→ 庞统+姜维收到通知
- 验证:assigned 给非 Agent 用户 → 忽略,返回 200
- S22.6 CI 失败评论 → PR 作者收到 CI 失败通知 [integration]
- 验证:新格式(`[CI]` 前缀)和旧格式(`❌ **CI 失败**`)均能匹配,Mail 含错误摘要,收件人为 PR 作者
- S22.7 非 CI 评论 → 忽略不处理 [integration]
- 验证:不匹配 CI 评论格式的普通评论不创建 Mail,返回 200
- S22.8 部署失败 Issue(标题含"部署失败")→ 庞统+姜维收到通知 [integration]
- 验证:两个收件人都收到 Mailpangtong-fujunshi、jiangwei-infra),模板含 Issue 信息
- S22.9 幂等检查:同一 delivery_id 重复投递 → 忽略
- S22.9 幂等检查:同一 delivery_id 重复投递 → 忽略 [unit]
- 验证:第二次返回 duplicate/ignored,不重复创建 Mail
- S22.10 签名验证:错误签名 → 403
- S22.10 签名验证:错误签名 → 403 [unit]
- 验证:配置 secret 后,signature 不匹配返回 403secret 为空时跳过验签
- S22.11 未知事件类型 → 忽略返回 200
- S22.11 未知事件类型 → 忽略返回 200 [unit]
- 验证:未知 event 不报错,返回 200,不创建 Mail
- S22.12 风险级别自动判定:改动含高风险文件 → high
- 验证:changed_files 包含 spawner/dispatcher/router 等高风险路径时 risk_level=high;普通文件为 normal
- S22.12 畸形 payload → 返回 200 不崩溃 [unit]
- 验证:非法 JSON / 缺少必要字段 → 返回 200,不崩溃,不创建 Mail
- S22.13 风险级别自动判定:改动含高风险文件 → high [unit]
- 验证:changed_files 包含 spawner/dispatcher/router 等高风险路径时 risk_level=high;普通文件为 standard
**场景测试合计:76 个测试**