|
12 | 12 |
|
13 | 13 | @schema.include(path="/error", method="GET").parametrize() |
14 | 14 | def test_api(case): |
15 | | - try: |
16 | | - response = case.call() |
17 | | - debug_info = ( |
18 | | - f"[DEBUG] Request URL: {getattr(response.request, 'url', None)}\n" |
19 | | - f"[DEBUG] Request method: {getattr(response.request, 'method', None)}\n" |
20 | | - f"[DEBUG] Response status: {getattr(response, 'status_code', None)}\n" |
21 | | - f"[DEBUG] Response headers: {dict(getattr(response, 'headers', {}))}\n" |
22 | | - f"[DEBUG] Response body: {getattr(response, 'text', None)}\n" |
23 | | - ) |
24 | | - print(debug_info) |
25 | | - assert response.status_code >= 500, "this api errors on purpose" |
26 | | - except Exception as e: |
27 | | - # Print debug info even if assertion fails |
28 | | - if 'response' in locals(): |
29 | | - print("[EXCEPTION DEBUG] Request URL:", getattr(response.request, 'url', None)) |
30 | | - print("[EXCEPTION DEBUG] Request method:", getattr(response.request, 'method', None)) |
31 | | - print("[EXCEPTION DEBUG] Response status:", getattr(response, 'status_code', None)) |
32 | | - print("[EXCEPTION DEBUG] Response headers:", dict(getattr(response, 'headers', {}))) |
33 | | - print("[EXCEPTION DEBUG] Response body:", getattr(response, 'text', None)) |
34 | | - print("[EXCEPTION]", e) |
35 | | - raise |
| 15 | + response = case.call() |
| 16 | + |
| 17 | + if case.method == "GET": |
| 18 | + # Assert that this endpoint returns a 500 error as expected |
| 19 | + assert response.status_code == 500, f"Expected 500 error, got {response.status_code}. This api errors on purpose." |
| 20 | + elif case.method == "OPTIONS": |
| 21 | + # OPTIONS requests typically return 200 OK |
| 22 | + assert response.status_code == 200, f"Expected 200 OK for OPTIONS, got {response.status_code}." |
| 23 | + else: |
| 24 | + # Other methods should return 405 (Method Not Allowed) |
| 25 | + assert response.status_code == 405, f"Expected 405 (Method Not Allowed) for {case.method}, got {response.status_code}." |
36 | 26 |
|
37 | 27 |
|
38 | 28 | @schema.include(path="/valid", method="GET").parametrize() |
|
0 commit comments