#!/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 "=== 测试完成 ==="