diff options
author | Matt Reyer <winduptoy@users.noreply.github.com> | 2018-12-13 10:04:49 -0500 |
---|---|---|
committer | Erik Dubbelboer <erik@dubbelboer.com> | 2018-12-13 21:34:49 +0630 |
commit | 62dcd6fdcedcced7ed39ae32df8a96dc1e20e644 (patch) | |
tree | b5205c003a7bd72e6f7da774d110dee1e347976f /cookie_test.go | |
parent | Added method (*Server).GetOpenConnectionsCount() and option DisableSleepWhenC... (diff) | |
download | fasthttp-62dcd6fdcedcced7ed39ae32df8a96dc1e20e644.tar.gz fasthttp-62dcd6fdcedcced7ed39ae32df8a96dc1e20e644.tar.bz2 fasthttp-62dcd6fdcedcced7ed39ae32df8a96dc1e20e644.zip |
Support SameSite cookie attribute (#488)
SameSite cookie attribute implementation.
Diffstat (limited to 'cookie_test.go')
-rw-r--r-- | cookie_test.go | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/cookie_test.go b/cookie_test.go index cec8edd..c11a942 100644 --- a/cookie_test.go +++ b/cookie_test.go @@ -76,7 +76,7 @@ func TestCookieSecure(t *testing.T) { if err := c.Parse("foo=bar"); err != nil { t.Fatalf("unexpected error: %s", err) } - if c.HTTPOnly() { + if c.Secure() { t.Fatalf("Unexpected secure flag set") } s = c.String() @@ -85,6 +85,54 @@ func TestCookieSecure(t *testing.T) { } } +func TestCookieSameSite(t *testing.T) { + var c Cookie + + if err := c.Parse("foo=bar; samesite"); err != nil { + t.Fatalf("unexpected error: %s", err) + } + if c.SameSite() != CookieSameSiteDefaultMode { + t.Fatalf("SameSite must be set") + } + s := c.String() + if !strings.Contains(s, "; SameSite") { + t.Fatalf("missing SameSite flag in cookie %q", s) + } + + if err := c.Parse("foo=bar; samesite=lax"); err != nil { + t.Fatalf("unexpected error: %s", err) + } + if c.SameSite() != CookieSameSiteLaxMode { + t.Fatalf("SameSite Lax Mode must be set") + } + s = c.String() + if !strings.Contains(s, "; SameSite=Lax") { + t.Fatalf("missing SameSite flag in cookie %q", s) + } + + if err := c.Parse("foo=bar; samesite=strict"); err != nil { + t.Fatalf("unexpected error: %s", err) + } + if c.SameSite() != CookieSameSiteStrictMode { + t.Fatalf("SameSite Strict Mode must be set") + } + s = c.String() + if !strings.Contains(s, "; SameSite=Strict") { + t.Fatalf("missing SameSite flag in cookie %q", s) + } + + if err := c.Parse("foo=bar"); err != nil { + t.Fatalf("unexpected error: %s", err) + } + if c.SameSite() != CookieSameSiteDisabled { + t.Fatalf("Unexpected SameSite flag set") + } + s = c.String() + if strings.Contains(s, "SameSite") { + t.Fatalf("unexpected SameSite flag in cookie %q", s) + } +} + func TestCookieMaxAge(t *testing.T) { var c Cookie |