Spaces:
Running
Running
if [ "$1" = "" ]; then | |
echo "Give me a server start cmd, example: $0 'python index.py production'" | |
exit 1 | |
fi | |
file_map="iDuSh22faxqj:6q1d i0gZ322ututi: i7tit9c:6svq i4wk2oh: iRujgdfrkza: dkbdv7:" | |
server_run_cmd="$1" | |
test_server="http://localhost:3000" | |
$server_run_cmd >/dev/null 2>&1 & | |
server_pid=$! | |
sleep 1 | |
if ! kill -0 $server_pid 2>/dev/null; then | |
echo "Starting server failed" | |
exit 1 | |
fi | |
while ! curl -sm1 $test_server >/dev/null 2>&1; do sleep 1; done | |
ln_fmt="%10s%10s%20s%15s\n" | |
printf "$ln_fmt" RET FUN FID PWD | |
has_error=0 | |
for file in $file_map; do | |
fid=${file%:*} | |
pwd=${file#*:} | |
url="$test_server/?url=https://wwbg.lanpw.com/$fid&pwd=$pwd" | |
status_code=$(curl -sm5 -o /dev/null -I -w "%{http_code}" "$url&type=down") | |
ret="OK" | |
if [ "$status_code" != "302" ]; then | |
ret="FAILED" | |
has_error=1 | |
fi | |
printf "$ln_fmt" "$ret" DLOAD "$fid" "$pwd" | |
ret="OK" | |
json_repl=$(curl -sm5 "$url&type=json") | |
code=$(echo "$json_repl" | grep -oP '"code":\K[^,]*') | |
if [ "$code" != "200" ]; then | |
ret="FAILED" | |
has_error=1 | |
fi | |
printf "$ln_fmt" "$ret" GJSON "$fid" "$pwd" | |
done | |
if [ $has_error -eq 0 ]; then | |
echo "All test passed" | |
fi | |
kill $server_pid 1>/dev/null 2>&1 | |
exit $has_error | |