diff --git a/tdrive/backend/node/src/core/platform/services/diagnostics/providers/process.ts b/tdrive/backend/node/src/core/platform/services/diagnostics/providers/process.ts index 35d085d4..eca74dfc 100644 --- a/tdrive/backend/node/src/core/platform/services/diagnostics/providers/process.ts +++ b/tdrive/backend/node/src/core/platform/services/diagnostics/providers/process.ts @@ -1,12 +1,17 @@ import diagnostics from "../../../framework/api/diagnostics"; +export const e2eTestOverride = { + // Set to true to force fail to test diagnostic aggregation + forceFail: false, +}; + export default () => diagnostics.registerProviders({ key: "process", tags: ["live", "ready"], async get() { return { - ok: true, + ok: !e2eTestOverride.forceFail, gc: !!global.gc, pid: process.pid, mem: process.memoryUsage(), diff --git a/tdrive/backend/node/test/e2e/diagnostics/diagnostics.spec.ts b/tdrive/backend/node/test/e2e/diagnostics/diagnostics.spec.ts index 685ac62b..b6c0536b 100644 --- a/tdrive/backend/node/test/e2e/diagnostics/diagnostics.spec.ts +++ b/tdrive/backend/node/test/e2e/diagnostics/diagnostics.spec.ts @@ -2,6 +2,7 @@ import "reflect-metadata"; import { afterAll, beforeEach, describe, expect, it, jest } from "@jest/globals"; import { init, TestPlatform } from "../setup"; import { getConfig as getDiagnosticsConfig } from "../../../src/core/platform/framework/api/diagnostics"; +import { e2eTestOverride as processDiagnosticProviderE2EOverride } from "../../../src/core/platform/services/diagnostics/providers/process"; describe("The diagnostics infrastucture", () => { let platform: TestPlatform; @@ -48,4 +49,15 @@ describe("The diagnostics infrastucture", () => { expect(result.statusCode).toBe(200); expect(result.json().ok).toBe(true); }); + + it("should aggregate failure", async () => { + try { + processDiagnosticProviderE2EOverride.forceFail = true; + const result = await getDiagnosticTags("ready", diagnosticConfig.probeSecret!); + expect(result.statusCode).toBe(503); + expect(result.json().ok).toBe(false); + } finally { + processDiagnosticProviderE2EOverride.forceFail = false; + } + }); });