Your Name
|
f9fc984e5c
|
test(iam): 使用TDD方法补充IAM模块测试覆盖
- 创建完整的IAM Service测试文件 (iam_service_real_test.go)
- 测试真实 DefaultIAMService 而非 mock
- 覆盖 CreateRole, GetRole, UpdateRole, DeleteRole, ListRoles
- 覆盖 AssignRole, RevokeRole, GetUserRoles
- 覆盖 CheckScope, GetUserScopes, IsExpired
- 创建完整的IAM Handler测试文件 (iam_handler_real_test.go)
- 测试真实 IAMHandler 使用 httptest
- 覆盖路由处理器方法 (handleRoles, handleRoleByCode等)
- 覆盖 CreateRole, GetRole, ListRoles, UpdateRole, DeleteRole
- 覆盖 AssignRole, RevokeRole, GetUserRoles, CheckScope, ListScopes
- 覆盖辅助函数和中间件
- 修复原有代码bug
- extractUserID: 修正索引从parts[3]到parts[4]
- extractRoleCodeFromUserPath: 修正索引从parts[5]到parts[6]
- 修复多余的空格导致的语法问题
测试覆盖率:
- IAM Handler: 0% -> 85.9%
- IAM Service: 0% -> 99.0%
|
2026-04-03 07:59:12 +08:00 |
|
Your Name
|
50225f6822
|
fix: 修复4个安全漏洞 (HIGH-01, HIGH-02, MED-01, MED-02)
- HIGH-01: CheckScope空scope绕过权限检查
* 修复: 空scope现在返回false拒绝访问
- HIGH-02: JWT算法验证不严格
* 修复: 使用token.Method.Alg()严格验证只接受HS256
- MED-01: RequireAnyScope空scope列表逻辑错误
* 修复: 空列表现在返回403拒绝访问
- MED-02: Token状态缓存未命中时默认返回active
* 修复: 添加TokenStatusBackend接口,缓存未命中时必须查询后端
影响文件:
- supply-api/internal/iam/middleware/scope_auth.go
- supply-api/internal/middleware/auth.go
- supply-api/cmd/supply-api/main.go (适配新API)
测试覆盖:
- 添加4个新的安全测试用例
- 更新1个原有测试以反映正确的安全行为
|
2026-04-03 07:52:41 +08:00 |
|