92bd114e71
- heartbeat 夹具 moduleType 改规范大写 SIMILAR_ASIN 并加断言锁定
- ModuleTypeAlignmentTest:扫描 src/main——MODULE_TYPE 常量须大写下划线、setModuleType("小写") 禁止(仅允许 legacy collectdata)——守卫写入/常量/夹具三者一致
- 全量扫描结果:生产代码写入均用常量大写,无存量漂移
Python-contract 夹具(task-202)
目录:
src/test/resources/python-contract/。用途:模块 13 的 /result、/items、parsed-payload、heartbeat 契约测试固定输入。
内容与字段来源
| 文件 | 对应 Worker 接口 | 字段来源(服务 DTO,非臆造) |
|---|---|---|
| heartbeat.request.json | POST /api/tasks/{taskId}/heartbeat | TaskHeartbeatRequest(moduleType/phase/current/total/collectStage/currentKeyword/searchPage/detail*Asins) |
| heartbeat.response.json | 同上响应 | TaskHeartbeatVo(alive/status/moduleType/message) |
| items.response.json | GET /tasks/{taskId}/items(collectdata) | CollectDataItemsPageVo+CollectDataItemVo(分页字段 + items 行结构) |
| result.request.json | 模块 submit-result(similarasin 示例) | SimilarAsinSubmitResultRequest(submissionId/chunkIndex/chunkTotal/done/error/groups) |
| parsed_payload.response.json | GET /tasks/{taskId}/parsed-payload(similarasin) | SimilarAsinParsedPayloadDto(aiPrompt/apiKey/imgSwitch/…/items/allItems/groups) |
说明
- 脱敏:所有值均为伪造(taskId/ASIN/文件名/关键词等);敏感字段已置占位——
parsed_payload.response.json的apiKey="<redacted>"、aiPrompt="<redacted-prompt>",不含任何真实凭据。 - 来源口径:schema-fixture(字段取自本服务 DTO);非录自 app_client/amazon 真实抓包。若后续在具备桌面端/爬虫运行环境时录制真实报文,可另存
*.recorded.json增补,不替换本 schema-fixture。 - 可复现:纯静态 JSON,可重复用于契约测试。