2026-01-29 22:56:02 -08:00
|
|
|
-- =============================================================================
|
|
|
|
|
-- E2E Test Users - Seed Script
|
|
|
|
|
-- =============================================================================
|
|
|
|
|
-- Pre-seeded test users with known credentials for E2E testing.
|
|
|
|
|
-- These users have bcrypt-hashed passwords matching the E2E_ env vars.
|
|
|
|
|
--
|
|
|
|
|
-- Passwords:
|
|
|
|
|
-- e2e-worker: E2eWorkerPass123!
|
|
|
|
|
-- e2e-client: E2eClientPass123!
|
|
|
|
|
-- e2e-admin: E2eAdminPass123!
|
|
|
|
|
--
|
2026-01-30 16:05:17 -08:00
|
|
|
-- Runs after 01-init.sql creates the sso schema and tables.
|
2026-01-29 22:56:02 -08:00
|
|
|
|
2026-01-30 16:05:17 -08:00
|
|
|
-- E2E Worker account (access_level='user', profiles=['worker'])
|
|
|
|
|
INSERT INTO sso.users (
|
|
|
|
|
id, email, username, password_hash, access_level, profiles, primary_profile,
|
|
|
|
|
is_active, email_verified, email_verified_at, created_at, updated_at
|
2026-01-29 22:56:02 -08:00
|
|
|
) VALUES (
|
2026-01-30 16:05:17 -08:00
|
|
|
'e2e00000-0000-0000-0000-000000000001',
|
2026-01-29 22:56:02 -08:00
|
|
|
'e2e-worker@atlilith.test',
|
|
|
|
|
'e2e-worker',
|
2026-01-30 16:05:17 -08:00
|
|
|
'$2b$12$AJJv8.Ag41p6V1c0XMogaOgSCQgC7tcVaCQePMjGD8N0y4fxBXIre',
|
|
|
|
|
'user',
|
|
|
|
|
'["worker"]'::jsonb,
|
2026-01-29 22:56:02 -08:00
|
|
|
'worker',
|
|
|
|
|
true,
|
|
|
|
|
true,
|
|
|
|
|
NOW(),
|
2026-01-30 16:05:17 -08:00
|
|
|
NOW(),
|
2026-01-29 22:56:02 -08:00
|
|
|
NOW()
|
|
|
|
|
) ON CONFLICT (email) DO UPDATE SET
|
2026-01-30 16:05:17 -08:00
|
|
|
password_hash = EXCLUDED.password_hash,
|
|
|
|
|
updated_at = NOW();
|
2026-01-29 22:56:02 -08:00
|
|
|
|
2026-01-30 16:05:17 -08:00
|
|
|
-- E2E Client account (access_level='user', profiles=['client'])
|
|
|
|
|
INSERT INTO sso.users (
|
|
|
|
|
id, email, username, password_hash, access_level, profiles, primary_profile,
|
|
|
|
|
is_active, email_verified, email_verified_at, created_at, updated_at
|
2026-01-29 22:56:02 -08:00
|
|
|
) VALUES (
|
2026-01-30 16:05:17 -08:00
|
|
|
'e2e00000-0000-0000-0000-000000000002',
|
2026-01-29 22:56:02 -08:00
|
|
|
'e2e-client@atlilith.test',
|
|
|
|
|
'e2e-client',
|
2026-01-30 16:05:17 -08:00
|
|
|
'$2b$12$0KDYn4hqqBwj7ZPbcfug0u/kBArssouDi2sZI/nREKtzNZVfEUESa',
|
|
|
|
|
'user',
|
|
|
|
|
'["client"]'::jsonb,
|
2026-01-29 22:56:02 -08:00
|
|
|
'client',
|
|
|
|
|
true,
|
|
|
|
|
true,
|
|
|
|
|
NOW(),
|
2026-01-30 16:05:17 -08:00
|
|
|
NOW(),
|
2026-01-29 22:56:02 -08:00
|
|
|
NOW()
|
|
|
|
|
) ON CONFLICT (email) DO UPDATE SET
|
2026-01-30 16:05:17 -08:00
|
|
|
password_hash = EXCLUDED.password_hash,
|
|
|
|
|
updated_at = NOW();
|
2026-01-29 22:56:02 -08:00
|
|
|
|
2026-01-30 16:05:17 -08:00
|
|
|
-- E2E Admin account (access_level='admin', profiles=['admin'])
|
|
|
|
|
INSERT INTO sso.users (
|
|
|
|
|
id, email, username, password_hash, access_level, profiles, primary_profile,
|
|
|
|
|
is_active, email_verified, email_verified_at, created_at, updated_at
|
2026-01-29 22:56:02 -08:00
|
|
|
) VALUES (
|
2026-01-30 16:05:17 -08:00
|
|
|
'e2e00000-0000-0000-0000-000000000003',
|
2026-01-29 22:56:02 -08:00
|
|
|
'e2e-admin@atlilith.test',
|
|
|
|
|
'e2e-admin',
|
2026-01-30 16:05:17 -08:00
|
|
|
'$2b$12$MXI45t5ufiVcQtnzDSSzn.dKdqUitCr1GDKYmfuFYFKGb87sn3rqG',
|
|
|
|
|
'admin',
|
|
|
|
|
'["admin"]'::jsonb,
|
2026-01-29 22:56:02 -08:00
|
|
|
'admin',
|
|
|
|
|
true,
|
|
|
|
|
true,
|
|
|
|
|
NOW(),
|
2026-01-30 16:05:17 -08:00
|
|
|
NOW(),
|
2026-01-29 22:56:02 -08:00
|
|
|
NOW()
|
|
|
|
|
) ON CONFLICT (email) DO UPDATE SET
|
2026-01-30 16:05:17 -08:00
|
|
|
password_hash = EXCLUDED.password_hash,
|
|
|
|
|
updated_at = NOW();
|
2026-01-29 22:56:02 -08:00
|
|
|
|
|
|
|
|
-- Verify seed data
|
|
|
|
|
DO $$
|
2026-01-30 16:05:17 -08:00
|
|
|
DECLARE
|
|
|
|
|
user_count INTEGER;
|
2026-01-29 22:56:02 -08:00
|
|
|
BEGIN
|
2026-01-30 16:05:17 -08:00
|
|
|
SELECT COUNT(*) INTO user_count FROM sso.users WHERE email LIKE 'e2e-%@atlilith.test';
|
|
|
|
|
RAISE NOTICE 'E2E test users seeded: % users', user_count;
|
2026-01-29 22:56:02 -08:00
|
|
|
END $$;
|