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 tests/test_wp06_decision.py Flexibler Integrationstest für WP-06
Führt eine Entscheidungsfrage gegen die API aus. 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 requests
import json import json
import sys import sys
import argparse 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}" api_url = f"http://localhost:{port}"
print(f"🔵 Starte WP-06 Decision Engine Test gegen {api_url}...\n") 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 # 1. Intent Check
intent = data.get("intent", "UNKNOWN") intent = data.get("intent", "UNKNOWN")
print(f"\n1. INTENT DETECTION: [{'' if intent == 'DECISION' else ''}]") match = intent == expected_intent
print(f" Erkannt: {intent}") print(f"\n1. INTENT DETECTION: [{'' if match else ''}]")
print(f" Erkannt: {intent} (Erwartet: {expected_intent})")
# 2. Source Check (Strategic Retrieval) # 2. Source Check (Strategic Retrieval)
sources = data.get("sources", []) sources = data.get("sources", [])
@ -52,11 +53,10 @@ def test_decision_engine(query: str, port: int):
# Marker für Ausgabe # Marker für Ausgabe
marker = " " 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 marker = "🎯" # Strategischer Treffer
strategic_hits.append(title) strategic_hits.append(title)
elif node_type in ["decision", "experience"]:
marker = "🧠"
else: else:
marker = "📄" marker = "📄"
fact_hits.append(title) fact_hits.append(title)
@ -67,7 +67,7 @@ def test_decision_engine(query: str, port: int):
if strategic_hits: if strategic_hits:
print(f"\n ✅ ERFOLG: Strategische Quellen geladen: {strategic_hits}") print(f"\n ✅ ERFOLG: Strategische Quellen geladen: {strategic_hits}")
else: 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) # 3. Reasoning Check (LLM Antwort)
answer = data.get("answer", "") answer = data.get("answer", "")
@ -91,7 +91,10 @@ if __name__ == "__main__":
parser.add_argument("--port", "-p", type=int, parser.add_argument("--port", "-p", type=int,
default=8002, default=8002,
help="Der Port der API (Default: 8002 für Dev).") 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() args = parser.parse_args()
test_decision_engine(args.query, args.port) test_decision_engine(args.query, args.port, args.expect)