Files
OmniRoute/tests/security/test-cloud-openai-compatible.sh
diegosouzapw 699329944e feat: initial OmniRoute release (rebranded from 9router)
This project is inspired by and originally forked from 9router by decolua
(https://github.com/decolua/9router).

Full rebrand: 9router → OmniRoute across all source code, configuration,
Docker, documentation, and assets.
2026-02-13 16:29:27 -03:00

54 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Defaults requested
BASE_URL="${BASE_URL:-https://omniroute.com/v1}"
MODEL="${MODEL:-kr/claude-sonnet-4.5}"
TIMEOUT_SECONDS="${TIMEOUT_SECONDS:-45}"
API_KEY="${API_KEY:-${CLOUD_API_KEY:-${OPENAI_API_KEY:-}}}"
ENDPOINT="${BASE_URL%/}/chat/completions"
if [[ -z "${API_KEY}" ]]; then
echo "[cloud-test] FAIL: API key not configured."
echo "[cloud-test] Set one of: API_KEY, CLOUD_API_KEY, OPENAI_API_KEY"
exit 2
fi
echo "[cloud-test] Endpoint: ${ENDPOINT}"
echo "[cloud-test] Model: ${MODEL}"
echo "[cloud-test] API key: ${API_KEY:0:8}...${API_KEY: -6}"
PAYLOAD=$(cat <<JSON
{
"model": "${MODEL}",
"stream": false,
"messages": [
{ "role": "user", "content": "Reply with exactly: CLOUD_OK" }
],
"max_tokens": 64
}
JSON
)
HTTP_CODE=$(curl -sS -m "${TIMEOUT_SECONDS}" \
-o /tmp/omniroute_cloud_test_response.json \
-w "%{http_code}" \
-X POST "${ENDPOINT}" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
--data "${PAYLOAD}" || true)
echo "[cloud-test] HTTP status: ${HTTP_CODE}"
echo "[cloud-test] Response body:"
cat /tmp/omniroute_cloud_test_response.json || true
echo
if [[ "${HTTP_CODE}" =~ ^2 ]]; then
echo "[cloud-test] PASS"
exit 0
fi
echo "[cloud-test] FAIL"
exit 1