Test_Response_Save() — fiber Function Reference
Architecture documentation for the Test_Response_Save() function in response_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD ba75004a_ae69_42a2_15ae_f993a83b1730["Test_Response_Save()"] 9a680627_ad54_340e_3faa_64ead9b39aef["response_test.go"] ba75004a_ae69_42a2_15ae_f993a83b1730 -->|defined in| 9a680627_ad54_340e_3faa_64ead9b39aef style ba75004a_ae69_42a2_15ae_f993a83b1730 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
client/response_test.go lines 575–687
func Test_Response_Save(t *testing.T) {
t.Parallel()
setupApp := func() *testServer {
server := startTestServer(t, func(app *fiber.App) {
app.Get("/json", func(c fiber.Ctx) error {
return c.SendString("{\"status\":\"success\"}")
})
})
return server
}
t.Run("file path", func(t *testing.T) {
t.Parallel()
server := setupApp()
defer server.stop()
client := New().SetDial(server.dial())
resp, err := AcquireRequest().
SetClient(client).
Get("http://example.com/json")
require.NoError(t, err)
err = resp.Save("./test/tmp.json")
require.NoError(t, err)
defer func() {
_, statErr := os.Stat("./test/tmp.json")
require.NoError(t, statErr)
statErr = os.RemoveAll("./test")
require.NoError(t, statErr)
}()
file, err := os.Open("./test/tmp.json")
require.NoError(t, err)
defer func(file *os.File) {
closeErr := file.Close()
require.NoError(t, closeErr)
}(file)
data, err := io.ReadAll(file)
require.NoError(t, err)
require.JSONEq(t, "{\"status\":\"success\"}", string(data))
})
t.Run("io.Writer", func(t *testing.T) {
t.Parallel()
server := setupApp()
defer server.stop()
client := New().SetDial(server.dial())
resp, err := AcquireRequest().
SetClient(client).
Get("http://example.com/json")
require.NoError(t, err)
buf := &bytes.Buffer{}
err = resp.Save(buf)
require.NoError(t, err)
require.JSONEq(t, "{\"status\":\"success\"}", buf.String())
})
t.Run("io.Copy error when saving to file is surfaced", func(t *testing.T) {
t.Parallel()
resp := AcquireResponse()
defer ReleaseResponse(resp)
resp.RawResponse.SetBodyStream(&errorReader{err: errors.New("copy failure")}, -1)
target := filepath.Join(t.TempDir(), "out.txt")
err := resp.Save(target)
require.ErrorContains(t, err, "failed to write response body to file: copy failure")
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_Response_Save() do?
Test_Response_Save() is a function in the fiber codebase, defined in client/response_test.go.
Where is Test_Response_Save() defined?
Test_Response_Save() is defined in client/response_test.go at line 575.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free