Files
linux-mirror-browser/test_setstatus.sh

63 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# 测试 /api/setstatus POST 接口的shell脚本
BASE_URL="http://localhost:3000"
API_ENDPOINT="/api/setstatus"
echo "=== 测试 /api/setstatus POST 接口 ==="
echo
# 测试1: 正常情况 - s="ok", time=当前时间
echo "测试1: s='ok', time=当前时间"
CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")
echo "请求参数: s='ok', time='$CURRENT_TIME'"
RESPONSE1=$(curl -s -X POST "$BASE_URL$API_ENDPOINT" \
-H "Content-Type: application/json" \
-d "{\"s\": \"ok\", \"time\": \"$CURRENT_TIME\"}")
echo "响应: $RESPONSE1"
echo
# 测试2: 检查status.json是否更新成功
echo "检查status.json内容:"
if [ -f "src/db/status.json" ]; then
cat src/db/status.json
else
echo "status.json文件不存在"
fi
echo
# 测试3: 缺少s参数
echo "测试3: 缺少s参数"
RESPONSE3=$(curl -s -X POST "$BASE_URL$API_ENDPOINT" \
-H "Content-Type: application/json" \
-d "{\"time\": \"$CURRENT_TIME\"}")
echo "响应: $RESPONSE3"
echo
# 测试4: 缺少time参数
echo "测试4: 缺少time参数"
RESPONSE4=$(curl -s -X POST "$BASE_URL$API_ENDPOINT" \
-H "Content-Type: application/json" \
-d "{\"s\": \"ok\"}")
echo "响应: $RESPONSE4"
echo
# 测试5: s不等于ok
echo "测试5: s不等于ok"
TEST_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")
RESPONSE5=$(curl -s -X POST "$BASE_URL$API_ENDPOINT" \
-H "Content-Type: application/json" \
-d "{\"s\": \"error\", \"time\": \"$TEST_TIME\"}")
echo "响应: $RESPONSE5"
echo
# 测试6: 空参数
echo "测试6: 空参数"
RESPONSE6=$(curl -s -X POST "$BASE_URL$API_ENDPOINT" \
-H "Content-Type: application/json" \
-d "{}")
echo "响应: $RESPONSE6"
echo
echo "=== 测试完成 ==="