n8n/packages/testing/containers/startup-diagnostics.ts
n8n-cat-bot[bot] d848b812c0
test: Surface n8n startup logs and readiness payload (#31020)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Declan Carroll <declan@n8n.io>
2026-05-28 19:47:53 +00:00

30 lines
898 B
TypeScript

import type { N8NStartupDiagnostics } from './services/n8n';
// Module-global because the playwright `n8nContainer` worker fixture re-throws
// when `createN8NStack` fails, so dependent fixtures only see `n8nContainer ===
// undefined` and have no fixture-graph path to the captured diagnostics. Scoped
// per worker — playwright workers are separate processes.
let latestStartupFailure: {
projectName: string;
diagnostics: N8NStartupDiagnostics;
message: string;
} | null = null;
export function recordStartupFailure(
projectName: string,
diagnostics: N8NStartupDiagnostics,
message: string,
): void {
latestStartupFailure = { projectName, diagnostics, message };
}
export function consumeStartupFailure(): {
projectName: string;
diagnostics: N8NStartupDiagnostics;
message: string;
} | null {
const failure = latestStartupFailure;
latestStartupFailure = null;
return failure;
}