Spaces:
Sleeping
Sleeping
File size: 1,422 Bytes
0f4105b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import { afterEach, describe, expect, it } from 'vitest'
import { getMcSessionCookieOptions } from '../session-cookie'
describe('getMcSessionCookieOptions', () => {
const env = process.env as Record<string, string | undefined>
const originalNodeEnv = env.NODE_ENV
const originalCookieSecure = env.MC_COOKIE_SECURE
afterEach(() => {
if (originalNodeEnv === undefined) delete env.NODE_ENV
else env.NODE_ENV = originalNodeEnv
if (originalCookieSecure === undefined) delete env.MC_COOKIE_SECURE
else env.MC_COOKIE_SECURE = originalCookieSecure
})
it('does not force secure cookies on plain HTTP in production when MC_COOKIE_SECURE is unset', () => {
env.NODE_ENV = 'production'
delete env.MC_COOKIE_SECURE
const options = getMcSessionCookieOptions({ maxAgeSeconds: 60, isSecureRequest: false })
expect(options.secure).toBe(false)
})
it('sets secure cookies for HTTPS requests when MC_COOKIE_SECURE is unset', () => {
env.NODE_ENV = 'production'
delete env.MC_COOKIE_SECURE
const options = getMcSessionCookieOptions({ maxAgeSeconds: 60, isSecureRequest: true })
expect(options.secure).toBe(true)
})
it('respects MC_COOKIE_SECURE override', () => {
env.NODE_ENV = 'production'
env.MC_COOKIE_SECURE = '1'
const options = getMcSessionCookieOptions({ maxAgeSeconds: 60, isSecureRequest: false })
expect(options.secure).toBe(true)
})
})
|