-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtest_api.py
More file actions
105 lines (75 loc) · 4.12 KB
/
test_api.py
File metadata and controls
105 lines (75 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/env python3
"""Test script for the FastAPI simplification endpoint."""
import requests
import json
SAMPLE_TEXT_01 = """Als Vernehmlassungsverfahren wird diejenige Phase innerhalb des Vorverfahrens der Gesetzgebung bezeichnet, in der Vorhaben des Bundes von erheblicher politischer, finanzieller, wirtschaftlicher, ökologischer, sozialer oder kultureller Tragweite auf ihre sachliche Richtigkeit, Vollzugstauglichkeit und Akzeptanz hin geprüft werden.
Die Vorlage wird zu diesem Zweck den Kantonen, den in der Bundesversammlung vertretenen Parteien, den Dachverbänden der Gemeinden, Städte und der Berggebiete, den Dachverbänden der Wirtschaft sowie weiteren, im Einzelfall interessierten Kreisen unterbreitet."""
SAMPLE_TEXT_02 = """Die Zuständigkeiten des Bundesrates sind in der Bundesverfassung in den Artikeln 180 bis 187 beschrieben. An erster Stelle steht das Stichwort „Regierungspolitik“. In diesem Begriff steckt das eigentliche „Regieren. Die Bundesverfassung sagt auch, was darunter zu verstehen ist. Laut Verfassung:
bestimmt der Bundesrat die Ziele seiner Politik und plant den Einsatz der für die Zielerreichung nötigen Ressourcen;
informiert er die Öffentlichkeit rechtzeitig über seine Tätigkeiten.
Weitere Aufgaben des Bundesrats
Rechtsetzung und Vollzug des Rechts
Der Bundesrat unterbreitet dem Parlament Vorschläge für die Umsetzung von Volksinitiativen und für Gesetze. In eigener Kompetenz erlässt er in Verordnungen die Ausführungsbestimmungen zu Gesetzen. Er vollzieht Beschlüsse der Bundesversammlung, die nicht dem Referendum unterstehen, zum Beispiel Aufträge für Planungen.
Führung der Bundesfinanzen
Der Bundesrat führt den Bundeshaushalt. Er unterbreitet dem Parlament einen mehrjährigen Finanzplan und ein jährliches Budget. Mit der Staatsrechnung legt er dem Parlament Rechenschaft über die Verwendung der Mittel ab."""
def test_simplify_endpoint():
"""Test the POST / endpoint with sample data."""
url = "http://127.0.0.1:8000/"
# Sample payload
payload = {
"data": [
{"text": SAMPLE_TEXT_01},
{"text": SAMPLE_TEXT_02},
],
"leichte_sprache": False,
"model": None, # Use default model
}
print(f"Testing endpoint: {url}")
print(f"Payload: {json.dumps(payload, indent=2, ensure_ascii=False)}\n")
try:
response = requests.post(url, json=payload)
print(f"Status Code: {response.status_code}")
print(f"Response Headers: {dict(response.headers)}\n")
if response.status_code == 200:
print("✅ Success!")
print(f"Response: {json.dumps(response.json(), indent=2, ensure_ascii=False)}")
else:
print("❌ Error!")
print(f"Response: {response.text}")
except requests.exceptions.ConnectionError:
print("❌ Connection Error: Make sure the FastAPI server is running!")
print("Run: uv run uvicorn fastapi_app:app --reload")
except Exception as e:
print(f"❌ Error: {e}")
def test_with_leichte_sprache():
"""Test with leichte_sprache enabled."""
url = "http://127.0.0.1:8000/"
payload = {
"data": [{"text": SAMPLE_TEXT_01}, {"text": SAMPLE_TEXT_02}],
"leichte_sprache": True,
"model": None,
}
print("\n" + "=" * 60)
print("Testing with leichte_sprache=True")
print("=" * 60 + "\n")
print(f"Payload: {json.dumps(payload, indent=2, ensure_ascii=False)}\n")
try:
response = requests.post(url, json=payload)
print(f"Status Code: {response.status_code}")
if response.status_code == 200:
print("✅ Success!")
print(f"Response: {json.dumps(response.json(), indent=2, ensure_ascii=False)}")
else:
print("❌ Error!")
print(f"Response: {response.text}")
except Exception as e:
print(f"❌ Error: {e}")
if __name__ == "__main__":
print("FastAPI Endpoint Test")
print("=" * 60 + "\n")
# Test basic endpoint
test_simplify_endpoint()
# Test with leichte_sprache
test_with_leichte_sprache()
print("\n" + "=" * 60)
print("Tests completed!")