Files
junhong_cmp_fiber/.scratch/ur36-bulk-package-purchase/issues/03-real-dependency-integration-harness.md
2026-07-22 17:25:05 +09:00

1.9 KiB
Raw Blame History

03 — 建立批量任务真实依赖的集成测试 Harness

What to build: Agent 和开发者可以通过一个可复用的 Go 集成测试 Harness安全驱动真实 PostgreSQL、Redis DB 7、真实 S3、Fiber 后台认证和公开 Worker Handler。每次运行只创建、记录和清理带唯一运行标识的资源测试失败也不会清空或污染共享环境。

Blocked by: .scratch/ur36-bulk-package-purchase/issues/02-controlled-upload-object-ownership.md — 02 — 交付受控直传与对象归属证明

Status: ready-for-agent

架构通道: Infrastructure。

完整业务边界: 本票收口本需求及后续同类批量任务需要的安全集成测试基础设施。明确不替换全仓测试框架、不创建新 PostgreSQL 数据库、不使用 S3 内存替身、不通过等待真实后台 Worker 抢任务完成断言。

  • Harness 启动时读取最终生效配置,并确认普通 Redis Client、Asynq Client 和 Worker Server 均使用 DB 7任一不符时在写入前失败。
  • Harness 支持唯一 run_id、测试账号与真实认证、Fiber 请求、统一响应解码、真实 S3 上传及公开 Worker Handler 驱动。
  • 待投递任务可在应用公开注入点被受控捕获,并以结构化 task_id 调用 Handler不依赖 sleep 或私有处理函数。
  • PostgreSQL、Redis 和 S3 资源进入精确清理台账成功和失败清理只操作本次创建的主键、Key 和对象,不执行 TRUNCATE、FLUSHDB、前缀扫描或 Bucket 清理。
  • 清理失败输出安全诊断和未清理资源标识不输出数据库密码、Token、对象存储密钥、预签名 URL 或完整敏感数据。
  • 固定 testdata 覆盖 UTF-8、BOM、非法表头、重复资产、多代理、钱包不足和线下凭证并至少提供一个穿过公开 HTTP 与 Worker 边界的示例。