65 lines
2.2 KiB
Bash
Executable File
65 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🌳 为 test@example.com 创建测试家族树"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
BASE_URL="http://localhost:3000"
|
|
TEST_EMAIL="test@example.com"
|
|
TEST_PASSWORD="password123"
|
|
|
|
# 1. 获取 CSRF token
|
|
echo "1️⃣ 获取 CSRF token..."
|
|
CSRF_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt "$BASE_URL/api/auth/csrf")
|
|
CSRF_TOKEN=$(echo $CSRF_RESPONSE | grep -o '"csrfToken":"[^"]*"' | cut -d'"' -f4)
|
|
echo "CSRF Token: $CSRF_TOKEN"
|
|
echo ""
|
|
|
|
# 2. 登录
|
|
echo "2️⃣ 登录 $TEST_EMAIL..."
|
|
LOGIN_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt -X POST "$BASE_URL/api/auth/callback/credentials" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"email\":\"$TEST_EMAIL\",\"password\":\"$TEST_PASSWORD\",\"csrfToken\":\"$CSRF_TOKEN\",\"callbackUrl\":\"$BASE_URL\",\"json\":true}")
|
|
|
|
echo "登录成功"
|
|
echo ""
|
|
|
|
# 3. 创建家族树
|
|
echo "3️⃣ 创建家族树..."
|
|
CREATE_TREE_RESPONSE=$(curl -s -b cookies.txt -X POST "$BASE_URL/api/trees" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "测试家族树",
|
|
"description": "用于测试用户信息显示"
|
|
}')
|
|
|
|
echo "创建响应:"
|
|
echo "$CREATE_TREE_RESPONSE" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$CREATE_TREE_RESPONSE"
|
|
echo ""
|
|
|
|
# 4. 再创建一个
|
|
echo "4️⃣ 创建第二个家族树..."
|
|
CREATE_TREE_RESPONSE2=$(curl -s -b cookies.txt -X POST "$BASE_URL/api/trees" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "李氏家族",
|
|
"description": "李氏家族树"
|
|
}')
|
|
|
|
echo "创建响应:"
|
|
echo "$CREATE_TREE_RESPONSE2" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$CREATE_TREE_RESPONSE2"
|
|
echo ""
|
|
|
|
# 5. 获取家族树列表
|
|
echo "5️⃣ 获取家族树列表..."
|
|
TREES_RESPONSE=$(curl -s -b cookies.txt "$BASE_URL/api/trees")
|
|
echo "$TREES_RESPONSE" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$TREES_RESPONSE"
|
|
echo ""
|
|
|
|
# 清理
|
|
rm -f cookies.txt
|
|
|
|
echo "✅ 测试家族树创建完成!"
|
|
echo ""
|
|
echo "现在刷新设置页面,应该可以看到 2 个家族树了"
|