Test_Response_Save_Streaming() — fiber Function Reference
Architecture documentation for the Test_Response_Save_Streaming() function in response_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD fa58a43b_c66a_38cf_b92b_aa1e00f7a51c["Test_Response_Save_Streaming()"] 9a680627_ad54_340e_3faa_64ead9b39aef["response_test.go"] fa58a43b_c66a_38cf_b92b_aa1e00f7a51c -->|defined in| 9a680627_ad54_340e_3faa_64ead9b39aef style fa58a43b_c66a_38cf_b92b_aa1e00f7a51c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
client/response_test.go lines 827–925
func Test_Response_Save_Streaming(t *testing.T) {
t.Parallel()
t.Run("save streaming response to file", func(t *testing.T) {
t.Parallel()
server := startTestServer(t, func(app *fiber.App) {
app.Get("/stream", func(c fiber.Ctx) error {
return c.SendStream(bytes.NewReader([]byte("streaming file content")))
})
})
defer server.stop()
client := New().SetDial(server.dial()).SetStreamResponseBody(true)
resp, err := client.Get("http://example.com/stream")
require.NoError(t, err)
defer resp.Close()
testFile := filepath.Join(t.TempDir(), "stream_test.txt")
err = resp.Save(testFile)
require.NoError(t, err)
data, err := os.ReadFile(testFile) //nolint:gosec // test file is created in a temp directory
require.NoError(t, err)
require.Equal(t, "streaming file content", string(data))
})
t.Run("save streaming response to io.Writer", func(t *testing.T) {
t.Parallel()
server := startTestServer(t, func(app *fiber.App) {
app.Get("/stream", func(c fiber.Ctx) error {
return c.SendStream(bytes.NewReader([]byte("streaming writer content")))
})
})
defer server.stop()
client := New().SetDial(server.dial()).SetStreamResponseBody(true)
resp, err := client.Get("http://example.com/stream")
require.NoError(t, err)
defer resp.Close()
var buf bytes.Buffer
err = resp.Save(&buf)
require.NoError(t, err)
require.Equal(t, "streaming writer content", buf.String())
})
t.Run("save non-streaming response to file using BodyStream", func(t *testing.T) {
t.Parallel()
server := startTestServer(t, func(app *fiber.App) {
app.Get("/regular", func(c fiber.Ctx) error {
return c.SendString("regular file content")
})
})
defer server.stop()
client := New().SetDial(server.dial())
resp, err := client.Get("http://example.com/regular")
require.NoError(t, err)
defer resp.Close()
testFile := filepath.Join(t.TempDir(), "regular_test.txt")
err = resp.Save(testFile)
require.NoError(t, err)
data, err := os.ReadFile(testFile) //nolint:gosec // test file is created in a temp directory
require.NoError(t, err)
require.Equal(t, "regular file content", string(data))
})
t.Run("save to io.WriteCloser closes writer", func(t *testing.T) {
t.Parallel()
server := startTestServer(t, func(app *fiber.App) {
app.Get("/test", func(c fiber.Ctx) error {
return c.SendString("test content")
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Response_Save_Streaming() do?
Test_Response_Save_Streaming() is a function in the fiber codebase, defined in client/response_test.go.
Where is Test_Response_Save_Streaming() defined?
Test_Response_Save_Streaming() is defined in client/response_test.go at line 827.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free