test(service): add golden file validation and master key tests

- Update TESTING.md to reflect current testing status and future plans
- Add golden file comparison for provider snapshot validation in sync_test.go
- Introduce master_test.go for testing Master/Key functionality
- Add testdata directory for contract testing snapshots
This commit is contained in:
zenfun
2025-12-14 23:37:16 +08:00
parent d0011f3eb2
commit 71c183a480
4 changed files with 113 additions and 8 deletions

View File

@@ -26,18 +26,26 @@ go test ./...
## 分阶段计划(长期)
### 阶段 1已落地/优先级最高
### 阶段 1已落地
- provider 归一化Vertex 默认 `google_location=global` 的回归保护
- SyncServiceRedis snapshot 写入与 routing key 生成
- request_idGin middleware 透传/生成
### 阶段 2扩覆盖
### 阶段 2已落地一部分
- Master/Keytoken hash、epoch、scope、状态机分支
- LogWriter批处理/刷盘边界(可用 fake clock
- Master/KeyCreateMaster/ValidateMasterKey/IssueChildKey 的关键分支(含 child key 上限)
### 阶段 3契约测试
待补齐:
- 与 DP 的 snapshot schema 契约:用 `testdata` golden 校验字段/格式稳定
- Master/Keyepoch/禁用等更多状态分支
- LogWriter批处理/刷盘边界(可用 fake clock 或缩短 flush interval
### 阶段 3已落地一部分契约测试
- 与 DP 的 provider snapshot schema 契约:`internal/service/testdata/provider_snapshot.json` + SyncProvider 输出回归
待扩展:
- model snapshot 契约能力字段、max_output_tokens 等)
- token/master snapshot 契约(如果后续引入更多字段)