Home / Function/ Test_Session_Cookie_SameSite() — fiber Function Reference

Test_Session_Cookie_SameSite() — fiber Function Reference

Architecture documentation for the Test_Session_Cookie_SameSite() function in session_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  ee8e1845_7a10_fb1a_11cb_f1e43e5d2225["Test_Session_Cookie_SameSite()"]
  397e6e82_749b_4ef2_9365_02be671c59f7["session_test.go"]
  ee8e1845_7a10_fb1a_11cb_f1e43e5d2225 -->|defined in| 397e6e82_749b_4ef2_9365_02be671c59f7
  style ee8e1845_7a10_fb1a_11cb_f1e43e5d2225 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/session/session_test.go lines 952–1057

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

	tests := []struct {
		expectedInHeader string
		name             string
		sameSite         string
		initialSecure    bool
	}{
		{
			name:             "Lax should not force secure",
			sameSite:         "Lax",
			initialSecure:    false,
			expectedInHeader: "SameSite=Lax",
		},
		{
			name:             "Lax with secure should stay secure",
			sameSite:         "Lax",
			initialSecure:    true,
			expectedInHeader: "SameSite=Lax; secure",
		},
		{
			name:             "Strict should not force secure",
			sameSite:         "Strict",
			initialSecure:    false,
			expectedInHeader: "SameSite=Strict",
		},
		{
			name:             "Strict with secure should stay secure",
			sameSite:         "Strict",
			initialSecure:    true,
			expectedInHeader: "SameSite=Strict; secure",
		},
		{
			name:             "None should force secure",
			sameSite:         "None",
			initialSecure:    false,
			expectedInHeader: "SameSite=None; secure",
		},
		{
			name:             "None with secure should stay secure",
			sameSite:         "None",
			initialSecure:    true,
			expectedInHeader: "SameSite=None; secure",
		},
		{
			name:             "Case-insensitive none should force secure",
			sameSite:         "none",
			initialSecure:    false,
			expectedInHeader: "SameSite=None; secure",
		},
		{
			name:             "Case-insensitive strict should not force secure",
			sameSite:         "strict",
			initialSecure:    false,
			expectedInHeader: "SameSite=Strict",
		},
		{
			name:             "Default should be Lax",
			sameSite:         "invalid",
			initialSecure:    false,
			expectedInHeader: "SameSite=Lax",
		},
	}

	for _, tc := range tests {
		t.Run(tc.name, func(t *testing.T) {
			t.Parallel()
			// session store
			store := NewStore(Config{
				CookieSameSite: tc.sameSite,
				CookieSecure:   tc.initialSecure,
			})

			// fiber instance
			app := fiber.New()

			// fiber context
			ctx := app.AcquireCtx(&fasthttp.RequestCtx{})
			defer app.ReleaseCtx(ctx)

Subdomains

Frequently Asked Questions

What does Test_Session_Cookie_SameSite() do?
Test_Session_Cookie_SameSite() is a function in the fiber codebase, defined in middleware/session/session_test.go.
Where is Test_Session_Cookie_SameSite() defined?
Test_Session_Cookie_SameSite() is defined in middleware/session/session_test.go at line 952.

Analyze Your Own Codebase

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

Try Supermodel Free