(t *testing.T)
| 207 | } |
| 208 | |
| 209 | func TestAccessController_AssignRole(t *testing.T) { |
| 210 | ac := NewAccessController(&AccessControlConfig{}, &mockAuditLog{}) |
| 211 | |
| 212 | // 创建用户 |
| 213 | user := &User{ |
| 214 | ID: "user1", |
| 215 | Username: "testuser", |
| 216 | Status: UserStatusActive, |
| 217 | } |
| 218 | _ = ac.CreateUser(user) |
| 219 | |
| 220 | // 创建角色 |
| 221 | role := &Role{ |
| 222 | ID: "role1", |
| 223 | Name: "Admin", |
| 224 | Description: "Administrator role", |
| 225 | } |
| 226 | ac.roles = map[string]*Role{"role1": role} |
| 227 | |
| 228 | // 分配角色 |
| 229 | err := ac.AssignRole("user1", "role1") |
| 230 | if err != nil { |
| 231 | t.Fatalf("AssignRole failed: %v", err) |
| 232 | } |
| 233 | |
| 234 | // 验证角色已分配 |
| 235 | userRoles := ac.userRoles["user1"] |
| 236 | if len(userRoles) != 1 || userRoles[0] != "role1" { |
| 237 | t.Errorf("expected user to have role 'role1', got %v", userRoles) |
| 238 | } |
| 239 | } |
| 240 | |
| 241 | func TestAccessController_RevokeRole(t *testing.T) { |
| 242 | ac := NewAccessController(&AccessControlConfig{}, &mockAuditLog{}) |
nothing calls this directly
no test coverage detected