summaryrefslogtreecommitdiff
path: root/app/controllers/sessions/controller_test.go
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-07 18:50:05 -0700
committermo khan <mo@mokhan.ca>2025-05-07 23:05:29 -0600
commitdd33572c6bc554019c052e7281d4d5269b7b4986 (patch)
tree276c9ad510f8aca71337f46674934dee5ed15133 /app/controllers/sessions/controller_test.go
parent18b4c984acb8302f7c562ad5e7bb3e61c5408175 (diff)
fix: do not clear set-cookie header
Diffstat (limited to 'app/controllers/sessions/controller_test.go')
-rw-r--r--app/controllers/sessions/controller_test.go22
1 files changed, 13 insertions, 9 deletions
diff --git a/app/controllers/sessions/controller_test.go b/app/controllers/sessions/controller_test.go
index 43cd0b9..4b68c7a 100644
--- a/app/controllers/sessions/controller_test.go
+++ b/app/controllers/sessions/controller_test.go
@@ -124,7 +124,8 @@ func TestSessions(t *testing.T) {
mux.ServeHTTP(w, r)
- cookie, err := http.ParseSetCookie(w.Header().Get("Set-Cookie"))
+ setCookieValue := w.Header().Get("Set-Cookie")
+ cookie, err := http.ParseSetCookie(setCookieValue)
require.NoError(t, err)
require.NotZero(t, cookie)
data, err := base64.URLEncoding.DecodeString(web.CookieValueFrom(cookie))
@@ -152,14 +153,6 @@ func TestSessions(t *testing.T) {
sub, err := token.Claims.GetSubject()
require.NoError(t, err)
assert.Equal(t, user.Subject, sub)
-
- assert.Equal(t, "/", cookie.Path)
- assert.Equal(t, "localhost", cookie.Domain)
- assert.Equal(t, "session", cookie.Name)
- assert.Equal(t, http.SameSiteLaxMode, cookie.SameSite)
- assert.Equal(t, x.Must(time.Parse(time.RFC3339, tokens["expiry"].(string))).Unix(), cookie.Expires.Unix())
- assert.True(t, cookie.HttpOnly)
- assert.True(t, cookie.Secure)
})
t.Run("stores the refresh token in a session cookie", func(t *testing.T) {
@@ -180,6 +173,17 @@ func TestSessions(t *testing.T) {
require.Equal(t, http.StatusFound, w.Code)
assert.Equal(t, "/dashboard", w.Header().Get("Location"))
})
+
+ t.Run("applies the appropriate cookie settings", func(t *testing.T) {
+ assert.Equal(t, "/", cookie.Path)
+ assert.Equal(t, "localhost", cookie.Domain)
+ assert.Equal(t, "session", cookie.Name)
+ assert.Equal(t, http.SameSiteLaxMode, cookie.SameSite)
+ assert.Equal(t, x.Must(time.Parse(time.RFC3339, tokens["expiry"].(string))).Unix(), cookie.Expires.Unix())
+ assert.True(t, cookie.HttpOnly)
+ assert.True(t, cookie.Secure)
+ assert.NotEmpty(t, cookie.Value)
+ })
})
})