kumar6591/data-quality-env
0
1#!/usr/bin/env bash2set -euo pipefail3 4BASE_URL="${1:-http://localhost:7860}"5PY_BIN="${PY_BIN:-}"6 7if [[ -z "${PY_BIN}" ]]; then8 if command -v python3 >/dev/null 2>&1; then9 PY_BIN="python3"10 elif command -v python >/dev/null 2>&1; then11 PY_BIN="python"12 else13 echo "No Python interpreter found (python3/python)." >&214 exit 12715 fi16fi17 18echo "[1/6] Health check"19curl -fsS "${BASE_URL}/health" | grep -q '"status":"ok"' && echo " OK"20 21echo "[2/6] Reset check"22RESET_JSON="$(curl -fsS -X POST "${BASE_URL}/reset" \23 -H 'content-type: application/json' \24 -d '{"task_id":1,"seed":42}')"25echo "${RESET_JSON}" | grep -q '"task_id":1' && echo " OK"26 27echo "[3/6] Step query check"28STEP_JSON="$(curl -fsS -X POST "${BASE_URL}/step" \29 -H 'content-type: application/json' \30 -d '{"action":{"action_type":"query","sql":"SELECT COUNT(*) AS n FROM customers"}}')"31echo "${STEP_JSON}" | grep -q '"reward"' && echo " OK"32 33echo "[4/6] SQL safety guard check (DROP blocked)"34SAFE_JSON="$(curl -fsS -X POST "${BASE_URL}/step" \35 -H 'content-type: application/json' \36 -d '{"action":{"action_type":"query","sql":"DROP TABLE customers"}}')"37echo "${SAFE_JSON}" | grep -q '"value":-0.2' && echo " OK"38 39echo "[5/6] OpenEnv schema validation"40"${PY_BIN}" -m pip install -q openenv-core41if ! command -v openenv >/dev/null 2>&1; then42 echo "openenv CLI not found on PATH after installation" >&243 exit 144fi45openenv validate46echo " OK"47 48echo "[6/6] Inference dry run (optional, requires model env vars)"49if [[ -n "${API_BASE_URL:-}" && -n "${MODEL_NAME:-}" && ( -n "${HF_TOKEN:-}" || -n "${OPENAI_API_KEY:-}" ) ]]; then50 "${PY_BIN}" inference.py51else52 echo " Skipped (set API_BASE_URL, MODEL_NAME, HF_TOKEN/OPENAI_API_KEY to run)"53fi54 55echo "All checks completed."56 