MCPcopy
hub / github.com/gofiber/fiber / Test_Ctx_SaveFileToStorage

Function Test_Ctx_SaveFileToStorage

ctx_test.go:5542–5581  ·  view source on GitHub ↗

go test -run Test_Ctx_SaveFileToStorage

(t *testing.T)

Source from the content-addressed store, hash-verified

5540
5541// go test -run Test_Ctx_SaveFileToStorage
5542func Test_Ctx_SaveFileToStorage(t *testing.T) {
5543 t.Parallel()
5544 app := New()
5545 storage := memory.New()
5546
5547 app.Post("/test", func(c Ctx) error {
5548 fh, err := c.FormFile("file")
5549 require.NoError(t, err)
5550
5551 err = c.SaveFileToStorage(fh, "test", storage)
5552 require.NoError(t, err)
5553
5554 file, err := storage.Get("test")
5555 require.Equal(t, []byte("hello world"), file)
5556 require.NoError(t, err)
5557
5558 err = storage.Delete("test")
5559 require.NoError(t, err)
5560
5561 return nil
5562 })
5563
5564 body := &bytes.Buffer{}
5565 writer := multipart.NewWriter(body)
5566
5567 ioWriter, err := writer.CreateFormFile("file", "test")
5568 require.NoError(t, err)
5569
5570 _, err = ioWriter.Write([]byte("hello world"))
5571 require.NoError(t, err)
5572 require.NoError(t, writer.Close())
5573
5574 req := httptest.NewRequest(MethodPost, "/test", body)
5575 req.Header.Set("Content-Type", writer.FormDataContentType())
5576 req.Header.Set("Content-Length", strconv.Itoa(len(body.Bytes())))
5577
5578 resp, err := app.Test(req)
5579 require.NoError(t, err, "app.Test(req)")
5580 require.Equal(t, StatusOK, resp.StatusCode, "Status code")
5581}
5582
5583func Test_Ctx_SaveFileToStorage_LargeUpload(t *testing.T) {
5584 t.Parallel()

Callers

nothing calls this directly

Calls 12

BytesMethod · 0.95
NewFunction · 0.92
TestMethod · 0.80
NewFunction · 0.70
PostMethod · 0.65
FormFileMethod · 0.65
SaveFileToStorageMethod · 0.65
GetMethod · 0.65
DeleteMethod · 0.65
WriteMethod · 0.65
CloseMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected