# 认证架构测试 本目录包含了对新认证架构的全面测试套件,验证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请求流程 - 事件处理 - 错误处理 ## 运行测试 ### 运行所有认证架构测试 ```bash npx ts-node scripts/run-auth-tests.ts ``` ### 运行特定测试 ```bash # 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 ``` ### 运行覆盖率测试 ```bash 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响应数据 ## 断言 测试使用以下断言: - 功能正确性 - 错误处理 - 事件触发 - 数据转换 - 安全性检查 ## 注意事项 1. 确保在运行测试前已安装所有依赖 2. 测试使用模拟数据,不会影响实际系统 3. 测试覆盖了主要功能和边界情况 4. 测试验证了安全性和错误处理 5. 测试确保了兼容性和平滑迁移