neuer Test für Feedback (WP04c)
This commit is contained in:
parent
ab60106fb9
commit
f98eb8fc16
65
tests/test_feedback_smoke.py
Normal file
65
tests/test_feedback_smoke.py
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
import requests
|
||||
import json
|
||||
import sys
|
||||
import time
|
||||
|
||||
# Konfiguration
|
||||
BASE_URL = "http://localhost:8002"
|
||||
QUERY_URL = f"{BASE_URL}/query"
|
||||
FEEDBACK_URL = f"{BASE_URL}/feedback"
|
||||
|
||||
def run_test():
|
||||
print(f"--- 1. Sende Suchanfrage an {QUERY_URL} ---")
|
||||
query_payload = {
|
||||
"query": "mindnet architecture",
|
||||
"mode": "hybrid",
|
||||
"top_k": 2,
|
||||
"explain": True # Wir wollen auch Breakdown loggen
|
||||
}
|
||||
|
||||
try:
|
||||
r = requests.post(QUERY_URL, json=query_payload)
|
||||
r.raise_for_status()
|
||||
res_data = r.json()
|
||||
except Exception as e:
|
||||
print(f"ERROR bei Suche: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
query_id = res_data.get("query_id")
|
||||
results = res_data.get("results", [])
|
||||
|
||||
if not query_id:
|
||||
print("FAIL: Keine query_id in der Antwort erhalten!")
|
||||
sys.exit(1)
|
||||
|
||||
if not results:
|
||||
print("WARNUNG: Keine Treffer gefunden, Test kann Feedback nur simuliert senden.")
|
||||
target_node_id = "fake-node-id"
|
||||
else:
|
||||
target_node_id = results[0].get("node_id")
|
||||
|
||||
print(f"SUCCESS: Suche OK. Erhaltene Query-ID: {query_id}")
|
||||
print(f"Target Node für Feedback: {target_node_id}")
|
||||
|
||||
# Kurze Pause, damit Background-Task Zeit hat zu schreiben (nur für Log-Check relevant)
|
||||
time.sleep(0.5)
|
||||
|
||||
print(f"\n--- 2. Sende Feedback an {FEEDBACK_URL} ---")
|
||||
feedback_payload = {
|
||||
"query_id": query_id,
|
||||
"node_id": target_node_id,
|
||||
"score": 1,
|
||||
"comment": "Automatisierter Smoke-Test: Dieser Treffer war hilfreich."
|
||||
}
|
||||
|
||||
try:
|
||||
r_fb = requests.post(FEEDBACK_URL, json=feedback_payload)
|
||||
r_fb.raise_for_status()
|
||||
print(f"SUCCESS: Feedback gesendet. Status: {r_fb.status_code}")
|
||||
print(f"Response: {r_fb.json()}")
|
||||
except Exception as e:
|
||||
print(f"ERROR bei Feedback: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_test()
|
||||
Loading…
Reference in New Issue
Block a user