52 lines
1.9 KiB
Bash
Executable File
52 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
npm run build
|
|
PORT=4399 node --env-file=.env ./dist/server/entry.mjs & SRV=$!
|
|
trap 'kill $SRV' EXIT
|
|
sleep 2
|
|
fail=0
|
|
for path in / /about /training /services /services/performance-class /services/rehab /blog /contact /admin/login /robots.txt; do
|
|
code=$(curl -s -o /dev/null -w '%{http_code}' "http://localhost:4399$path")
|
|
echo "$code $path"
|
|
[ "$code" = "200" ] || fail=1
|
|
done
|
|
code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:4399/admin)
|
|
echo "$code /admin (atteso 302)"
|
|
[ "$code" = "302" ] || fail=1
|
|
|
|
# Contenuti taggati
|
|
code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:4399/sitemap.xml)
|
|
echo "$code /sitemap.xml"
|
|
[ "$code" = "200" ] || fail=1
|
|
locs=$(curl -s http://localhost:4399/sitemap.xml | grep -c '<loc>')
|
|
echo "$locs <loc> in sitemap (atteso >= 12)"
|
|
[ "$locs" -ge 12 ] || fail=1
|
|
tags=$(curl -s http://localhost:4399/ | grep -c 'data-tag=')
|
|
echo "$tags righe con data-tag= in home (atteso >= 1)"
|
|
[ "$tags" -ge 1 ] || fail=1
|
|
badges=$(curl -s 'http://localhost:4399/?annotate=1' | grep -c 'tag-badge' || true)
|
|
echo "$badges tag-badge da anonimo con ?annotate=1 (atteso 0)"
|
|
[ "$badges" = "0" ] || fail=1
|
|
|
|
# /login pubblico raggiungibile
|
|
code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:4399/login)
|
|
echo "$code /login"
|
|
[ "$code" = "200" ] || fail=1
|
|
|
|
# Header mostra "Accedi" da anonimo
|
|
curl -s http://localhost:4399/ | grep -q 'Accedi' || { echo "FAIL: link Accedi assente"; fail=1; }
|
|
|
|
# Nessun badge tag-badge da anonimo sulla home semplice
|
|
badges2=$(curl -s http://localhost:4399/ | grep -c 'tag-badge' || true)
|
|
echo "$badges2 tag-badge da anonimo in home semplice (atteso 0)"
|
|
[ "$badges2" = "0" ] || fail=1
|
|
|
|
# Rotta gestione utenti protetta (redirect al login da anonimo)
|
|
code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:4399/admin/users)
|
|
echo "$code /admin/users (atteso 302)"
|
|
[ "$code" = "302" ] || fail=1
|
|
|
|
echo "smoke ruoli/login/inline OK"
|
|
exit $fail
|