77 lines
1.7 KiB
Bash
Executable File
77 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=== 快速测试:服务器重启后数据加载 ==="
|
|
|
|
# 清理
|
|
rm -f gomog_test.db
|
|
|
|
# 创建配置
|
|
cat > config_test.yaml <<EOF
|
|
server:
|
|
http_addr: ":8081"
|
|
tcp_addr: ""
|
|
database:
|
|
type: "sqlite"
|
|
dsn: "gomog_test.db"
|
|
log:
|
|
level: "info"
|
|
EOF
|
|
|
|
echo "1. 启动服务器并插入 2 条数据..."
|
|
./bin/gomog -config config_test.yaml &
|
|
PID1=$!
|
|
sleep 3
|
|
|
|
curl -s -X POST http://localhost:8081/api/v1/testdb/users/insert \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"documents": [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]}' | jq -s '.[0]'
|
|
|
|
sleep 1
|
|
|
|
echo ""
|
|
echo "2. 查询数据(应该有 2 条)..."
|
|
curl -s -X POST http://localhost:8081/api/v1/testdb/users/find \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"filter": {}}' | jq -s '.[0].cursor.firstBatch | length'
|
|
|
|
echo ""
|
|
echo "3. 停止服务器..."
|
|
kill $PID1
|
|
sleep 2
|
|
|
|
echo ""
|
|
echo "4. 重启服务器..."
|
|
./bin/gomog -config config_test.yaml &
|
|
PID2=$!
|
|
sleep 3
|
|
|
|
echo ""
|
|
echo "5. 查询数据(重启后,应该仍有 2 条)..."
|
|
COUNT=$(curl -s -X POST http://localhost:8081/api/v1/testdb/users/find \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"filter": {}}' | jq -s '.[0].cursor.firstBatch | length')
|
|
|
|
echo "查询到的数据条数:$COUNT"
|
|
|
|
if [ "$COUNT" -eq 2 ]; then
|
|
echo ""
|
|
echo "✅ 成功!服务器重启后正确加载了数据库中的数据"
|
|
RESULT="SUCCESS"
|
|
else
|
|
echo ""
|
|
echo "❌ 失败!期望 2 条数据,实际 $COUNT 条"
|
|
RESULT="FAILED"
|
|
fi
|
|
|
|
echo ""
|
|
echo "6. 查看数据库实际内容..."
|
|
sqlite3 gomog_test.db "SELECT json_extract(data, '$.name') as name FROM users;"
|
|
|
|
echo ""
|
|
echo "7. 清理..."
|
|
kill $PID2
|
|
rm -f config_test.yaml
|
|
|
|
echo ""
|
|
echo "=== 测试结果:$RESULT ==="
|