44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import { describe, it, expect, afterEach } from 'vitest'
|
|
import { getAuthConfig } from '../../server/utils/authConfig.js'
|
|
|
|
describe('authConfig', () => {
|
|
const origEnv = { ...process.env }
|
|
|
|
afterEach(() => {
|
|
process.env = { ...origEnv }
|
|
})
|
|
|
|
it('returns oidc disabled when OIDC env vars are unset', () => {
|
|
delete process.env.OIDC_ISSUER
|
|
delete process.env.OIDC_CLIENT_ID
|
|
delete process.env.OIDC_CLIENT_SECRET
|
|
expect(getAuthConfig()).toEqual({
|
|
oidc: { enabled: false, label: '' },
|
|
})
|
|
})
|
|
|
|
it('returns oidc disabled when only some OIDC vars are set', () => {
|
|
process.env.OIDC_ISSUER = 'https://auth.example.com'
|
|
process.env.OIDC_CLIENT_ID = 'client'
|
|
delete process.env.OIDC_CLIENT_SECRET
|
|
expect(getAuthConfig().oidc.enabled).toBe(false)
|
|
})
|
|
|
|
it('returns oidc enabled and default label when all OIDC vars are set', () => {
|
|
process.env.OIDC_ISSUER = 'https://auth.example.com'
|
|
process.env.OIDC_CLIENT_ID = 'client'
|
|
process.env.OIDC_CLIENT_SECRET = 'secret'
|
|
const config = getAuthConfig()
|
|
expect(config.oidc.enabled).toBe(true)
|
|
expect(config.oidc.label).toBe('Sign in with OIDC')
|
|
})
|
|
|
|
it('uses OIDC_LABEL when set', () => {
|
|
process.env.OIDC_ISSUER = 'https://auth.example.com'
|
|
process.env.OIDC_CLIENT_ID = 'client'
|
|
process.env.OIDC_CLIENT_SECRET = 'secret'
|
|
process.env.OIDC_LABEL = 'Sign in with Authentik'
|
|
expect(getAuthConfig().oidc.label).toBe('Sign in with Authentik')
|
|
})
|
|
})
|