Files
iptv-downloader/alioth-smoke
T

53 lines
1.7 KiB
Bash
Raw Normal View History

#!/bin/sh
# alioth smoke tests — exits 1 if any check fails
FAIL=0
ok() { printf " PASS %s\n" "$1"; }
fail() { printf " FAIL %s\n" "$1"; FAIL=1; }
check() {
name="$1"; url="$2"; want="${3:-200}"
code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 5 "$url")
if [ "$code" = "$want" ] || { [ "$want" = "2xx" ] && [ "${code%?}" = "20" ]; }; then
ok "$name ($code)"
else
fail "$name — got $code, want $want ($url)"
fi
}
echo "=== dashboard ==="
check "GET /" http://127.0.0.1:9090/
check "GET /style.css" http://127.0.0.1:9090/style.css
check "GET /app.js" http://127.0.0.1:9090/app.js
check "GET /api/stats" http://127.0.0.1:9090/api/stats
echo "=== iptv-dl ==="
check "GET /" http://127.0.0.1:8787/
check "GET /iptv.css" http://127.0.0.1:8787/iptv.css
check "GET /downloads" http://127.0.0.1:8787/downloads
check "GET /api/downloads" http://127.0.0.1:8787/api/downloads
check "GET /movies" http://127.0.0.1:8787/movies
check "GET /series" http://127.0.0.1:8787/series
echo "=== arr stack ==="
check "jellyfin" http://127.0.0.1:8096/jellyfin/health
check "sonarr" http://127.0.0.1:8989/sonarr/ping
check "radarr" http://127.0.0.1:7878/radarr/ping
check "prowlarr" http://127.0.0.1:9696/prowlarr/ping
check "qbit" http://127.0.0.1:8080/
echo "=== nginx proxy ==="
check "nginx /" http://127.0.0.1/
check "nginx /style.css" http://127.0.0.1/style.css
check "nginx /app.js" http://127.0.0.1/app.js
check "nginx /iptv/" http://127.0.0.1/iptv/
check "nginx /iptv/iptv.css" http://127.0.0.1/iptv/iptv.css
echo ""
if [ "$FAIL" -eq 0 ]; then
echo "ALL PASS"
else
echo "SOME FAILED"
fi
exit $FAIL