(t *testing.T)
| 573 | } |
| 574 | |
| 575 | func Test_Response_Save(t *testing.T) { |
| 576 | t.Parallel() |
| 577 | |
| 578 | setupApp := func() *testServer { |
| 579 | server := startTestServer(t, func(app *fiber.App) { |
| 580 | app.Get("/json", func(c fiber.Ctx) error { |
| 581 | return c.SendString("{\"status\":\"success\"}") |
| 582 | }) |
| 583 | }) |
| 584 | |
| 585 | return server |
| 586 | } |
| 587 | |
| 588 | t.Run("file path", func(t *testing.T) { |
| 589 | t.Parallel() |
| 590 | |
| 591 | server := setupApp() |
| 592 | defer server.stop() |
| 593 | |
| 594 | client := New().SetDial(server.dial()) |
| 595 | |
| 596 | resp, err := AcquireRequest(). |
| 597 | SetClient(client). |
| 598 | Get("http://example.com/json") |
| 599 | |
| 600 | require.NoError(t, err) |
| 601 | |
| 602 | err = resp.Save("./test/tmp.json") |
| 603 | require.NoError(t, err) |
| 604 | defer func() { |
| 605 | _, statErr := os.Stat("./test/tmp.json") |
| 606 | require.NoError(t, statErr) |
| 607 | |
| 608 | statErr = os.RemoveAll("./test") |
| 609 | require.NoError(t, statErr) |
| 610 | }() |
| 611 | |
| 612 | file, err := os.Open("./test/tmp.json") |
| 613 | require.NoError(t, err) |
| 614 | defer func(file *os.File) { |
| 615 | closeErr := file.Close() |
| 616 | require.NoError(t, closeErr) |
| 617 | }(file) |
| 618 | |
| 619 | data, err := io.ReadAll(file) |
| 620 | require.NoError(t, err) |
| 621 | require.JSONEq(t, "{\"status\":\"success\"}", string(data)) |
| 622 | }) |
| 623 | |
| 624 | t.Run("io.Writer", func(t *testing.T) { |
| 625 | t.Parallel() |
| 626 | |
| 627 | server := setupApp() |
| 628 | defer server.stop() |
| 629 | |
| 630 | client := New().SetDial(server.dial()) |
| 631 | |
| 632 | resp, err := AcquireRequest(). |
nothing calls this directly
no test coverage detected