Trainer_LLM/llm-api/test_llm_api_wiki.sh

52 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Basis-URL (ggf. anpassen)
BASE_URL="${BASE_URL:-http://localhost:8000}"
echo "1?? MediaWiki Health-Check…"
HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' "${BASE_URL}/import/wiki/health")
if [[ "$HTTP_CODE" != "200" ]]; then
echo "? Health-Check fehlgeschlagen (HTTP $HTTP_CODE)"
exit 1
fi
echo "? Health-Check OK (HTTP 200)"
echo
echo "2?? Exercise-CRU-Test (Stichprobe)…"
# Erst löschen, falls Test-Exercise bereits existiert
curl -s -X DELETE "${BASE_URL}/delete-collection?collection=exercises" > /dev/null || true
# Create
CREATE_RESP=$(curl -s -X POST "${BASE_URL}/exercise" \
-H 'Content-Type: application/json' \
-d '{"title":"TestÜbung","summary":"Zusammenfassung","short_description":"Kurz","discipline":"Test","age_group":"Erwachsene","target_group":"Tester","min_participants":1,"duration_minutes":5,"category":"test","purpose":"Test","execution":"Ausführen","notes":"","preparation":"","method":"","equipment":[]}' )
echo "? Create-Response: $CREATE_RESP"
# List
LIST_RESP=$(curl -s "${BASE_URL}/exercise?discipline=Test")
if [[ "$LIST_RESP" != *"TestÜbung"* ]]; then
echo "? Exercise-List nicht wie erwartet"
exit 1
fi
echo "? Exercise angelegt und gefunden"
echo
echo "3?? Search-Endpoint-Test…"
# Indexiere manuell einen Chunk
curl -s -X POST "${BASE_URL}/embed" \
-H 'Content-Type: application/json' \
-d '{"chunks":[{"text":"Hallo Welt","source":"test","version":"1","title":"T","related_to":"","tags":[],"owner":""}],"collection":"default"}' \
> /dev/null
SEARCH_RESP=$(curl -s "${BASE_URL}/search?query=Hallo")
if [[ "$SEARCH_RESP" != *"Hallo Welt"* ]]; then
echo "? Search-Ergebnis nicht korrekt"
exit 1
fi
echo "? Search liefert erwarteten Treffer"
echo
echo "? Alle Tests erfolgreich durchgelaufen."