diff --git a/tasks/test.yaml b/tasks/test.yaml index a67d9fd589..6877188050 100644 --- a/tasks/test.yaml +++ b/tasks/test.yaml @@ -119,6 +119,8 @@ tasks: npx playwright test \ " - description: "Run E2E Tests" + env: + - EXCLUDED_PACKAGES=${EXCLUDED_PACKAGES} cmd: | npm ci # TODO: Remove this conditional exclude once Fleet admin realm updates are included in a released Core baseline. diff --git a/test/vitest/uptime.spec.ts b/test/vitest/uptime.spec.ts index b27da90e86..c81e3d48d8 100644 --- a/test/vitest/uptime.spec.ts +++ b/test/vitest/uptime.spec.ts @@ -45,6 +45,28 @@ describe("Uptime Probes", { timeout: 210000 }, () => { const result = await expectProbeSuccess(url); expect(result).toBe(1); }); + + // Certain packages may not be deployed every test + const conditionalBlackboxTargets = new Map([ + ["https://portal.uds.dev/healthz", "portal"], + ]); + + const excludedPackages = new Set( + (process.env.EXCLUDED_PACKAGES ?? "") + .split(",") + .map(packageName => packageName.trim()) + .filter(Boolean), + ); + + for (const [url, packageName] of conditionalBlackboxTargets) { + test.skipIf(excludedPackages.has(packageName))( + `probe_success metric should be 1 for ${url}`, + async () => { + const result = await expectProbeSuccess(url); + expect(result).toBe(1); + }, + ); + } }); describe("Uptime Recording Rules", { timeout: 210000 }, () => {