Run test sequence with multiple requests.
(config: TestConfig)
| 97 | |
| 98 | |
| 99 | def run_tests(config: TestConfig) -> list[RequestResult]: |
| 100 | """Run test sequence with multiple requests.""" |
| 101 | url = f"http://{config.host}:{config.port}/" |
| 102 | results: list[RequestResult] = [] |
| 103 | |
| 104 | console.print(f"\nSending {config.num_requests} requests to {url}...\n") |
| 105 | |
| 106 | with httpx.Client() as client: |
| 107 | for i in range(1, config.num_requests + 1): |
| 108 | result = send_request(client, url, config) |
| 109 | results.append(result) |
| 110 | |
| 111 | if result.success: |
| 112 | console.print( |
| 113 | f"Request {i}: ✓ {result.status_code} ({result.response_time_ms:.1f} ms)", |
| 114 | style="green", |
| 115 | ) |
| 116 | console.print(f" Response: {result.response_text!r}") |
| 117 | else: |
| 118 | console.print(f"Request {i}: ✗ {result.error_message}", style="red") |
| 119 | |
| 120 | time.sleep(0.1) # Small delay between requests |
| 121 | |
| 122 | return results |
| 123 | |
| 124 | |
| 125 | def display_statistics(results: list[RequestResult]) -> None: |
no test coverage detected