tests/run_e2e_roundtrip.sh hinzugefügt
Some checks failed
Deploy mindnet to llm-node / deploy (push) Failing after 1s
Some checks failed
Deploy mindnet to llm-node / deploy (push) Failing after 1s
This commit is contained in:
parent
8a07010704
commit
9ee3bb9007
93
tests/run_e2e_roundtrip.sh
Normal file
93
tests/run_e2e_roundtrip.sh
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# tests/run_e2e_roundtrip.sh
|
||||||
|
# End-to-End Testpipeline für mindnet WP-03
|
||||||
|
#
|
||||||
|
# Schritte:
|
||||||
|
# 1) Qdrant truncate (Prefix!)
|
||||||
|
# 2) Import (Apply + Purge) => Create-Fall
|
||||||
|
# 3) Import (Apply - ohne Änderungen) => Idempotenz
|
||||||
|
# 4) Hash-Reporter (Fehlende Hash-Varianten)
|
||||||
|
# 5) Export nach _exportVault
|
||||||
|
# 6) Vergleich Vault vs. Export (Body-Fokus)
|
||||||
|
# 7) Sync-Deletes: Eine Datei temporär „entfernen“, Dry-Run + Apply, dann zurückrollen
|
||||||
|
#
|
||||||
|
# Aufrufe:
|
||||||
|
# ./tests/run_e2e_roundtrip.sh [--vault ./test_vault] [--prefix mindnet]
|
||||||
|
#
|
||||||
|
# ENV:
|
||||||
|
# COLLECTION_PREFIX (Default mindnet)
|
||||||
|
|
||||||
|
VAULT="./test_vault"
|
||||||
|
PREFIX="${COLLECTION_PREFIX:-mindnet}"
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--vault) VAULT="$2"; shift 2;;
|
||||||
|
--prefix) PREFIX="$2"; shift 2;;
|
||||||
|
*) echo "Unbekannte Option: $1" >&2; exit 2;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "== E2E Roundtrip =="
|
||||||
|
echo "Vault: $VAULT"
|
||||||
|
echo "Prefix: $PREFIX"
|
||||||
|
echo
|
||||||
|
|
||||||
|
export COLLECTION_PREFIX="$PREFIX"
|
||||||
|
|
||||||
|
echo "-- 1) Qdrant truncate"
|
||||||
|
python3 -m scripts.reset_qdrant --mode truncate --prefix "$PREFIX"
|
||||||
|
python3 -m scripts.debug_qdrant_state --prefix "$PREFIX"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 2) Import (Create-Fall)"
|
||||||
|
python3 -m scripts.import_markdown --vault "$VAULT" --apply --purge-before-upsert --prefix "$PREFIX"
|
||||||
|
python3 -m scripts.debug_qdrant_state --prefix "$PREFIX"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 3) Import (Idempotenz: keine Änderungen erwartet)"
|
||||||
|
python3 -m scripts.import_markdown --vault "$VAULT" --apply --prefix "$PREFIX"
|
||||||
|
python3 -m scripts.debug_qdrant_state --prefix "$PREFIX"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 4) Hash-Reporter"
|
||||||
|
python3 -m scripts.report_hashes --prefix "$PREFIX" || true
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 5) Export nach _exportVault"
|
||||||
|
OUT_DIR="_exportVault"
|
||||||
|
rm -rf "$OUT_DIR"
|
||||||
|
python3 -m scripts.export_markdown --out "$OUT_DIR" --prefix "$PREFIX"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 6) Vergleich Vault vs. Export (Body-Fokus)"
|
||||||
|
python3 tests/compare_vaults.py --src "$VAULT" --dst "$OUT_DIR" --focus body
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "-- 7) Sync-Deletes (simuliert)"
|
||||||
|
# wähle eine Datei und verschiebe sie temporär weg
|
||||||
|
TMP_DIR="$(mktemp -d)"
|
||||||
|
SAMPLE_MD="$(find "$VAULT" -type f -name '*.md' | head -n 1 || true)"
|
||||||
|
if [[ -n "${SAMPLE_MD:-}" ]]; then
|
||||||
|
mv "$SAMPLE_MD" "$TMP_DIR/"
|
||||||
|
echo "Temporär entfernt: $(basename "$SAMPLE_MD")"
|
||||||
|
|
||||||
|
echo " 7a) Dry-Run"
|
||||||
|
python3 -m scripts.import_markdown --vault "$VAULT" --sync-deletes --prefix "$PREFIX"
|
||||||
|
echo " 7b) Apply"
|
||||||
|
python3 -m scripts.import_markdown --vault "$VAULT" --sync-deletes --apply --prefix "$PREFIX"
|
||||||
|
|
||||||
|
# zurückrollen
|
||||||
|
mv "$TMP_DIR/$(basename "$SAMPLE_MD")" "$SAMPLE_MD"
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
|
||||||
|
echo " 7c) Re-Import (wieder anlegen)"
|
||||||
|
python3 -m scripts.import_markdown --vault "$VAULT" --apply --prefix "$PREFIX"
|
||||||
|
python3 -m scripts.debug_qdrant_state --prefix "$PREFIX"
|
||||||
|
else
|
||||||
|
echo "Hinweis: Keine MD-Datei im Vault gefunden – Sync-Deletes übersprungen."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== E2E Roundtrip abgeschlossen =="
|
||||||
Loading…
Reference in New Issue
Block a user