52 lines
1.8 KiB
Bash
Executable File
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."
|