Home / Function/ Test_Ctx_Cookie_SameSite_CaseInsensitive() — fiber Function Reference

Test_Ctx_Cookie_SameSite_CaseInsensitive() — fiber Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

ctx_test.go lines 1554–1618

func Test_Ctx_Cookie_SameSite_CaseInsensitive(t *testing.T) {
	t.Parallel()
	app := New()

	tests := []struct {
		name     string
		input    string
		expected string
	}{
		// Test case-insensitive Strict
		{"Strict lowercase", "strict", "SameSite=Strict"},
		{"Strict uppercase", "STRICT", "SameSite=Strict"},
		{"Strict mixed case", "StRiCt", "SameSite=Strict"},
		{"Strict proper case", "Strict", "SameSite=Strict"},

		// Test case-insensitive Lax
		{"Lax lowercase", "lax", "SameSite=Lax"},
		{"Lax uppercase", "LAX", "SameSite=Lax"},
		{"Lax mixed case", "LaX", "SameSite=Lax"},
		{"Lax proper case", "Lax", "SameSite=Lax"},

		// Test case-insensitive None
		{"None lowercase", "none", "SameSite=None"},
		{"None uppercase", "NONE", "SameSite=None"},
		{"None mixed case", "NoNe", "SameSite=None"},
		{"None proper case", "None", "SameSite=None"},

		// Test case-insensitive disabled
		{"Disabled lowercase", "disabled", ""},
		{"Disabled uppercase", "DISABLED", ""},
		{"Disabled mixed case", "DiSaBlEd", ""},
		{"Disabled proper case", "disabled", ""},

		// Test invalid values default to Lax
		{"Invalid value", "invalid", "SameSite=Lax"},
		{"Empty value", "", "SameSite=Lax"},
	}

	for _, tc := range tests {
		t.Run(tc.name, func(t *testing.T) {
			t.Parallel()
			c := app.AcquireCtx(&fasthttp.RequestCtx{})
			defer app.ReleaseCtx(c)

			// Reset response
			c.Response().Reset()

			cookie := &Cookie{
				Name:     "test",
				Value:    "value",
				SameSite: tc.input,
			}
			c.Res().Cookie(cookie)

			setCookieHeader := c.Res().Get(HeaderSetCookie)
			if tc.expected == "" {
				// For disabled, SameSite should not appear in the header
				require.NotContains(t, setCookieHeader, "SameSite")
			} else {
				// For all other cases, the expected SameSite should appear
				require.Contains(t, setCookieHeader, tc.expected)
			}
		})
	}
}

Domain

Subdomains

Defined In

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free