#!/usr/bin/env bash

set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TESTS_DIR="$ROOT_DIR/tests"

HOST="${GHCP_TEST_HOST:-127.0.0.1}"
PORT="${GHCP_TEST_ANTHROPIC_PORT:-4011}"
API_KEY="${TEST_API_KEY:-compat-test-key}"
BASE_URL="${TEST_ANTHROPIC_BASE_URL:-http://${HOST}:${PORT}}"

SERVER_LOG_DIR="$ROOT_DIR/.tmp"
SERVER_LOG_FILE="$SERVER_LOG_DIR/coproxy-anthropic-compat-server.log"
SERVER_PID=""

require_cmd() {
  if ! command -v "$1" >/dev/null 2>&1; then
    echo "ERROR: missing required command: $1" >&2
    exit 1
  fi
}

cleanup() {
  if [ -n "$SERVER_PID" ] && kill -0 "$SERVER_PID" >/dev/null 2>&1; then
    kill "$SERVER_PID" >/dev/null 2>&1 || true
    wait "$SERVER_PID" 2>/dev/null || true
  fi
}

trap cleanup EXIT INT TERM

require_cmd uv
require_cmd cargo
require_cmd curl

mkdir -p "$SERVER_LOG_DIR"

echo "==> Verifying GHCP 