This commit is contained in:
@@ -3,6 +3,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
vi.mock('../../src/lib/server/db/migrate.js', () => ({ migrate: vi.fn() }));
|
||||
vi.mock('../../src/lib/server/pipeline/worker.js', () => ({ startWorker: vi.fn() }));
|
||||
vi.mock('../../src/lib/server/discord/worker.js', () => ({ startDiscordWorker: vi.fn() }));
|
||||
vi.mock('../../src/lib/server/provisioning/history.js', () => ({ interruptDeployments: vi.fn() }));
|
||||
vi.mock('../../src/lib/server/auth/guard.js', () => ({
|
||||
authenticationHandle: vi.fn(async () => new Response('OK'))
|
||||
@@ -24,7 +25,13 @@ afterEach(() => {
|
||||
});
|
||||
|
||||
describe('controller error handling', () => {
|
||||
it.each(['migration', 'deployment recovery', 'worker startup', 'performance monitor'] as const)(
|
||||
it.each([
|
||||
'migration',
|
||||
'deployment recovery',
|
||||
'worker startup',
|
||||
'Discord startup',
|
||||
'performance monitor'
|
||||
] as const)(
|
||||
'retries failed %s before serving requests and boots only once after recovery',
|
||||
async (phase) => {
|
||||
const { handle } = await import('../../src/hooks.server.js');
|
||||
@@ -32,13 +39,21 @@ describe('controller error handling', () => {
|
||||
const { interruptDeployments } =
|
||||
await import('../../src/lib/server/provisioning/history.js');
|
||||
const { startWorker } = await import('../../src/lib/server/pipeline/worker.js');
|
||||
const { startDiscordWorker } = await import('../../src/lib/server/discord/worker.js');
|
||||
const { startPerformanceMonitor } = await import('../../src/lib/server/performance.js');
|
||||
const { authenticationHandle } = await import('../../src/lib/server/auth/guard.js');
|
||||
const steps = [migrate, interruptDeployments, startWorker, startPerformanceMonitor];
|
||||
const steps = [
|
||||
migrate,
|
||||
interruptDeployments,
|
||||
startWorker,
|
||||
startDiscordWorker,
|
||||
startPerformanceMonitor
|
||||
];
|
||||
const failedStep = [
|
||||
'migration',
|
||||
'deployment recovery',
|
||||
'worker startup',
|
||||
'Discord startup',
|
||||
'performance monitor'
|
||||
].indexOf(phase);
|
||||
const failure = new Error('database or disk is full');
|
||||
|
||||
Reference in New Issue
Block a user