#!/bin/sh
# Jetable. Vérifie la matrice d'accès de /admin/people sur le serveur de dev,
# avec une vraie session pour chacun des trois niveaux.
set -eu

BASE=http://127.0.0.1:1355
HOST='Host: advmfr.localhost:1355'
JAR=$(mktemp -d)

signin() {
  curl -s -c "$JAR/$1.txt" -H "$HOST" -H 'Content-Type: application/json' \
    -d "{\"username\":\"$1\",\"password\":\"$2\"}" \
    "$BASE/api/auth/sign-in/username" > /dev/null
}

code() {
  curl -s -o /dev/null -w '%{http_code} %{redirect_url}' -b "$JAR/$1.txt" \
    -H "$HOST" "$BASE$2"
}

signin narin admin1
signin malai manager1
signin nattikan staff1

for who in narin malai nattikan; do
  for route in /admin/people '/admin/people?q=narin' /admin/people/nope; do
    printf '%-10s %-28s %s\n' "$who" "$route" "$(code "$who" "$route")"
  done
done

rm -rf "$JAR"
