#!/bin/bash
# Manda a un servidor de Kallpa una mezcla de solicitudes buenas y malas, para
# tener algo que medir en el log. Uso: trafico.sh [url]   (localhost:3000 por omisión)
BASE=${1:-http://localhost:3000}
DAY=$(TZ=America/Lima date -d '+3 days' +%F)
get() { curl -s -o /dev/null "$BASE$1"; }
book() {
  curl -s -o /dev/null -X POST "$BASE/api/bookings" -H 'content-type: application/json' \
    -d "{\"courtId\":$1,\"memberId\":$2,\"date\":\"$DAY\",\"startHour\":$3,\"hours\":1,\"teamName\":\"Equipo $3\"}"
}
for round in 1 2 3 4 5 6 7 8 9 10; do
  get /
  get /api/courts
  get "/api/courts/1/availability?date=$DAY"
  get "/api/courts/3/availability?date=$DAY"
  get /health
done
for hour in 7 8 9 10 11 12; do book 2 1 "$hour"; done   # reservas buenas
book 2 1 7                                              # 409: la hora ya está tomada
book 2 1 7                                              # 409 otra vez
book 2 1 23                                             # 422: fuera de horario
get /api/courts/99/availability                         # 400: falta la fecha
get /no-existe                                          # 404
get /api/courts/%ZZ/availability                        # 500: un error nuestro
get /api/courts/%ZZ/availability
get /api/members/%ZZ/bookings
