Home / Function/ TestContextSetCookieData() — gin Function Reference

TestContextSetCookieData() — gin Function Reference

Architecture documentation for the TestContextSetCookieData() function in context_test.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  31d51980_c9bb_1b67_eb26_19145083fe6b["TestContextSetCookieData()"]
  ebe0ae48_a62b_a38f_5bac_5bbbd96fc508["context_test.go"]
  31d51980_c9bb_1b67_eb26_19145083fe6b -->|defined in| ebe0ae48_a62b_a38f_5bac_5bbbd96fc508
  style 31d51980_c9bb_1b67_eb26_19145083fe6b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

context_test.go lines 3414–3538

func TestContextSetCookieData(t *testing.T) {
	c, _ := CreateTestContext(httptest.NewRecorder())
	c.SetSameSite(http.SameSiteLaxMode)
	var setCookie string

	// Basic cookie settings
	cookie := &http.Cookie{
		Name:     "user",
		Value:    "gin",
		MaxAge:   1,
		Path:     "/",
		Domain:   "localhost",
		Secure:   true,
		HttpOnly: true,
	}
	c.SetCookieData(cookie)
	setCookie = c.Writer.Header().Get("Set-Cookie")
	assert.Contains(t, setCookie, "user=gin")
	assert.Contains(t, setCookie, "Path=/")
	assert.Contains(t, setCookie, "Domain=localhost")
	assert.Contains(t, setCookie, "Max-Age=1")
	assert.Contains(t, setCookie, "HttpOnly")
	assert.Contains(t, setCookie, "Secure")
	// SameSite=Lax might be omitted in Go 1.24+ as it's the default
	// assert.Contains(t, setCookie, "SameSite=Lax")

	// Test that when Path is empty, "/" is automatically set
	cookie = &http.Cookie{
		Name:     "user",
		Value:    "gin",
		MaxAge:   1,
		Path:     "",
		Domain:   "localhost",
		Secure:   true,
		HttpOnly: true,
	}
	c.SetCookieData(cookie)
	setCookie = c.Writer.Header().Get("Set-Cookie")
	assert.Contains(t, setCookie, "user=gin")
	assert.Contains(t, setCookie, "Path=/")
	assert.Contains(t, setCookie, "Domain=localhost")
	assert.Contains(t, setCookie, "Max-Age=1")
	assert.Contains(t, setCookie, "HttpOnly")
	assert.Contains(t, setCookie, "Secure")
	// SameSite=Lax might be omitted in Go 1.24+ as it's the default
	// assert.Contains(t, setCookie, "SameSite=Lax")

	// Test additional cookie attributes (Expires)
	expireTime := time.Now().Add(24 * time.Hour)
	cookie = &http.Cookie{
		Name:     "user",
		Value:    "gin",
		Path:     "/",
		Domain:   "localhost",
		Expires:  expireTime,
		Secure:   true,
		HttpOnly: true,
	}
	c.SetCookieData(cookie)

	// Since the Expires value varies by time, partially verify with Contains
	setCookie = c.Writer.Header().Get("Set-Cookie")
	assert.Contains(t, setCookie, "user=gin")
	assert.Contains(t, setCookie, "Path=/")
	assert.Contains(t, setCookie, "Domain=localhost")
	assert.Contains(t, setCookie, "HttpOnly")
	assert.Contains(t, setCookie, "Secure")
	// SameSite=Lax might be omitted in Go 1.24+ as it's the default
	// assert.Contains(t, setCookie, "SameSite=Lax")

	// Test for Partitioned attribute (Go 1.18+)
	cookie = &http.Cookie{
		Name:        "user",
		Value:       "gin",
		Path:        "/",
		Domain:      "localhost",
		Secure:      true,
		HttpOnly:    true,
		Partitioned: true,
	}
	c.SetCookieData(cookie)

Domain

Subdomains

Defined In

Frequently Asked Questions

What does TestContextSetCookieData() do?
TestContextSetCookieData() is a function in the gin codebase, defined in context_test.go.
Where is TestContextSetCookieData() defined?
TestContextSetCookieData() is defined in context_test.go at line 3414.

Analyze Your Own Codebase

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

Try Supermodel Free