neues Testscript

This commit is contained in:
Lars 2025-12-09 13:22:34 +01:00
parent 9cc16bb220
commit 972cd0dfac

View File

@ -1,14 +1,14 @@
"""
tests/test_wp06_decision.py Flexibler Integrationstest für WP-06
Führt eine Entscheidungsfrage gegen die API aus.
Unterstützt Parameter für Frage und Port.
Unterstützt Parameter für Frage, Port und erwarteten Intent.
"""
import requests
import json
import sys
import argparse
def test_decision_engine(query: str, port: int):
def test_decision_engine(query: str, port: int, expected_intent: str):
api_url = f"http://localhost:{port}"
print(f"🔵 Starte WP-06 Decision Engine Test gegen {api_url}...\n")
@ -31,8 +31,9 @@ def test_decision_engine(query: str, port: int):
# 1. Intent Check
intent = data.get("intent", "UNKNOWN")
print(f"\n1. INTENT DETECTION: [{'' if intent == 'DECISION' else ''}]")
print(f" Erkannt: {intent}")
match = intent == expected_intent
print(f"\n1. INTENT DETECTION: [{'' if match else ''}]")
print(f" Erkannt: {intent} (Erwartet: {expected_intent})")
# 2. Source Check (Strategic Retrieval)
sources = data.get("sources", [])
@ -52,11 +53,10 @@ def test_decision_engine(query: str, port: int):
# Marker für Ausgabe
marker = " "
if node_type in ["value", "principle", "goal"]:
# Wir prüfen hier generisch auf alle strategischen Typen
if node_type in ["value", "principle", "goal", "experience", "belief", "profile"]:
marker = "🎯" # Strategischer Treffer
strategic_hits.append(title)
elif node_type in ["decision", "experience"]:
marker = "🧠"
else:
marker = "📄"
fact_hits.append(title)
@ -67,7 +67,7 @@ def test_decision_engine(query: str, port: int):
if strategic_hits:
print(f"\n ✅ ERFOLG: Strategische Quellen geladen: {strategic_hits}")
else:
print(f"\n ⚠️ WARNUNG: Keine strategischen Quellen (Value/Principle/Goal) gefunden.")
print(f"\n INFO: Keine strategischen Quellen (Value/Experience/etc.) gefunden.")
# 3. Reasoning Check (LLM Antwort)
answer = data.get("answer", "")
@ -91,7 +91,10 @@ if __name__ == "__main__":
parser.add_argument("--port", "-p", type=int,
default=8002,
help="Der Port der API (Default: 8002 für Dev).")
parser.add_argument("--expect", "-e", type=str,
default="DECISION",
help="Der erwartete Intent (z.B. DECISION, EMPATHY).")
args = parser.parse_args()
test_decision_engine(args.query, args.port)
test_decision_engine(args.query, args.port, args.expect)