(t *testing.T)
| 825 | } |
| 826 | |
| 827 | func Test_Response_Save_Streaming(t *testing.T) { |
| 828 | t.Parallel() |
| 829 | |
| 830 | t.Run("save streaming response to file", func(t *testing.T) { |
| 831 | t.Parallel() |
| 832 | |
| 833 | server := startTestServer(t, func(app *fiber.App) { |
| 834 | app.Get("/stream", func(c fiber.Ctx) error { |
| 835 | return c.SendStream(bytes.NewReader([]byte("streaming file content"))) |
| 836 | }) |
| 837 | }) |
| 838 | defer server.stop() |
| 839 | |
| 840 | client := New().SetDial(server.dial()).SetStreamResponseBody(true) |
| 841 | |
| 842 | resp, err := client.Get("http://example.com/stream") |
| 843 | require.NoError(t, err) |
| 844 | defer resp.Close() |
| 845 | |
| 846 | testFile := filepath.Join(t.TempDir(), "stream_test.txt") |
| 847 | err = resp.Save(testFile) |
| 848 | require.NoError(t, err) |
| 849 | |
| 850 | data, err := os.ReadFile(testFile) |
| 851 | require.NoError(t, err) |
| 852 | require.Equal(t, "streaming file content", string(data)) |
| 853 | }) |
| 854 | |
| 855 | t.Run("save streaming response to io.Writer", func(t *testing.T) { |
| 856 | t.Parallel() |
| 857 | |
| 858 | server := startTestServer(t, func(app *fiber.App) { |
| 859 | app.Get("/stream", func(c fiber.Ctx) error { |
| 860 | return c.SendStream(bytes.NewReader([]byte("streaming writer content"))) |
| 861 | }) |
| 862 | }) |
| 863 | defer server.stop() |
| 864 | |
| 865 | client := New().SetDial(server.dial()).SetStreamResponseBody(true) |
| 866 | |
| 867 | resp, err := client.Get("http://example.com/stream") |
| 868 | require.NoError(t, err) |
| 869 | defer resp.Close() |
| 870 | |
| 871 | var buf bytes.Buffer |
| 872 | err = resp.Save(&buf) |
| 873 | require.NoError(t, err) |
| 874 | require.Equal(t, "streaming writer content", buf.String()) |
| 875 | }) |
| 876 | |
| 877 | t.Run("save non-streaming response to file using BodyStream", func(t *testing.T) { |
| 878 | t.Parallel() |
| 879 | |
| 880 | server := startTestServer(t, func(app *fiber.App) { |
| 881 | app.Get("/regular", func(c fiber.Ctx) error { |
| 882 | return c.SendString("regular file content") |
| 883 | }) |
| 884 | }) |
nothing calls this directly
no test coverage detected