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%
This commit is contained in:
@@ -434,11 +434,8 @@ func extractRoleCode(path string) string {
|
||||
func extractUserID(path string) string {
|
||||
// /api/v1/iam/users/123/roles -> 123
|
||||
parts := splitPath(path)
|
||||
if len(parts) >= 4 {
|
||||
return parts[3]
|
||||
}
|
||||
if len(parts) >= 6 {
|
||||
return parts[3]
|
||||
if len(parts) >= 5 {
|
||||
return parts[4]
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -447,8 +444,8 @@ func extractUserID(path string) string {
|
||||
func extractRoleCodeFromUserPath(path string) string {
|
||||
// /api/v1/iam/users/123/roles/developer -> developer
|
||||
parts := splitPath(path)
|
||||
if len(parts) >= 6 {
|
||||
return parts[5]
|
||||
if len(parts) >= 7 {
|
||||
return parts[6]
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user