Home / Function/ Test_Ctx_FormFile() — fiber Function Reference

Test_Ctx_FormFile() — fiber Function Reference

Architecture documentation for the Test_Ctx_FormFile() function in ctx_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  da7abce2_ca5d_ebc9_9184_72b9797a1e2a["Test_Ctx_FormFile()"]
  7b3d4933_5ae3_f84d_ff6d_0cb34e268026["ctx_test.go"]
  da7abce2_ca5d_ebc9_9184_72b9797a1e2a -->|defined in| 7b3d4933_5ae3_f84d_ff6d_0cb34e268026
  style da7abce2_ca5d_ebc9_9184_72b9797a1e2a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

ctx_test.go lines 2099–2146

func Test_Ctx_FormFile(t *testing.T) {
	// TODO: We should clean this up
	t.Parallel()
	app := New()

	app.Post("/test", func(c Ctx) error {
		fh, err := c.FormFile("file")
		require.NoError(t, err)
		require.Equal(t, "test", fh.Filename)

		f, err := fh.Open()
		require.NoError(t, err)
		defer func() {
			require.NoError(t, f.Close())
		}()

		b := new(bytes.Buffer)
		_, err = io.Copy(b, f)
		require.NoError(t, err)
		require.Equal(t, "hello world", b.String())
		return nil
	})

	body := &bytes.Buffer{}
	writer := multipart.NewWriter(body)

	ioWriter, err := writer.CreateFormFile("file", "test")
	require.NoError(t, err)

	_, err = ioWriter.Write([]byte("hello world"))
	require.NoError(t, err)
	require.NoError(t, writer.Close())

	req := httptest.NewRequest(MethodPost, "/test", body)
	req.Header.Set(HeaderContentType, writer.FormDataContentType())
	req.Header.Set(HeaderContentLength, strconv.Itoa(len(body.Bytes())))

	resp, err := app.Test(req)
	require.NoError(t, err, "app.Test(req)")
	defer func() { require.NoError(t, resp.Body.Close()) }()
	require.Equal(t, StatusOK, resp.StatusCode, "Status code")

	respBody, err := io.ReadAll(resp.Body)
	require.NoError(t, err, "io.ReadAll(resp.Body)")
	require.Empty(t, respBody)
	require.Empty(t, resp.Header.Get(HeaderContentType))
	require.Equal(t, int64(0), resp.ContentLength)
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_Ctx_FormFile() do?
Test_Ctx_FormFile() is a function in the fiber codebase, defined in ctx_test.go.
Where is Test_Ctx_FormFile() defined?
Test_Ctx_FormFile() is defined in ctx_test.go at line 2099.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free