Files
chinese-family-tree-2/create-test-tree.sh
T
freedakgmail e92884ae53 0.0.1.0
2025-11-23 03:07:39 +08:00

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 个家族树了"