kyush-llm-router/server/tests/setup.ts

36 lines
1.1 KiB
TypeScript

import { beforeAll, afterAll } from 'vitest';
import fs from 'fs';
import path from 'path';
const workerId = process.env.VITEST_POOL_ID || process.env.VITEST_WORKER_ID || String(process.pid);
const TEST_DB_DIR = path.join(__dirname, '..', 'data', `test-db-${workerId}`);
process.env.DB_DIR = TEST_DB_DIR;
process.env.TZ = 'Asia/Seoul';
process.env.ADMIN_AUTH_MODE = 'env';
process.env.ADMIN_USERNAME = 'admin';
process.env.ADMIN_PASSWORD_HASH = 'sha256$5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8';
process.env.ADMIN_SESSION_SECRET = 'test-admin-session-secret';
process.env.ADMIN_SESSION_TTL_HOURS = '12';
beforeAll(() => {
if (fs.existsSync(TEST_DB_DIR)) {
fs.rmSync(TEST_DB_DIR, { recursive: true, force: true });
}
});
afterAll(async () => {
const [{ closeDb }, { closeAnalyticsDb }, { closeRequestLogsDbs }] = await Promise.all([
import('../src/config/database'),
import('../src/config/analytics-db'),
import('../src/config/request-logs-db'),
]);
closeDb();
closeAnalyticsDb();
closeRequestLogsDbs();
if (fs.existsSync(TEST_DB_DIR)) {
fs.rmSync(TEST_DB_DIR, { recursive: true, force: true });
}
});