From 0337290463f62b0c1c8ba4a911a5eeef0a93c5f5 Mon Sep 17 00:00:00 2001 From: Gustavo Lira Date: Mon, 23 Mar 2026 10:17:42 -0300 Subject: [PATCH 1/5] test: skip orchestrator failswitch-workflow tests on AKS Orchestrator plugin is disabled on AKS but this test suite was not being skipped, causing consistent timeout failures. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../e2e/plugins/orchestrator/failswitch-workflow.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts index 4a91c19799..e33d52acf2 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts @@ -9,6 +9,7 @@ import { LogUtils } from "../../audit-log/log-utils"; test.describe("Orchestrator failswitch workflow tests", () => { test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); // skipping orchestrator tests on OSD-GCP due to infra not being installed test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); // skipping orchestrator tests on GKE - plugins disabled to save disk space + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); // skipping orchestrator tests on AKS - plugins disabled let uiHelper: UIhelper; let common: Common; From 80eda15cd401bff68cf18225f2c1106b2cdb220f Mon Sep 17 00:00:00 2001 From: Gustavo Lira Date: Mon, 23 Mar 2026 10:40:15 -0300 Subject: [PATCH 2/5] test: also skip orchestrator failswitch-workflow tests on EKS Co-Authored-By: Claude Opus 4.6 (1M context) --- .../e2e/plugins/orchestrator/failswitch-workflow.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts index e33d52acf2..81aba85937 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts @@ -10,6 +10,7 @@ test.describe("Orchestrator failswitch workflow tests", () => { test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); // skipping orchestrator tests on OSD-GCP due to infra not being installed test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); // skipping orchestrator tests on GKE - plugins disabled to save disk space test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); // skipping orchestrator tests on AKS - plugins disabled + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); // skipping orchestrator tests on EKS - plugins disabled let uiHelper: UIhelper; let common: Common; From 8b15164298f2b115d805a460c242d51d5ebef660 Mon Sep 17 00:00:00 2001 From: Gustavo Lira Date: Mon, 23 Mar 2026 10:42:41 -0300 Subject: [PATCH 3/5] refactor: extract skipOrchestratorOnUnsupportedPlatforms helper Consolidate repeated skip blocks across all orchestrator test files into a single reusable helper function, so adding a new platform only requires a one-line change. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../orchestrator/failswitch-workflow.spec.ts | 8 ++--- .../orchestrator/greeting-workflow.spec.ts | 7 ++-- .../workflow-all-runs-validations.spec.ts | 7 ++-- e2e-tests/playwright/utils/helper.ts | 32 ++++++++++++++++--- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts index 81aba85937..f2d6ff6485 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts @@ -2,15 +2,11 @@ import { test, expect } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipIfJobName } from "../../../utils/helper"; -import { JOB_NAME_PATTERNS } from "../../../utils/constants"; +import { skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; import { LogUtils } from "../../audit-log/log-utils"; test.describe("Orchestrator failswitch workflow tests", () => { - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); // skipping orchestrator tests on OSD-GCP due to infra not being installed - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); // skipping orchestrator tests on GKE - plugins disabled to save disk space - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); // skipping orchestrator tests on AKS - plugins disabled - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); // skipping orchestrator tests on EKS - plugins disabled + skipOrchestratorOnUnsupportedPlatforms(test); let uiHelper: UIhelper; let common: Common; diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts index b2f968c1f9..757ee4b713 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts @@ -2,14 +2,11 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipIfJobName } from "../../../utils/helper"; +import { skipIfJobName, skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator greeting workflow tests", () => { - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); // skipping orchestrator tests on OSD-GCP due to infra not being installed - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); // skipping orchestrator tests on GKE - plugins disabled - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); // skipping orchestrator tests on AKS - plugins disabled - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); // skipping orchestrator tests on EKS - plugins disabled + skipOrchestratorOnUnsupportedPlatforms(test); // TODO: https://issues.redhat.com/browse/RHDHBUGS-2184 fix orchestrator tests on Operator deployment test.fixme(() => skipIfJobName(JOB_NAME_PATTERNS.OPERATOR)); diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts index ba386693af..833f24356e 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts @@ -2,14 +2,11 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipIfJobName } from "../../../utils/helper"; +import { skipIfJobName, skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator Workflow Runs tests", () => { - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); // skipping orchestrator tests on OSD-GCP due to infra not being installed - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); // skipping orchestrator tests on GKE - plugins disabled - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); // skipping orchestrator tests on AKS - plugins disabled - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); // skipping orchestrator tests on EKS - plugins disabled + skipOrchestratorOnUnsupportedPlatforms(test); // TODO: https://issues.redhat.com/browse/RHDHBUGS-2184 fix orchestrator tests on Operator deployment test.fixme(() => skipIfJobName(JOB_NAME_PATTERNS.OPERATOR)); diff --git a/e2e-tests/playwright/utils/helper.ts b/e2e-tests/playwright/utils/helper.ts index 55668265cc..9f0b480644 100644 --- a/e2e-tests/playwright/utils/helper.ts +++ b/e2e-tests/playwright/utils/helper.ts @@ -1,10 +1,11 @@ import { type Page, type Locator } from "@playwright/test"; import fs from "fs"; -import type { - JobNamePattern, - JobNameRegexPattern, - JobTypePattern, - IsOpenShiftValue, +import { + JOB_NAME_PATTERNS, + type JobNamePattern, + type JobNameRegexPattern, + type JobTypePattern, + type IsOpenShiftValue, } from "./constants"; export async function downloadAndReadFile( @@ -104,3 +105,24 @@ export function skipIfJobType(jobTypePattern: JobTypePattern): boolean { export function skipIfIsOpenShift(isOpenShiftValue: IsOpenShiftValue): boolean { return process.env.IS_OPENSHIFT === isOpenShiftValue; } + +/** + * Skips orchestrator tests on platforms where the orchestrator plugin is disabled. + * Call this inside a test.describe() block to skip all tests in the suite. + * + * @param test - Playwright test object + * + * @example + * test.describe("Orchestrator tests", () => { + * skipOrchestratorOnUnsupportedPlatforms(test); + * // ...tests + * }); + */ +export function skipOrchestratorOnUnsupportedPlatforms(test: { + skip: (fn: () => boolean) => void; +}): void { + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); + test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); +} From a33d8834c36c081562608c683d5b2577b25310b9 Mon Sep 17 00:00:00 2001 From: Gustavo Lira Date: Mon, 23 Mar 2026 11:09:00 -0300 Subject: [PATCH 4/5] style: fix prettier formatting Co-Authored-By: Claude Opus 4.6 (1M context) --- .../e2e/plugins/orchestrator/greeting-workflow.spec.ts | 5 ++++- .../orchestrator/workflow-all-runs-validations.spec.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts index 757ee4b713..e09a6a0d96 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts @@ -2,7 +2,10 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipIfJobName, skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; +import { + skipIfJobName, + skipOrchestratorOnUnsupportedPlatforms, +} from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator greeting workflow tests", () => { diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts index 833f24356e..87e1508ad7 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts @@ -2,7 +2,10 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipIfJobName, skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; +import { + skipIfJobName, + skipOrchestratorOnUnsupportedPlatforms, +} from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator Workflow Runs tests", () => { From 416a937445f166f67b83b0239144e42e531e4f92 Mon Sep 17 00:00:00 2001 From: Gustavo Lira Date: Mon, 23 Mar 2026 11:54:17 -0300 Subject: [PATCH 5/5] refactor: skip orchestrator tests on non-OpenShift via playwright config Use IS_OPENSHIFT env var in playwright.config.ts to skip orchestrator tests on all non-OpenShift platforms (AKS, EKS, GKE) instead of per-file skip calls. This removes the need to update every test file when a new platform is added. Reverts the skipOrchestratorOnUnsupportedPlatforms helper in favor of this cleaner config-level approach. Co-Authored-By: Claude Opus 4.6 (1M context) --- e2e-tests/playwright.config.ts | 5 ++- .../orchestrator/failswitch-workflow.spec.ts | 3 -- .../orchestrator/greeting-workflow.spec.ts | 6 +--- .../workflow-all-runs-validations.spec.ts | 6 +--- e2e-tests/playwright/utils/helper.ts | 32 +++---------------- 5 files changed, 11 insertions(+), 41 deletions(-) diff --git a/e2e-tests/playwright.config.ts b/e2e-tests/playwright.config.ts index d84b17080a..ef12615f56 100644 --- a/e2e-tests/playwright.config.ts +++ b/e2e-tests/playwright.config.ts @@ -11,7 +11,10 @@ const isPrOcpHelmJob = const isOsdGcpJob = process.env.JOB_NAME.includes("osd-gcp"); -const shouldSkipOrchestratorTests = isPrOcpHelmJob || isOsdGcpJob; +const isNonOpenShiftJob = process.env.IS_OPENSHIFT === "false"; + +const shouldSkipOrchestratorTests = + isPrOcpHelmJob || isOsdGcpJob || isNonOpenShiftJob; // Set LOCALE based on which project is being run const args = process.argv; diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts index f2d6ff6485..456a878df0 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/failswitch-workflow.spec.ts @@ -2,12 +2,9 @@ import { test, expect } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { skipOrchestratorOnUnsupportedPlatforms } from "../../../utils/helper"; import { LogUtils } from "../../audit-log/log-utils"; test.describe("Orchestrator failswitch workflow tests", () => { - skipOrchestratorOnUnsupportedPlatforms(test); - let uiHelper: UIhelper; let common: Common; let orchestrator: Orchestrator; diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts index e09a6a0d96..77c2bebc8c 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/greeting-workflow.spec.ts @@ -2,14 +2,10 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { - skipIfJobName, - skipOrchestratorOnUnsupportedPlatforms, -} from "../../../utils/helper"; +import { skipIfJobName } from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator greeting workflow tests", () => { - skipOrchestratorOnUnsupportedPlatforms(test); // TODO: https://issues.redhat.com/browse/RHDHBUGS-2184 fix orchestrator tests on Operator deployment test.fixme(() => skipIfJobName(JOB_NAME_PATTERNS.OPERATOR)); diff --git a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts index 87e1508ad7..4c936d4d86 100644 --- a/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/orchestrator/workflow-all-runs-validations.spec.ts @@ -2,14 +2,10 @@ import { test } from "@playwright/test"; import { UIhelper } from "../../../utils/ui-helper"; import { Common } from "../../../utils/common"; import { Orchestrator } from "../../../support/pages/orchestrator"; -import { - skipIfJobName, - skipOrchestratorOnUnsupportedPlatforms, -} from "../../../utils/helper"; +import { skipIfJobName } from "../../../utils/helper"; import { JOB_NAME_PATTERNS } from "../../../utils/constants"; test.describe("Orchestrator Workflow Runs tests", () => { - skipOrchestratorOnUnsupportedPlatforms(test); // TODO: https://issues.redhat.com/browse/RHDHBUGS-2184 fix orchestrator tests on Operator deployment test.fixme(() => skipIfJobName(JOB_NAME_PATTERNS.OPERATOR)); diff --git a/e2e-tests/playwright/utils/helper.ts b/e2e-tests/playwright/utils/helper.ts index 9f0b480644..55668265cc 100644 --- a/e2e-tests/playwright/utils/helper.ts +++ b/e2e-tests/playwright/utils/helper.ts @@ -1,11 +1,10 @@ import { type Page, type Locator } from "@playwright/test"; import fs from "fs"; -import { - JOB_NAME_PATTERNS, - type JobNamePattern, - type JobNameRegexPattern, - type JobTypePattern, - type IsOpenShiftValue, +import type { + JobNamePattern, + JobNameRegexPattern, + JobTypePattern, + IsOpenShiftValue, } from "./constants"; export async function downloadAndReadFile( @@ -105,24 +104,3 @@ export function skipIfJobType(jobTypePattern: JobTypePattern): boolean { export function skipIfIsOpenShift(isOpenShiftValue: IsOpenShiftValue): boolean { return process.env.IS_OPENSHIFT === isOpenShiftValue; } - -/** - * Skips orchestrator tests on platforms where the orchestrator plugin is disabled. - * Call this inside a test.describe() block to skip all tests in the suite. - * - * @param test - Playwright test object - * - * @example - * test.describe("Orchestrator tests", () => { - * skipOrchestratorOnUnsupportedPlatforms(test); - * // ...tests - * }); - */ -export function skipOrchestratorOnUnsupportedPlatforms(test: { - skip: (fn: () => boolean) => void; -}): void { - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.OSD_GCP)); - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.GKE)); - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.AKS)); - test.skip(() => skipIfJobName(JOB_NAME_PATTERNS.EKS)); -}