#!/usr/bin/env bash # Regenerates every file under docs/output/ from a real run. # Usage: ./scripts/run-all.sh set -eu cd "$(dirname "$0")/.." echo "==> mvn test" { echo "==========================================================================" echo " jwt-auth-demo - test run" echo "==========================================================================" echo mvn -B test 2>&1 | grep -E '^\[INFO\] (Running|Tests run)|^\[ERROR\]|BUILD (SUCCESS|FAILURE)' \ | sed 's/^\[INFO\] //' echo echo "JDK : $(java -version 2>&1 | grep -v JAVA_TOOL | head -1)" echo "Boot : 4.1.1" echo "Security : 7.1.1" } > docs/output/test-run.txt echo "==> hs256 (manual filter) transcript" ./scripts/run.sh hs256 >/dev/null && ./scripts/curl-transcript.sh > docs/output/curl-transcript-hs256.txt 2>&1 echo "==> rs256 transcript" ./scripts/run.sh rs256 >/dev/null && ./scripts/rs256-demo.sh > docs/output/rs256-demo.txt 2>&1 echo "==> csrf vs permitAll" ./scripts/run.sh hs256,csrfon >/dev/null && ./scripts/csrf-demo.sh > docs/output/csrf-vs-permitall.txt 2>&1 echo "==> expiry and clock skew (takes ~70s)" ./scripts/run.sh hs256,shortlived >/dev/null && ./scripts/expiry-demo.sh > docs/output/expiry-and-clock-skew.txt 2>&1 echo "==> built-in resource server, without and with the token_type validator" ./scripts/run.sh hs256,resourceserver >/dev/null \ && ./scripts/resource-server-demo.sh http://localhost:8080 "hs256,resourceserver" \ > docs/output/resource-server-loose.txt 2>&1 ./scripts/run.sh hs256,resourceserver,strict >/dev/null \ && ./scripts/resource-server-demo.sh http://localhost:8080 "hs256,resourceserver,strict" \ > docs/output/resource-server-strict.txt 2>&1 for p in $(ps -eo pid,cmd | grep '[J]wtAuthDemoApplication' | awk '{print $1}'); do kill -9 "$p" || true; done echo "==> done. docs/output/ regenerated."