Home / Function/ Test_App_AutoHead_Compliance_SendFile() — fiber Function Reference

Test_App_AutoHead_Compliance_SendFile() — fiber Function Reference

Architecture documentation for the Test_App_AutoHead_Compliance_SendFile() function in app_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  37d18907_66d5_7301_c7e9_6683943acd60["Test_App_AutoHead_Compliance_SendFile()"]
  e728fdd2_242f_706b_c1d2_041b3d6badb5["app_test.go"]
  37d18907_66d5_7301_c7e9_6683943acd60 -->|defined in| e728fdd2_242f_706b_c1d2_041b3d6badb5
  style 37d18907_66d5_7301_c7e9_6683943acd60 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

app_test.go lines 1159–1205

func Test_App_AutoHead_Compliance_SendFile(t *testing.T) {
	t.Parallel()

	if runtime.GOOS == "windows" {
		t.Skip("SendFile auto-HEAD test is skipped on Windows due to file locking semantics")
	}

	tmpDir := t.TempDir()
	filePath := filepath.Join(tmpDir, "hello.txt")
	fileContent := []byte("file-body")
	require.NoError(t, os.WriteFile(filePath, fileContent, 0o644)) //nolint:gosec // permissions match test fixtures

	app := New()
	app.Get("/file", func(c Ctx) error {
		c.Set("X-Test", "file")
		return c.SendFile(filePath)
	})
	app.startupProcess()

	getReq := httptest.NewRequest(MethodGet, "/file", http.NoBody)
	getResp, err := app.Test(getReq)
	require.NoError(t, err, "app.Test(get)")
	defer func() {
		require.NoError(t, getResp.Body.Close())
	}()

	body, err := io.ReadAll(getResp.Body)
	require.NoError(t, err)
	require.Equal(t, fileContent, body)
	require.Equal(t, "file", getResp.Header.Get("X-Test"))

	headReq := httptest.NewRequest(MethodHead, "/file", http.NoBody)
	headResp, err := app.Test(headReq)
	require.NoError(t, err, "app.Test(head)")
	defer func() {
		require.NoError(t, headResp.Body.Close())
	}()

	require.Equal(t, getResp.StatusCode, headResp.StatusCode)
	require.Equal(t, strconv.Itoa(len(fileContent)), headResp.Header.Get(HeaderContentLength))
	require.Equal(t, getResp.Header.Get(HeaderContentType), headResp.Header.Get(HeaderContentType))
	require.Equal(t, getResp.Header.Get("X-Test"), headResp.Header.Get("X-Test"))

	headBody, err := io.ReadAll(headResp.Body)
	require.NoError(t, err)
	require.Empty(t, headBody)
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does Test_App_AutoHead_Compliance_SendFile() do?
Test_App_AutoHead_Compliance_SendFile() is a function in the fiber codebase, defined in app_test.go.
Where is Test_App_AutoHead_Compliance_SendFile() defined?
Test_App_AutoHead_Compliance_SendFile() is defined in app_test.go at line 1159.

Analyze Your Own Codebase

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

Try Supermodel Free