feat(image): 新建 knowai-core:1.0.0 镜像并完成推送
Some checks reported errors
continuous-integration/drone/push Build was killed

- 搭建 api、auth、utils 等逻辑模块
- 通过 tsc、eslint、vitest 测试验证

BREAKING CHANGE: 新镜像分支
This commit is contained in:
tobegold574
2025-11-10 20:20:25 +08:00
commit 6a81b7bb13
73 changed files with 10511 additions and 0 deletions

132
test/README.md Normal file
View 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. 测试确保了兼容性和平滑迁移