feat(image): 新建 knowai-core:1.0.0 镜像并完成推送
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
- 搭建 api、auth、utils 等逻辑模块 - 通过 tsc、eslint、vitest 测试验证 BREAKING CHANGE: 新镜像分支
This commit is contained in:
132
test/README.md
Normal file
132
test/README.md
Normal file
@@ -0,0 +1,132 @@
|
||||
# 认证架构测试
|
||||
|
||||
本目录包含了对新认证架构的全面测试套件,验证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. 测试确保了兼容性和平滑迁移
|
||||
Reference in New Issue
Block a user