Some checks reported errors
continuous-integration/drone/push Build was killed
- 搭建 api、auth、utils 等逻辑模块 - 通过 tsc、eslint、vitest 测试验证 BREAKING CHANGE: 新镜像分支
认证架构测试
本目录包含了对新认证架构的全面测试套件,验证SessionManager、AccessTokenManager、SessionAuthService、ExtendedApiClient和兼容性处理的功能和安全性。
测试结构
test/
├── auth/
│ ├── session-manager.test.ts # SessionManager测试
│ ├── access-token-manager.test.ts # AccessTokenManager测试
│ ├── session-auth-service.test.ts # SessionAuthService测试
│ ├── compatibility.test.ts # 兼容性处理测试
│ └── integration.test.ts # 集成测试
├── api/
│ └── extended-client.test.ts # ExtendedApiClient测试
└── setup.ts # 测试环境设置
测试覆盖范围
SessionManager测试
- 认证状态检查
- Session信息获取
- Session刷新逻辑
- Session清除
- 用户角色检查
AccessTokenManager测试
- Token生成
- Token获取和缓存
- Token刷新
- Token清除
- 过期Token处理
SessionAuthService测试
- 登录/注册/登出功能
- 请求/响应拦截器
- 事件处理
- 错误处理
ExtendedApiClient测试
- 带Access Token的请求
- 各种HTTP方法支持
- Token注入
- 错误处理
兼容性处理测试
- 认证模式切换
- Token到Session的迁移
- 混合认证模式
集成测试
- 端到端认证流程
- API请求流程
- 事件处理
- 错误处理
运行测试
运行所有认证架构测试
npx ts-node scripts/run-auth-tests.ts
运行特定测试
# SessionManager测试
npx vitest run test/auth/session-manager.test.ts
# AccessTokenManager测试
npx vitest run test/auth/access-token-manager.test.ts
# SessionAuthService测试
npx vitest run test/auth/session-auth-service.test.ts
# ExtendedApiClient测试
npx vitest run test/api/extended-client.test.ts
# 兼容性测试
npx vitest run test/auth/compatibility.test.ts
# 集成测试
npx vitest run test/auth/integration.test.ts
运行覆盖率测试
npx ts-node scripts/run-auth-tests.ts --coverage
测试环境
测试使用Vitest框架,配置了以下环境:
- 测试环境:jsdom
- 全局设置:启用
- 超时时间:10秒
- 覆盖率提供者:v8
模拟对象
测试中使用了以下模拟对象:
- ApiClient:模拟HTTP客户端
- SessionManager:模拟Session管理器
- AccessTokenManager:模拟Access Token管理器
- AuthEventManager:模拟认证事件管理器
- TokenManager:模拟Token管理器(用于兼容性测试)
测试数据
测试使用以下模拟数据:
- 用户信息
- Session信息
- Access Token信息
- API响应数据
断言
测试使用以下断言:
- 功能正确性
- 错误处理
- 事件触发
- 数据转换
- 安全性检查
注意事项
- 确保在运行测试前已安装所有依赖
- 测试使用模拟数据,不会影响实际系统
- 测试覆盖了主要功能和边界情况
- 测试验证了安全性和错误处理
- 测试确保了兼容性和平滑迁移