ciyidogan commited on
Commit
1cf642c
·
verified ·
1 Parent(s): a06a7a8

Update intent_test_runner.py

Browse files
Files changed (1) hide show
  1. intent_test_runner.py +69 -69
intent_test_runner.py CHANGED
@@ -1,70 +1,70 @@
1
- import os
2
- import requests
3
- from log import log
4
-
5
- BASE_URL = "http://localhost:7860"
6
- MOCK_BASE = os.getenv("MOCK_BASE_URL") # Örnek: https://abc123.ngrok.io
7
-
8
- test_results = []
9
-
10
- def assert_test(name, actual, expected_substring, explanation=None):
11
- if explanation:
12
- log(f"🧪 TEST: {name} → {explanation}")
13
- actual_str = str(actual)
14
- if expected_substring in actual_str:
15
- log(f"[TEST] {name:<45} ✅")
16
- test_results.append((name, True))
17
- else:
18
- log(f"[TEST] {name:<45} ❌ — Beklenen: {expected_substring}, Gelen: {actual_str[:100]}...")
19
- test_results.append((name, False))
20
-
21
- def summarize_tests():
22
- total = len(test_results)
23
- success = sum(1 for _, ok in test_results if ok)
24
- fail = total - success
25
- log("🧾 TEST SONUCU ÖZETİ")
26
- log(f"🔢 Toplam Test : {total}")
27
- log(f"✅ Başarılı : {success}")
28
- log(f"❌ Başarısız : {fail}")
29
-
30
- def run_all_tests():
31
- try:
32
- log("🚀 Test süreci başlatıldı.")
33
- response = requests.post(f"{BASE_URL}/start_chat?project_name=project1")
34
- session_id = response.json().get("session_id")
35
- headers = {"X-Session-ID": session_id}
36
-
37
- # 1. LLM fallback testi (intent bulunamadığında)
38
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "bilinmeyen bir soru"}, headers=headers)
39
- assert_test("LLM fallback", r.json(), "maalesef")
40
-
41
- # 2. Eksik parametre testi (döviz kuru)
42
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "döviz kuru nedir"}, headers=headers)
43
- assert_test("Eksik parametre — currency", r.json(), "Lütfen currency")
44
-
45
- # 3. Eksik parametre tamamlanınca tekrar deneme
46
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "dolar"}, headers=headers)
47
- assert_test("Parametre tamamlandı — dolar", r.json(), "dolar kuru şu an")
48
-
49
- # 4. Geçersiz parametre validasyonu
50
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "yenidolar kuru nedir"}, headers=headers)
51
- assert_test("Geçersiz parametre — currency", r.json(), "geçerli bir döviz")
52
-
53
- # 5. Konu değişikliği → awaiting reset
54
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "hava nasıl"}, headers=headers)
55
- assert_test("Konu değişikliği sonrası fallback", r.json(), "maalesef")
56
-
57
- # 6. Yol durumu testi (iki parametre eksik veya biri eksik)
58
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "yol durumu"}, headers=headers)
59
- assert_test("Eksik parametre — from_location", r.json(), "Lütfen from_location")
60
-
61
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "Ankara"}, headers=headers)
62
- assert_test("Eksik parametre — to_location", r.json(), "Lütfen to_location")
63
-
64
- r = requests.post(f"{BASE_URL}/chat", json={"user_input": "İstanbul"}, headers=headers)
65
- assert_test("Parametre tamamlandı — yol durumu", r.json(), "trafik açık")
66
-
67
- summarize_tests()
68
-
69
- except Exception as e:
70
  log(f"❌ run_all_tests sırasında hata oluştu: {e}")
 
1
+ import os
2
+ import requests
3
+ from log import log
4
+
5
+ BASE_URL = "https://ucsturkey-inference-test.hf.space"
6
+ MOCK_BASE = os.getenv("MOCK_BASE_URL") # Örnek: https://abc123.ngrok.io
7
+
8
+ test_results = []
9
+
10
+ def assert_test(name, actual, expected_substring, explanation=None):
11
+ if explanation:
12
+ log(f"🧪 TEST: {name} → {explanation}")
13
+ actual_str = str(actual)
14
+ if expected_substring in actual_str:
15
+ log(f"[TEST] {name:<45} ✅")
16
+ test_results.append((name, True))
17
+ else:
18
+ log(f"[TEST] {name:<45} ❌ — Beklenen: {expected_substring}, Gelen: {actual_str[:100]}...")
19
+ test_results.append((name, False))
20
+
21
+ def summarize_tests():
22
+ total = len(test_results)
23
+ success = sum(1 for _, ok in test_results if ok)
24
+ fail = total - success
25
+ log("🧾 TEST SONUCU ÖZETİ")
26
+ log(f"🔢 Toplam Test : {total}")
27
+ log(f"✅ Başarılı : {success}")
28
+ log(f"❌ Başarısız : {fail}")
29
+
30
+ def run_all_tests():
31
+ try:
32
+ log("🚀 Test süreci başlatıldı.")
33
+ response = requests.post(f"{BASE_URL}/start_chat?project_name=project1")
34
+ session_id = response.json().get("session_id")
35
+ headers = {"X-Session-ID": session_id}
36
+
37
+ # 1. LLM fallback testi (intent bulunamadığında)
38
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "bilinmeyen bir soru"}, headers=headers)
39
+ assert_test("LLM fallback", r.json(), "maalesef")
40
+
41
+ # 2. Eksik parametre testi (döviz kuru)
42
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "döviz kuru nedir"}, headers=headers)
43
+ assert_test("Eksik parametre — currency", r.json(), "Lütfen currency")
44
+
45
+ # 3. Eksik parametre tamamlanınca tekrar deneme
46
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "dolar"}, headers=headers)
47
+ assert_test("Parametre tamamlandı — dolar", r.json(), "dolar kuru şu an")
48
+
49
+ # 4. Geçersiz parametre validasyonu
50
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "yenidolar kuru nedir"}, headers=headers)
51
+ assert_test("Geçersiz parametre — currency", r.json(), "geçerli bir döviz")
52
+
53
+ # 5. Konu değişikliği → awaiting reset
54
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "hava nasıl"}, headers=headers)
55
+ assert_test("Konu değişikliği sonrası fallback", r.json(), "maalesef")
56
+
57
+ # 6. Yol durumu testi (iki parametre eksik veya biri eksik)
58
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "yol durumu"}, headers=headers)
59
+ assert_test("Eksik parametre — from_location", r.json(), "Lütfen from_location")
60
+
61
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "Ankara"}, headers=headers)
62
+ assert_test("Eksik parametre — to_location", r.json(), "Lütfen to_location")
63
+
64
+ r = requests.post(f"{BASE_URL}/chat", json={"user_input": "İstanbul"}, headers=headers)
65
+ assert_test("Parametre tamamlandı — yol durumu", r.json(), "trafik açık")
66
+
67
+ summarize_tests()
68
+
69
+ except Exception as e:
70
  log(f"❌ run_all_tests sırasında hata oluştu: {e}")