executeRaw handles raw request scenarios
(t *testing.T, scenario Scenario)
| 416 | |
| 417 | // executeRaw handles raw request scenarios |
| 418 | func (e *executor) executeRaw(t *testing.T, scenario Scenario) { |
| 419 | t.Helper() |
| 420 | |
| 421 | // Raw requests only work with HTTP |
| 422 | require.Equal(t, TransportHTTP, scenario.Transport, "Raw requests only supported on HTTP transport") |
| 423 | |
| 424 | ctx := context.Background() |
| 425 | client, err := harness.NewClient(e.serverURL, nil) |
| 426 | require.NoError(t, err, "Failed to create client") |
| 427 | |
| 428 | // Send raw request |
| 429 | responseJSON, err := client.CallHTTPRaw(ctx, []byte(scenario.RawRequest)) |
| 430 | if err != nil { |
| 431 | if scenario.Expect.Error != nil { |
| 432 | // Expected error |
| 433 | return |
| 434 | } |
| 435 | require.NoError(t, err, "Raw call failed") |
| 436 | } |
| 437 | |
| 438 | // Parse response |
| 439 | var resp any |
| 440 | err = json.Unmarshal(responseJSON, &resp) |
| 441 | require.NoError(t, err, "Failed to parse response") |
| 442 | |
| 443 | // Validate response |
| 444 | e.validateRawResponse(t, resp, scenario.Expect) |
| 445 | } |
| 446 | |
| 447 | // Validation methods |
| 448 |
no test coverage detected