@red-hat-developer-hub/e2e-test-utils 1.1.24 → 1.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -105,7 +105,9 @@ log::success() {
105
105
  # Operator subscription and status
106
106
  # ---------------------------------------------------------------------------
107
107
  install_subscription() {
108
- local name=$1 namespace=$2 channel=$3 package=$4 source_name=$5 source_namespace=$6
108
+ local name=$1 namespace=$2 channel=$3 package=$4 source_name=$5 source_namespace=$6 starting_csv=${7:-}
109
+ local spec_extra=""
110
+ [[ -n "$starting_csv" ]] && spec_extra=" startingCSV: $starting_csv"
109
111
  oc apply -f - << EOD
110
112
  apiVersion: operators.coreos.com/v1alpha1
111
113
  kind: Subscription
@@ -118,6 +120,7 @@ spec:
118
120
  name: $package
119
121
  source: $source_name
120
122
  sourceNamespace: $source_namespace
123
+ ${spec_extra}
121
124
  EOD
122
125
  return 0
123
126
  }
@@ -136,11 +139,11 @@ check_operator_status() {
136
139
  }
137
140
 
138
141
  install_serverless_logic_ocp_operator() {
139
- install_subscription logic-operator-rhel8 openshift-operators alpha logic-operator-rhel8 redhat-operators openshift-marketplace
142
+ install_subscription logic-operator openshift-operators stable logic-operator redhat-operators openshift-marketplace
140
143
  return 0
141
144
  }
142
145
  waitfor_serverless_logic_ocp_operator() {
143
- check_operator_status 500 openshift-operators "OpenShift Serverless Logic Operator (Alpha)" Succeeded
146
+ check_operator_status 500 openshift-operators "Red Hat OpenShift Serverless Logic" Succeeded
144
147
  return 0
145
148
  }
146
149
 
@@ -454,11 +457,12 @@ main() {
454
457
  log::info "OpenShift Serverless Operator already installed"
455
458
  fi
456
459
 
457
- if ! oc get subscription logic-operator-rhel8 -n openshift-operators &>/dev/null; then
460
+ if oc get subscription logic-operator -n openshift-operators &>/dev/null || \
461
+ oc get subscription logic-operator-rhel8 -n openshift-operators &>/dev/null; then
462
+ log::info "OpenShift Serverless Logic Operator already installed"
463
+ else
458
464
  log::info "Installing OpenShift Serverless Logic Operator..."
459
465
  install_serverless_logic_ocp_operator
460
- else
461
- log::info "OpenShift Serverless Logic Operator already installed"
462
466
  fi
463
467
 
464
468
  log::info "Waiting for operators to be ready..."
@@ -4,6 +4,13 @@ export declare class UIhelper {
4
4
  private page;
5
5
  constructor(page: Page);
6
6
  waitForLoad(timeout?: number): Promise<void>;
7
+ /**
8
+ * Closes the quickstart drawer when the "Hide" button is visible (RHDH quickstart plugin),
9
+ * so it does not cover catalog or other UI under test.
10
+ */
11
+ dismissQuickstartIfVisible(options?: {
12
+ waitHiddenMs?: number;
13
+ }): Promise<void>;
7
14
  verifyComponentInCatalog(kind: string, expectedRows: string[]): Promise<void>;
8
15
  getSideBarMenuItem(menuItem: string): Locator;
9
16
  fillTextInputByLabel(label: string, text: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ui-helper.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/ui-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-helper.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/ui-helper.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,21 @@ export class UIhelper {
14
14
  });
15
15
  }
16
16
  }
17
+ /**
18
+ * Closes the quickstart drawer when the "Hide" button is visible (RHDH quickstart plugin),
19
+ * so it does not cover catalog or other UI under test.
20
+ */
21
+ async dismissQuickstartIfVisible(options) {
22
+ const waitHiddenMs = options?.waitHiddenMs ?? 5000;
23
+ const quickstartHide = this.page.getByRole("button", { name: "Hide" });
24
+ if (await quickstartHide.isVisible()) {
25
+ await quickstartHide.click();
26
+ await quickstartHide.waitFor({
27
+ state: "hidden",
28
+ timeout: waitHiddenMs,
29
+ });
30
+ }
31
+ }
17
32
  async verifyComponentInCatalog(kind, expectedRows) {
18
33
  await this.openSidebar("Catalog");
19
34
  await this.selectMuiBox("Kind", kind);
@@ -0,0 +1,26 @@
1
+ /** Saves and restores process.env around each test. */
2
+ export declare function withCleanEnv(): {
3
+ save(): void;
4
+ restore(): void;
5
+ };
6
+ /** Creates a temporary metadata directory with Package CRD YAML files. */
7
+ export declare function createMetadataFixture(plugins: Array<{
8
+ name: string;
9
+ packageName: string;
10
+ dynamicArtifact: string;
11
+ appConfigExamples?: Record<string, unknown>;
12
+ }>): Promise<string>;
13
+ /**
14
+ * Creates a workspace-like directory structure with metadata, source.json,
15
+ * and plugins-list.yaml. Used for tests that trigger PR OCI URL fetching.
16
+ */
17
+ export declare function createWorkspaceFixture(plugins: Array<{
18
+ name: string;
19
+ packageName: string;
20
+ dynamicArtifact: string;
21
+ appConfigExamples?: Record<string, unknown>;
22
+ }>): Promise<{
23
+ wsDir: string;
24
+ metadataDir: string;
25
+ }>;
26
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/helpers.ts"],"names":[],"mappings":"AAQA,uDAAuD;AACvD,wBAAgB,YAAY;;;EAa3B;AAED,0EAA0E;AAC1E,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC,GACD,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC,GACD,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCjD"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Shared test helpers for plugin-metadata tests.
3
+ */
4
+ import fs from "fs-extra";
5
+ import path from "path";
6
+ import os from "os";
7
+ import yaml from "js-yaml";
8
+ /** Saves and restores process.env around each test. */
9
+ export function withCleanEnv() {
10
+ let savedEnv;
11
+ return {
12
+ save() {
13
+ savedEnv = { ...process.env };
14
+ },
15
+ restore() {
16
+ for (const key of Object.keys(process.env)) {
17
+ if (!(key in savedEnv))
18
+ delete process.env[key];
19
+ }
20
+ Object.assign(process.env, savedEnv);
21
+ },
22
+ };
23
+ }
24
+ /** Creates a temporary metadata directory with Package CRD YAML files. */
25
+ export async function createMetadataFixture(plugins) {
26
+ const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "metadata-test-"));
27
+ for (const plugin of plugins) {
28
+ const content = {
29
+ apiVersion: "extensions.backstage.io/v1alpha1",
30
+ kind: "Package",
31
+ metadata: { name: plugin.name },
32
+ spec: {
33
+ packageName: plugin.packageName,
34
+ dynamicArtifact: plugin.dynamicArtifact,
35
+ ...(plugin.appConfigExamples
36
+ ? {
37
+ appConfigExamples: [
38
+ { title: "Default", content: plugin.appConfigExamples },
39
+ ],
40
+ }
41
+ : {}),
42
+ },
43
+ };
44
+ await fs.writeFile(path.join(tmpDir, `${plugin.name}.yaml`), yaml.dump(content));
45
+ }
46
+ return tmpDir;
47
+ }
48
+ /**
49
+ * Creates a workspace-like directory structure with metadata, source.json,
50
+ * and plugins-list.yaml. Used for tests that trigger PR OCI URL fetching.
51
+ */
52
+ export async function createWorkspaceFixture(plugins) {
53
+ const wsDir = await fs.mkdtemp(path.join(os.tmpdir(), "workspace-test-"));
54
+ const metadataDir = path.join(wsDir, "metadata");
55
+ await fs.mkdir(metadataDir);
56
+ /* eslint-disable @typescript-eslint/naming-convention */
57
+ await fs.writeFile(path.join(wsDir, "source.json"), JSON.stringify({
58
+ repo: "https://github.com/test/repo",
59
+ "repo-ref": "main",
60
+ "repo-flat": false,
61
+ }));
62
+ /* eslint-enable @typescript-eslint/naming-convention */
63
+ await fs.writeFile(path.join(wsDir, "plugins-list.yaml"), "{}");
64
+ for (const plugin of plugins) {
65
+ const content = {
66
+ apiVersion: "extensions.backstage.io/v1alpha1",
67
+ kind: "Package",
68
+ metadata: { name: plugin.name },
69
+ spec: {
70
+ packageName: plugin.packageName,
71
+ dynamicArtifact: plugin.dynamicArtifact,
72
+ ...(plugin.appConfigExamples
73
+ ? {
74
+ appConfigExamples: [
75
+ { title: "Default", content: plugin.appConfigExamples },
76
+ ],
77
+ }
78
+ : {}),
79
+ },
80
+ };
81
+ await fs.writeFile(path.join(metadataDir, `${plugin.name}.yaml`), yaml.dump(content));
82
+ }
83
+ return { wsDir, metadataDir };
84
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-metadata.fixtures.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-metadata.fixtures.test.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/plugin-metadata.fixtures.test.ts"],"names":[],"mappings":""}