(t *testing.T)
| 320 | } |
| 321 | |
| 322 | func TestSimulateHTTP_SSEStreamMismatch_317(t *testing.T) { |
| 323 | ctx := context.Background() |
| 324 | logger := zap.NewNop() |
| 325 | |
| 326 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { |
| 327 | w.Header().Set("Content-Type", "text/event-stream") |
| 328 | flusher, ok := w.(http.Flusher) |
| 329 | require.True(t, ok, "server response writer must support flushing") |
| 330 | |
| 331 | _, _ = w.Write([]byte("id:1\nevent:update\ndata:{\"value\":1}\n\n")) |
| 332 | flusher.Flush() |
| 333 | _, _ = w.Write([]byte("id:2\nevent:update\ndata:{\"value\":999}\n\n")) |
| 334 | flusher.Flush() |
| 335 | })) |
| 336 | defer server.Close() |
| 337 | |
| 338 | tc := &models.TestCase{ |
| 339 | Name: "sse-mismatch", |
| 340 | HTTPReq: models.HTTPReq{ |
| 341 | Method: "GET", |
| 342 | URL: server.URL, |
| 343 | Header: map[string]string{ |
| 344 | "Accept": "text/event-stream", |
| 345 | }, |
| 346 | }, |
| 347 | HTTPResp: models.HTTPResp{ |
| 348 | Header: map[string]string{ |
| 349 | "Content-Type": "text/event-stream", |
| 350 | }, |
| 351 | Body: strings.Join([]string{ |
| 352 | "id:1", |
| 353 | "event:update", |
| 354 | "data:{\"value\":1}", |
| 355 | "", |
| 356 | "id:2", |
| 357 | "event:update", |
| 358 | "data:{\"value\":2}", |
| 359 | "", |
| 360 | }, "\n"), |
| 361 | StreamBody: []models.HTTPStreamChunk{ |
| 362 | { |
| 363 | Data: []models.HTTPStreamDataField{ |
| 364 | {Key: "id", Value: "1"}, |
| 365 | {Key: "event", Value: "update"}, |
| 366 | {Key: "data", Value: `{"value":1}`}, |
| 367 | }, |
| 368 | }, |
| 369 | { |
| 370 | Data: []models.HTTPStreamDataField{ |
| 371 | {Key: "id", Value: "2"}, |
| 372 | {Key: "event", Value: "update"}, |
| 373 | {Key: "data", Value: `{"value":2}`}, |
| 374 | }, |
| 375 | }, |
| 376 | }, |
| 377 | }, |
| 378 | } |
| 379 |
nothing calls this directly
no test coverage detected