mirror of
https://github.com/supabase/supabase.git
synced 2026-07-17 21:06:45 -04:00
120 lines
4.2 KiB
TypeScript
120 lines
4.2 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
describe('api/self-hosted/constants', () => {
|
|
beforeEach(() => {
|
|
vi.resetModules()
|
|
})
|
|
|
|
describe('ENCRYPTION_KEY', () => {
|
|
it('should use PG_META_CRYPTO_KEY when set', async () => {
|
|
vi.stubEnv('PG_META_CRYPTO_KEY', 'my-secret-key-123')
|
|
const { ENCRYPTION_KEY } = await import('./constants')
|
|
expect(ENCRYPTION_KEY).toBe('my-secret-key-123')
|
|
})
|
|
|
|
it('should use SAMPLE_KEY as default', async () => {
|
|
vi.stubEnv('PG_META_CRYPTO_KEY', '')
|
|
const { ENCRYPTION_KEY } = await import('./constants')
|
|
expect(ENCRYPTION_KEY).toBe('SAMPLE_KEY')
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_PORT', () => {
|
|
it('should use POSTGRES_PORT when set', async () => {
|
|
vi.stubEnv('POSTGRES_PORT', '5433')
|
|
const { POSTGRES_PORT } = await import('./constants')
|
|
expect(POSTGRES_PORT).toBe(5433)
|
|
})
|
|
|
|
it('should default to 5432', async () => {
|
|
vi.stubEnv('POSTGRES_PORT', '')
|
|
const { POSTGRES_PORT } = await import('./constants')
|
|
expect(POSTGRES_PORT).toBe(5432)
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_HOST', () => {
|
|
it('should use POSTGRES_HOST when set', async () => {
|
|
vi.stubEnv('POSTGRES_HOST', 'my-db-host.example.com')
|
|
const { POSTGRES_HOST } = await import('./constants')
|
|
expect(POSTGRES_HOST).toBe('my-db-host.example.com')
|
|
})
|
|
|
|
it('should default to db', async () => {
|
|
vi.stubEnv('POSTGRES_HOST', '')
|
|
const { POSTGRES_HOST } = await import('./constants')
|
|
expect(POSTGRES_HOST).toBe('db')
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_DATABASE', () => {
|
|
it('should use POSTGRES_DB when set', async () => {
|
|
vi.stubEnv('POSTGRES_DB', 'my_database')
|
|
const { POSTGRES_DATABASE } = await import('./constants')
|
|
expect(POSTGRES_DATABASE).toBe('my_database')
|
|
})
|
|
|
|
it('should default to postgres', async () => {
|
|
vi.stubEnv('POSTGRES_DB', '')
|
|
const { POSTGRES_DATABASE } = await import('./constants')
|
|
expect(POSTGRES_DATABASE).toBe('postgres')
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_PASSWORD', () => {
|
|
it('should use POSTGRES_PASSWORD when set', async () => {
|
|
vi.stubEnv('POSTGRES_PASSWORD', 'super-secret-password')
|
|
const { POSTGRES_PASSWORD } = await import('./constants')
|
|
expect(POSTGRES_PASSWORD).toBe('super-secret-password')
|
|
})
|
|
|
|
it('should default to postgres', async () => {
|
|
vi.stubEnv('POSTGRES_PASSWORD', '')
|
|
const { POSTGRES_PASSWORD } = await import('./constants')
|
|
expect(POSTGRES_PASSWORD).toBe('postgres')
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_USER_READ_WRITE', () => {
|
|
it('should use POSTGRES_USER_READ_WRITE when set', async () => {
|
|
vi.stubEnv('POSTGRES_USER_READ_WRITE', 'custom_admin')
|
|
const { POSTGRES_USER_READ_WRITE } = await import('./constants')
|
|
expect(POSTGRES_USER_READ_WRITE).toBe('custom_admin')
|
|
})
|
|
|
|
it('should default to supabase_admin', async () => {
|
|
vi.stubEnv('POSTGRES_USER_READ_WRITE', '')
|
|
const { POSTGRES_USER_READ_WRITE } = await import('./constants')
|
|
expect(POSTGRES_USER_READ_WRITE).toBe('supabase_admin')
|
|
})
|
|
})
|
|
|
|
describe('POSTGRES_USER_READ_ONLY', () => {
|
|
it('should use POSTGRES_USER_READ_ONLY when set', async () => {
|
|
vi.stubEnv('POSTGRES_USER_READ_ONLY', 'custom_readonly')
|
|
const { POSTGRES_USER_READ_ONLY } = await import('./constants')
|
|
expect(POSTGRES_USER_READ_ONLY).toBe('custom_readonly')
|
|
})
|
|
|
|
it('should default to supabase_read_only_user', async () => {
|
|
vi.stubEnv('POSTGRES_USER_READ_ONLY', '')
|
|
const { POSTGRES_USER_READ_ONLY } = await import('./constants')
|
|
expect(POSTGRES_USER_READ_ONLY).toBe('supabase_read_only_user')
|
|
})
|
|
})
|
|
|
|
describe('AUTH_JWT_SECRET', () => {
|
|
it('should use AUTH_JWT_SECRET when set', async () => {
|
|
vi.stubEnv('AUTH_JWT_SECRET', 'custom-jwt-secret-32-chars-long-xyz')
|
|
const { AUTH_JWT_SECRET } = await import('./constants')
|
|
expect(AUTH_JWT_SECRET).toBe('custom-jwt-secret-32-chars-long-xyz')
|
|
})
|
|
|
|
it('should fall back to DEFAULT_AUTH_JWT_SECRET when unset', async () => {
|
|
vi.stubEnv('AUTH_JWT_SECRET', '')
|
|
const { AUTH_JWT_SECRET, DEFAULT_AUTH_JWT_SECRET } = await import('./constants')
|
|
expect(AUTH_JWT_SECRET).toBe(DEFAULT_AUTH_JWT_SECRET)
|
|
})
|
|
})
|
|
})
|