Files
ccdi/docs/test-scripts/test-simple.sh

114 lines
3.2 KiB
Bash
Raw Normal View History

2026-03-04 14:41:01 +08:00
#!/bin/bash
# 项目创建功能测试 - 简化版
BASE_URL="http://localhost:8080"
echo "=========================================="
echo "项目创建功能测试"
echo "=========================================="
# 1. 登录获取Token
echo "[1/5] 登录获取Token..."
TOKEN_RESPONSE=$(curl -s -X POST "$BASE_URL/login" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}')
TOKEN=$(echo "$TOKEN_RESPONSE" | grep -o '"token":"[^"]*"' | sed 's/"token":"//;s/"//')
if [ -z "$TOKEN" ]; then
echo "✗ 登录失败"
echo "响应: $TOKEN_RESPONSE"
exit 1
fi
echo "✓ Token获取成功"
echo "Token: ${TOKEN:0:50}..."
# 2. 测试创建项目成功
echo ""
echo "[2/5] 测试创建项目成功..."
PROJECT_NAME="测试项目_$(date +%Y%m%d_%H%M%S)"
REQUEST_DATA="{\"projectName\":\"$PROJECT_NAME\",\"description\":\"测试集成流水分析平台\",\"configType\":\"default\"}"
echo "请求数据: $REQUEST_DATA"
RESPONSE=$(curl -s -X POST "$BASE_URL/ccdi/project" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "$REQUEST_DATA")
echo "响应: $RESPONSE"
# 检查是否成功
if echo "$RESPONSE" | grep -q '"code":200'; then
echo "✓ 项目创建成功"
# 检查lsfxProjectId
if echo "$RESPONSE" | grep -q '"lsfxProjectId"'; then
LSFX_ID=$(echo "$RESPONSE" | grep -o '"lsfxProjectId":[0-9]*' | sed 's/"lsfxProjectId"://')
echo "✓ 流水分析平台项目ID: $LSFX_ID"
else
echo "✗ 流水分析平台项目ID缺失"
fi
else
echo "✗ 项目创建失败"
fi
# 3. 测试参数校验
echo ""
echo "[3/5] 测试参数校验(空项目名称)..."
REQUEST_DATA='{"projectName":"","description":"测试","configType":"default"}'
RESPONSE=$(curl -s -X POST "$BASE_URL/ccdi/project" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "$REQUEST_DATA")
if echo "$RESPONSE" | grep -q '"code":200'; then
echo "✗ 未正确验证参数"
else
echo "✓ 正确拒绝了空项目名称"
fi
# 4. 测试查询项目列表
echo ""
echo "[4/5] 测试查询项目列表..."
RESPONSE=$(curl -s -X GET "$BASE_URL/ccdi/project/list?pageNum=1&pageSize=5" \
-H "Authorization: Bearer $TOKEN")
if echo "$RESPONSE" | grep -q '"code":200'; then
echo "✓ 查询项目列表成功"
if echo "$RESPONSE" | grep -q '"lsfxProjectId"'; then
echo "✓ 列表包含lsfxProjectId字段"
else
echo "! 列表可能缺少lsfxProjectId字段"
fi
else
echo "✗ 查询失败"
fi
# 5. 测试查询项目详情
echo ""
echo "[5/5] 测试查询项目详情..."
PROJECT_ID=$(curl -s -X GET "$BASE_URL/ccdi/project/list?pageNum=1&pageSize=1" \
-H "Authorization: Bearer $TOKEN" | grep -o '"projectId":[0-9]*' | head -1 | sed 's/"projectId"://')
if [ -n "$PROJECT_ID" ]; then
RESPONSE=$(curl -s -X GET "$BASE_URL/ccdi/project/$PROJECT_ID" \
-H "Authorization: Bearer $TOKEN")
if echo "$RESPONSE" | grep -q '"lsfxProjectId"'; then
echo "✓ 项目详情包含lsfxProjectId"
else
echo "! 项目详情缺少lsfxProjectId"
fi
else
echo "! 没有找到项目"
fi
echo ""
echo "=========================================="
echo "测试完成!"
echo "=========================================="