# Task T01-004: Print 模块测试 ## 元信息 | 字段 | 值 | |------|-----| | 状态 | `todo` | | 优先级 | P0 | | 对应 Coder task | P01-006 | | 分配给 | Tester AI (Coze CN) | ## 测试目标 验证 PDF 生成、S3 上传、24h 过期清理完整流程。 ## 被测对象 **Coder 产出的 commit**: - 从 git log 查找 commit message 包含 `[READY_FOR_TEST]` 且 task 编号为 `P01-006` 的最新 commit **Coder task 文件**: - [P01-006](P01-006.md) — Print 模块 API ## 测试内容 **关键路径**: - [ ] POST /print/generate 提交错题 ID 列表 → 返回 taskId + status: "processing" - [ ] GET /print/task/:id → 查询进度,最终返回 status: "completed" + downloadUrl - [ ] GET /print/download/:id → 返回 PDF 文件下载 - [ ] PDF 文件可正常打开,内容为错题图片(每页一道题) - [ ] PDF 为 A4 纸张规格 - [ ] downloadUrl 为 S3 签名 URL - [ ] expires_at 字段设置为创建时间 + 24h - [ ] 过期清理: 模拟 expires_at 已过 → 下载链接失效 **不应发生的**: - [ ] 空错题列表不应崩溃(返回明确错误信息) - [ ] 不存在的 task id 不应返回 500 - [ ] 已过期的下载链接不应仍可访问 ## 执行方式 ``` 1. git pull → 拉取最新代码 2. 在 Coze 沙盒中启动服务 3. 提交打印任务 → 等待完成 → 下载 PDF 4. 验证 PDF 格式和内容 5. 模拟过期场景 6. 生成测试报告 ``` ## 报告格式 输出 `reports/T01-004-{日期}.json` ## 完成报告 > Tester 完成后填写。 - [ ] 测试已执行 - [ ] 报告已生成 → `reports/T01-004-{日期}.json` - [ ] Commit: `{hash}` - [ ] Commit message: `test(T01-004): {结论}` - [ ] 结论: PASS / FAIL / RETRY