platform-deployments/e2e-prod/init-scripts/e2e-test-users.sql

85 lines
2.5 KiB
MySQL
Raw Permalink Normal View History

-- =============================================================================
-- 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!
--
-- Runs after 01-init.sql creates the sso schema and tables.
-- 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
) VALUES (
'e2e00000-0000-0000-0000-000000000001',
'e2e-worker@atlilith.test',
'e2e-worker',
'$2b$12$AJJv8.Ag41p6V1c0XMogaOgSCQgC7tcVaCQePMjGD8N0y4fxBXIre',
'user',
'["worker"]'::jsonb,
'worker',
true,
true,
NOW(),
NOW(),
NOW()
) ON CONFLICT (email) DO UPDATE SET
password_hash = EXCLUDED.password_hash,
updated_at = NOW();
-- 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
) VALUES (
'e2e00000-0000-0000-0000-000000000002',
'e2e-client@atlilith.test',
'e2e-client',
'$2b$12$0KDYn4hqqBwj7ZPbcfug0u/kBArssouDi2sZI/nREKtzNZVfEUESa',
'user',
'["client"]'::jsonb,
'client',
true,
true,
NOW(),
NOW(),
NOW()
) ON CONFLICT (email) DO UPDATE SET
password_hash = EXCLUDED.password_hash,
updated_at = NOW();
-- 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
) VALUES (
'e2e00000-0000-0000-0000-000000000003',
'e2e-admin@atlilith.test',
'e2e-admin',
'$2b$12$MXI45t5ufiVcQtnzDSSzn.dKdqUitCr1GDKYmfuFYFKGb87sn3rqG',
'admin',
'["admin"]'::jsonb,
'admin',
true,
true,
NOW(),
NOW(),
NOW()
) ON CONFLICT (email) DO UPDATE SET
password_hash = EXCLUDED.password_hash,
updated_at = NOW();
-- Verify seed data
DO $$
DECLARE
user_count INTEGER;
BEGIN
SELECT COUNT(*) INTO user_count FROM sso.users WHERE email LIKE 'e2e-%@atlilith.test';
RAISE NOTICE 'E2E test users seeded: % users', user_count;
END $$;