(url, test_case, stream)
| 236 | |
| 237 | |
| 238 | def run_test(url, test_case, stream): |
| 239 | name = test_case["name"] |
| 240 | mode = f"{'stream' if stream else 'non-stream'}" |
| 241 | print_header(f"{name} [{mode}]") |
| 242 | |
| 243 | all_tool_calls, final_content = run_agentic_loop( |
| 244 | url, |
| 245 | messages=test_case["messages"], |
| 246 | tools=test_case["tools"], |
| 247 | mock_tool_responses=test_case["mock_tool_responses"], |
| 248 | stream=stream, |
| 249 | ) |
| 250 | |
| 251 | if final_content is None and not all_tool_calls: |
| 252 | print_fail("No response from server.") |
| 253 | return False |
| 254 | |
| 255 | passed, reason = test_case["validate"](all_tool_calls, final_content) |
| 256 | if passed: |
| 257 | print_pass(reason) |
| 258 | else: |
| 259 | print_fail(reason) |
| 260 | return passed |
| 261 | |
| 262 | |
| 263 | # --------------------------------------------------------------------------- |
no test coverage detected