#!/usr/bin/env bash
set -u

FOTO="${1:-}"

if [ -z "$FOTO" ]; then
    echo "Uso:"
    echo "./testar_antes_do_app.sh /caminho/foto.jpg"
    exit 1
fi

PYTHON="/opt/pele-ai/venv/bin/python"
ANALISADOR="/opt/pele-ai/analisador_local.py"

SAIDA="$(mktemp)"
ERRO="$(mktemp)"

"$PYTHON" "$ANALISADOR" "$FOTO" \
    >"$SAIDA" \
    2>"$ERRO"

CODIGO=$?

echo "Código de saída: $CODIGO"

echo
echo "STDOUT:"
cat "$SAIDA"

echo
echo "STDERR:"
cat "$ERRO"

echo
echo "VALIDAÇÃO DO JSON:"

python3 - "$SAIDA" <<'PY'
import json
import pathlib
import sys

texto = pathlib.Path(
    sys.argv[1]
).read_text(
    encoding="utf-8",
    errors="replace"
).strip()

try:
    dados = json.loads(texto)

    print("JSON VÁLIDO")
    print("sucesso:", dados.get("sucesso"))
    print("mensagem:", dados.get("mensagem"))
    print("motor:", dados.get("motor"))
    print("etapa:", dados.get("etapa"))

except Exception as erro:
    print("JSON INVÁLIDO:", erro)
PY

rm -f "$SAIDA" "$ERRO"
