ocdp v1
This commit is contained in:
267
docs/archive/root-cleanup/TESTING-COMPLETE.md
Normal file
267
docs/archive/root-cleanup/TESTING-COMPLETE.md
Normal file
@ -0,0 +1,267 @@
|
||||
# ✅ 测试完成 - 如何使用
|
||||
|
||||
## 🎉 好消息!
|
||||
|
||||
所有服务已启动并测试通过:
|
||||
|
||||
| 服务 | 地址 | 状态 |
|
||||
|-----|------|------|
|
||||
| **后端 API** | http://localhost:8080 | ✅ 运行中 |
|
||||
| **前端应用** | http://localhost:5175 | ✅ 运行中 |
|
||||
| **健康检查** | http://localhost:8080/health | ✅ 正常 |
|
||||
|
||||
## 🧪 测试方法(3 种方式)
|
||||
|
||||
### 方法 1: 独立 HTML 测试页面(最简单⭐)
|
||||
|
||||
**直接在浏览器打开:**
|
||||
|
||||
```
|
||||
http://localhost:5175/api-test.html
|
||||
```
|
||||
|
||||
**功能:**
|
||||
- ✅ 无需登录前端应用
|
||||
- ✅ 直接测试所有 API
|
||||
- ✅ 实时查看 JSON 响应
|
||||
- ✅ 验证 camelCase 字段
|
||||
- ✅ 一键完整测试
|
||||
|
||||
**使用步骤:**
|
||||
1. 打开上面的URL
|
||||
2. 点击 "🚀 完整测试" 按钮
|
||||
3. 观察测试结果和日志
|
||||
4. 验证所有字段都是 camelCase
|
||||
|
||||
### 方法 2: React 应用内测试
|
||||
|
||||
**访问主应用:**
|
||||
|
||||
```
|
||||
http://localhost:5175
|
||||
```
|
||||
|
||||
**步骤:**
|
||||
1. 登录应用(用户名: admin, 密码: admin123)
|
||||
2. 访问 http://localhost:5175/api-test (React 组件)
|
||||
3. 点击测试按钮
|
||||
|
||||
### 方法 3: cURL 命令行测试
|
||||
|
||||
**快速验证:**
|
||||
|
||||
```bash
|
||||
# 1. 健康检查
|
||||
curl http://localhost:8080/health
|
||||
|
||||
# 2. 登录
|
||||
curl -X POST http://localhost:8080/api/v1/auth/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"admin123"}'
|
||||
|
||||
# 3. 获取集群列表(需要替换 TOKEN)
|
||||
curl http://localhost:8080/api/v1/clusters \
|
||||
-H "Authorization: Bearer YOUR_TOKEN"
|
||||
```
|
||||
|
||||
**或运行测试脚本:**
|
||||
|
||||
```bash
|
||||
cd /home/mango/workspace/ocdp-go
|
||||
|
||||
# API 测试
|
||||
./scripts/test-api-camelcase.sh
|
||||
|
||||
# 前端集成测试
|
||||
./scripts/test-frontend-integration.sh
|
||||
```
|
||||
|
||||
## 📋 测试清单
|
||||
|
||||
### 1. API 响应验证
|
||||
|
||||
打开 http://localhost:5175/api-test.html 并验证:
|
||||
|
||||
**登录响应应该包含:**
|
||||
- [ ] `accessToken` (不是 access_token)
|
||||
- [ ] `refreshToken` (不是 refresh_token)
|
||||
- [ ] `userId` (不是 user_id)
|
||||
|
||||
**集群响应应该包含:**
|
||||
- [ ] `createdAt` (不是 created_at)
|
||||
- [ ] `updatedAt` (不是 updated_at)
|
||||
- [ ] `hasCaData` (不是 has_ca_data)
|
||||
- [ ] `hasCertData` (不是 has_cert_data)
|
||||
|
||||
**创建集群请求应该发送:**
|
||||
- [ ] `caData` (不是 ca_data)
|
||||
- [ ] `certData` (不是 cert_data)
|
||||
- [ ] `keyData` (不是 key_data)
|
||||
|
||||
### 2. 前端功能验证
|
||||
|
||||
访问 http://localhost:5175:
|
||||
|
||||
- [ ] 登录页面可以正常访问
|
||||
- [ ] 可以成功登录
|
||||
- [ ] 可以看到集群列表
|
||||
- [ ] 可以创建新集群
|
||||
- [ ] 所有操作无错误
|
||||
|
||||
## 📸 预期结果示例
|
||||
|
||||
### 登录响应(camelCase ✅)
|
||||
|
||||
```json
|
||||
{
|
||||
"accessToken": "eyJhbGci...",
|
||||
"refreshToken": "eyJhbGci...",
|
||||
"userId": "e0b632e8-...",
|
||||
"username": "admin"
|
||||
}
|
||||
```
|
||||
|
||||
### 集群列表响应(camelCase ✅)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "cluster-123",
|
||||
"name": "Production Cluster",
|
||||
"host": "https://k8s.example.com:6443",
|
||||
"hasCaData": true,
|
||||
"hasCertData": true,
|
||||
"hasKeyData": true,
|
||||
"hasToken": false,
|
||||
"caData": "••••••••",
|
||||
"certData": "••••••••",
|
||||
"keyData": "••••••••",
|
||||
"createdAt": "2025-11-10T10:00:00Z",
|
||||
"updatedAt": "2025-11-10T10:00:00Z"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## 🎯 快速测试(推荐)
|
||||
|
||||
**一行命令测试所有功能:**
|
||||
|
||||
```bash
|
||||
cd /home/mango/workspace/ocdp-go && \
|
||||
./scripts/test-api-camelcase.sh && \
|
||||
./scripts/test-frontend-integration.sh && \
|
||||
echo -e "\n✅ 所有测试通过!\n访问: http://localhost:5175/api-test.html"
|
||||
```
|
||||
|
||||
## 🔧 如果遇到问题
|
||||
|
||||
### 问题:页面无法打开
|
||||
|
||||
**检查服务是否运行:**
|
||||
|
||||
```bash
|
||||
# 检查后端
|
||||
curl http://localhost:8080/health
|
||||
|
||||
# 检查前端
|
||||
curl http://localhost:5175
|
||||
|
||||
# 如果没有运行,启动服务:
|
||||
# 后端: cd backend && make run-0
|
||||
# 前端: cd frontend && npm run dev
|
||||
```
|
||||
|
||||
### 问题:看到 snake_case 字段
|
||||
|
||||
**这不应该发生!如果看到,请:**
|
||||
|
||||
1. 检查 Go DTO JSON tags:
|
||||
```bash
|
||||
grep -r "json:\"ca_data\"" backend/internal/adapter/input/http/dto/
|
||||
# 应该没有结果,如果有结果说明没有正确更新
|
||||
```
|
||||
|
||||
2. 检查 OpenAPI 规范:
|
||||
```bash
|
||||
grep "ca_data:" backend/docs/openapi.yaml
|
||||
# 应该没有结果,如果有结果说明规范没有更新
|
||||
```
|
||||
|
||||
3. 重新生成前端代码:
|
||||
```bash
|
||||
cd frontend && npm run openapi-gen
|
||||
```
|
||||
|
||||
4. 重启服务
|
||||
|
||||
### 问题:CORS 错误
|
||||
|
||||
HTML 测试页面直接访问 API 可能遇到 CORS,这是正常的。请:
|
||||
|
||||
1. 使用 React 应用内的测试页面
|
||||
2. 或检查后端是否允许跨域请求
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
| 文档 | 用途 |
|
||||
|------|------|
|
||||
| [QUICK-TEST.md](./QUICK-TEST.md) | 快速测试指南 |
|
||||
| [TEST-GUIDE.md](./TEST-GUIDE.md) | 完整测试指南 |
|
||||
| [TEST-RESULTS.md](./TEST-RESULTS.md) | 详细测试结果 |
|
||||
| [IMPLEMENTATION-COMPLETE.md](./IMPLEMENTATION-COMPLETE.md) | 实施总结 |
|
||||
| [frontend/src/api/README.md](./frontend/src/api/README.md) | API 使用文档 |
|
||||
|
||||
## 🎊 成功标志
|
||||
|
||||
当你看到以下结果时,说明一切正常:
|
||||
|
||||
✅ **HTML 测试页面** - 所有测试通过,显示绿色 ✓
|
||||
✅ **JSON 响应** - 所有字段使用 camelCase
|
||||
✅ **前端应用** - 无错误,功能正常
|
||||
✅ **浏览器控制台** - 无错误信息
|
||||
✅ **TypeScript** - 类型提示正常工作
|
||||
|
||||
---
|
||||
|
||||
## 🚀 现在就测试!
|
||||
|
||||
**最简单的方式:**
|
||||
|
||||
1. 打开浏览器
|
||||
2. 访问: **http://localhost:5175/api-test.html**
|
||||
3. 点击 **"🚀 完整测试"**
|
||||
4. 查看结果!
|
||||
|
||||
**预期看到:**
|
||||
```
|
||||
🧪 开始完整测试流程...
|
||||
|
||||
🔐 开始测试登录...
|
||||
✅ 登录成功!
|
||||
✓ accessToken 字段存在 (camelCase)
|
||||
✓ refreshToken 字段存在 (camelCase)
|
||||
✓ userId 字段存在 (camelCase)
|
||||
|
||||
📋 开始获取集群列表...
|
||||
✅ 获取集群列表成功!
|
||||
✓ createdAt 字段存在 (camelCase)
|
||||
✓ hasCaData 字段存在 (camelCase)
|
||||
|
||||
🚀 开始创建集群 (使用 camelCase)...
|
||||
✅ 创建集群成功!
|
||||
✓ hasCaData 字段存在 (camelCase)
|
||||
✓ createdAt 字段存在 (camelCase)
|
||||
|
||||
🎉 完整测试流程完成!
|
||||
所有 API 调用成功,camelCase 工作正常!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**当前服务:**
|
||||
- 🌐 前端: http://localhost:5175
|
||||
- 🔌 后端: http://localhost:8080
|
||||
- 🧪 HTML 测试: http://localhost:5175/api-test.html
|
||||
|
||||
🎉 **测试愉快!camelCase API 完美工作!**
|
||||
|
||||
Reference in New Issue
Block a user