@red-hat-developer-hub/e2e-test-utils 1.10.0 → 2.1.1
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.
- package/dist/playwright/fixtures/test.d.ts +1 -0
- package/dist/playwright/fixtures/test.d.ts.map +1 -1
- package/dist/playwright/fixtures/test.js +21 -0
- package/dist/playwright/helpers/common.d.ts +0 -1
- package/dist/playwright/helpers/common.d.ts.map +1 -1
- package/dist/playwright/helpers/common.js +0 -4
- package/dist/playwright/helpers/ui-helper.d.ts.map +1 -1
- package/dist/playwright/helpers/ui-helper.js +2 -9
- package/dist/playwright/page-objects/global-obj.d.ts +0 -1
- package/dist/playwright/page-objects/global-obj.d.ts.map +1 -1
- package/dist/playwright/page-objects/global-obj.js +0 -1
- package/dist/utils/plugin-metadata.d.ts +3 -1
- package/dist/utils/plugin-metadata.d.ts.map +1 -1
- package/dist/utils/plugin-metadata.js +17 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/playwright/fixtures/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/playwright/fixtures/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMzC,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,IAAI,CAAC;IAEtB,kBAAkB,EAAE,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,oBAAoB,EAAE,cAAc,CAAC;CACtC,CAAC;AA4FF,eAAO,MAAM,IAAI;;CAEf,CAAC;AAEH,cAAc,kBAAkB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { LoginHelper, UIhelper } from "../helpers/index.js";
|
|
|
4
4
|
import { runOnce } from "../run-once.js";
|
|
5
5
|
import { $ } from "../../utils/bash.js";
|
|
6
6
|
import { WorkspacePaths } from "../../utils/workspace-paths.js";
|
|
7
|
+
import fs from "node:fs";
|
|
7
8
|
import path from "path";
|
|
8
9
|
const baseTest = base.extend({
|
|
9
10
|
rhdhDeploymentWorker: [
|
|
@@ -56,6 +57,26 @@ const baseTest = base.extend({
|
|
|
56
57
|
},
|
|
57
58
|
{ auto: true, scope: "test" },
|
|
58
59
|
],
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
61
|
+
_coverageCollector: [
|
|
62
|
+
async ({ page }, use, testInfo) => {
|
|
63
|
+
await use();
|
|
64
|
+
if (process.env.E2E_COLLECT_COVERAGE !== "true")
|
|
65
|
+
return;
|
|
66
|
+
try {
|
|
67
|
+
const coverage = await page.evaluate(() => globalThis.__coverage__);
|
|
68
|
+
if (!coverage)
|
|
69
|
+
return;
|
|
70
|
+
const dir = path.join(testInfo.project.outputDir, "coverage");
|
|
71
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
72
|
+
fs.writeFileSync(path.join(dir, `${testInfo.testId}-${Date.now()}.json`), JSON.stringify(coverage));
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Best-effort: page may have crashed or been closed
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{ auto: true, scope: "test" },
|
|
79
|
+
],
|
|
59
80
|
});
|
|
60
81
|
export const test = Object.assign(baseTest, {
|
|
61
82
|
runOnce,
|
|
@@ -14,7 +14,6 @@ export declare class LoginHelper {
|
|
|
14
14
|
private handleGithubPopupReauth;
|
|
15
15
|
googleSignIn(email: string): Promise<void>;
|
|
16
16
|
checkAndClickOnGHloginPopup(force?: boolean): Promise<void>;
|
|
17
|
-
getButtonSelector(label: string): string;
|
|
18
17
|
getLoginBtnSelector(): string;
|
|
19
18
|
clickOnGHloginPopup(): Promise<void>;
|
|
20
19
|
getGitHub2FAOTP(userid: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMhE,qBAAa,WAAW;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;gBAEP,IAAI,EAAE,IAAI;IAKhB,YAAY;IAcZ,OAAO;YAMC,aAAa;IA2CrB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAO7D,mBAAmB,CACvB,MAAM,GAAE,MAAkC,EAC1C,QAAQ,GAAE,MAAkC;IAWxC,iBAAiB,CACrB,MAAM,GAAE,MAA+C;IAoDnD,4BAA4B;YASpB,uBAAuB;IAgB/B,YAAY,CAAC,KAAK,EAAE,MAAM;IA2B1B,2BAA2B,CAAC,KAAK,UAAQ;IAU/C,mBAAmB,IAAI,MAAM;IAIvB,mBAAmB;IAgBzB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAevC,eAAe,IAAI,MAAM;IAKnB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;YAqCxC,sBAAsB;IAoD9B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAYjE,2BAA2B,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAYb,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CA2C7D;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;;;GAWtE"}
|
|
@@ -2,7 +2,6 @@ import { UIhelper } from "./ui-helper.js";
|
|
|
2
2
|
import { authenticator } from "otplib";
|
|
3
3
|
import { test, expect } from "@playwright/test";
|
|
4
4
|
import { SETTINGS_PAGE_COMPONENTS } from "../page-objects/page-obj.js";
|
|
5
|
-
import { UI_HELPER_ELEMENTS } from "../page-objects/global-obj.js";
|
|
6
5
|
import * as path from "path";
|
|
7
6
|
import * as fs from "fs";
|
|
8
7
|
import { DEFAULT_USERS } from "../../deployment/keycloak/constants.js";
|
|
@@ -169,9 +168,6 @@ export class LoginHelper {
|
|
|
169
168
|
throw error;
|
|
170
169
|
}
|
|
171
170
|
}
|
|
172
|
-
getButtonSelector(label) {
|
|
173
|
-
return `${UI_HELPER_ELEMENTS.MuiButtonLabel}:has-text("${label}")`;
|
|
174
|
-
}
|
|
175
171
|
getLoginBtnSelector() {
|
|
176
172
|
return 'MuiListItem-root li.MuiListItem-root button.MuiButton-root:has(span.MuiButton-label:text("Log in"))';
|
|
177
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-helper.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/ui-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,IAAI;IAIhB,WAAW,CAAC,OAAO,SAAS;IASlC;;;OAGG;IACG,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAY9D,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;IAMnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAItD;;;;OAIG;IACG,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAOzC,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAIvC,QAAQ;IAIR,aAAa,CAAC,IAAI,EAAE,MAAM;IAO1B,eAAe,CAAC,IAAI,EAAE,MAAM;IAO5B,WAAW,CACf,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAG1C;
|
|
1
|
+
{"version":3,"file":"ui-helper.d.ts","sourceRoot":"","sources":["../../../src/playwright/helpers/ui-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,17 +70,10 @@ export class UIhelper {
|
|
|
70
70
|
exact: true,
|
|
71
71
|
force: false,
|
|
72
72
|
}) {
|
|
73
|
-
const selector = `${UI_HELPER_ELEMENTS.MuiButtonLabel}`;
|
|
74
73
|
const button = this.page
|
|
75
|
-
.
|
|
76
|
-
.getByText(label, { exact: options.exact })
|
|
74
|
+
.getByRole("button", { name: label, exact: options.exact })
|
|
77
75
|
.first();
|
|
78
|
-
|
|
79
|
-
await button.click({ force: true });
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
await button.click();
|
|
83
|
-
}
|
|
76
|
+
await button.click({ force: options.force });
|
|
84
77
|
return button;
|
|
85
78
|
}
|
|
86
79
|
async clickBtnByTitleIfNotPressed(title) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-obj.d.ts","sourceRoot":"","sources":["../../../src/playwright/page-objects/global-obj.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;CAGxB,CAAC;AAEF,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"global-obj.d.ts","sourceRoot":"","sources":["../../../src/playwright/page-objects/global-obj.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;CAGxB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;2BASN,MAAM;4BAEL,MAAM;;;;;;;sBAQZ,MAAM;CACzB,CAAC"}
|
|
@@ -3,7 +3,6 @@ export const WAIT_OBJECTS = {
|
|
|
3
3
|
MuiCircularProgress: '[class*="MuiCircularProgress-root"]',
|
|
4
4
|
};
|
|
5
5
|
export const UI_HELPER_ELEMENTS = {
|
|
6
|
-
MuiButtonLabel: 'span[class^="MuiButton-label"],button[class*="MuiButton-root"]',
|
|
7
6
|
MuiToggleButtonLabel: 'span[class^="MuiToggleButton-label"]',
|
|
8
7
|
MuiBoxLabel: 'div[class*="MuiBox-root"] label',
|
|
9
8
|
MuiTableHead: 'th[class*="MuiTableCell-root"]',
|
|
@@ -3,6 +3,7 @@ export interface PluginMetadata {
|
|
|
3
3
|
pluginConfig: Record<string, unknown>;
|
|
4
4
|
packageName: string;
|
|
5
5
|
sourceFile: string;
|
|
6
|
+
role?: string;
|
|
6
7
|
}
|
|
7
8
|
export interface PluginEntry {
|
|
8
9
|
package: string;
|
|
@@ -33,7 +34,8 @@ export declare function isNightlyJob(): boolean;
|
|
|
33
34
|
* {{inherit}} tag resolution vs which need full OCI refs from metadata.
|
|
34
35
|
*
|
|
35
36
|
* Branch is determined by RELEASE_BRANCH_NAME (set by OpenShift CI),
|
|
36
|
-
* defaulting to "main" for local development.
|
|
37
|
+
* defaulting to "main" for local development. For release-1.10 the file
|
|
38
|
+
* lives in the rhdh repo; all other branches use rhdh-plugin-export-overlays.
|
|
37
39
|
*/
|
|
38
40
|
export declare function fetchDefaultPackages(): Promise<Set<string>>;
|
|
39
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/plugin-metadata.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/plugin-metadata.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAqBtC;AAoBD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA+CjE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAc3D;AAID;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI5D;AAYD,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD,wBAAgB,oBAAoB,CAClC,YAAY,GAAE,MAA8B,GAC3C,MAAM,GAAG,IAAI,CAQf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAwBtC;AA2JD;;;;;;;GAOG;AACH;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAMT;AA0HD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAW7E;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,GAAE,MAA8B,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAwB/B;AA2BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,oBAAoB,EAC5B,YAAY,GAAE,MAA8B,EAC5C,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAsC/B"}
|
|
@@ -34,6 +34,8 @@ export function isNightlyJob() {
|
|
|
34
34
|
}
|
|
35
35
|
// ── Default Packages (DPDY) ──────────────────────────────────────────────────
|
|
36
36
|
const DEFAULT_PACKAGES_BASE_URL = "https://raw.githubusercontent.com/redhat-developer/rhdh-plugin-export-overlays/refs/heads";
|
|
37
|
+
// release-1.10 still hosts default.packages.yaml in the rhdh repo (pre-migration)
|
|
38
|
+
const LEGACY_DEFAULT_PACKAGES_BASE_URL = "https://raw.githubusercontent.com/redhat-developer/rhdh/refs/heads";
|
|
37
39
|
const DEFAULT_DPDY_OCI_REGISTRY = "registry.access.redhat.com/rhdh";
|
|
38
40
|
/**
|
|
39
41
|
* Fetches the list of packages from default.packages.yaml (source for the
|
|
@@ -42,7 +44,8 @@ const DEFAULT_DPDY_OCI_REGISTRY = "registry.access.redhat.com/rhdh";
|
|
|
42
44
|
* {{inherit}} tag resolution vs which need full OCI refs from metadata.
|
|
43
45
|
*
|
|
44
46
|
* Branch is determined by RELEASE_BRANCH_NAME (set by OpenShift CI),
|
|
45
|
-
* defaulting to "main" for local development.
|
|
47
|
+
* defaulting to "main" for local development. For release-1.10 the file
|
|
48
|
+
* lives in the rhdh repo; all other branches use rhdh-plugin-export-overlays.
|
|
46
49
|
*/
|
|
47
50
|
export async function fetchDefaultPackages() {
|
|
48
51
|
const branch = process.env.RELEASE_BRANCH_NAME;
|
|
@@ -53,7 +56,10 @@ export async function fetchDefaultPackages() {
|
|
|
53
56
|
console.log("[PluginMetadata] RELEASE_BRANCH_NAME not set — defaulting to 'main' (local dev)");
|
|
54
57
|
}
|
|
55
58
|
const resolvedBranch = branch || "main";
|
|
56
|
-
const
|
|
59
|
+
const baseUrl = resolvedBranch === "release-1.10"
|
|
60
|
+
? LEGACY_DEFAULT_PACKAGES_BASE_URL
|
|
61
|
+
: DEFAULT_PACKAGES_BASE_URL;
|
|
62
|
+
const url = `${baseUrl}/${resolvedBranch}/default.packages.yaml`;
|
|
57
63
|
console.log(`[PluginMetadata] Fetching default packages from ${url} (branch: ${resolvedBranch})...`);
|
|
58
64
|
const response = await fetch(url);
|
|
59
65
|
if (!response.ok) {
|
|
@@ -135,6 +141,7 @@ export async function parseMetadataFile(filePath) {
|
|
|
135
141
|
const packagePath = parsed?.spec?.dynamicArtifact;
|
|
136
142
|
const packageName = parsed?.spec?.packageName;
|
|
137
143
|
const pluginConfig = parsed?.spec?.appConfigExamples?.[0]?.content;
|
|
144
|
+
const role = parsed?.spec?.backstage?.role;
|
|
138
145
|
if (!packagePath) {
|
|
139
146
|
throw new Error(`[PluginMetadata] Missing required field spec.dynamicArtifact in ${filePath}`);
|
|
140
147
|
}
|
|
@@ -146,6 +153,7 @@ export async function parseMetadataFile(filePath) {
|
|
|
146
153
|
pluginConfig: pluginConfig || {},
|
|
147
154
|
packageName,
|
|
148
155
|
sourceFile: filePath,
|
|
156
|
+
role,
|
|
149
157
|
};
|
|
150
158
|
}
|
|
151
159
|
export async function parseAllMetadataFiles(metadataDir) {
|
|
@@ -294,8 +302,13 @@ async function resolvePluginPackages(plugins, metadataMap, metadataPath, dpdyPac
|
|
|
294
302
|
if (prOciUrls) {
|
|
295
303
|
const prUrl = prOciUrls.get(displayName);
|
|
296
304
|
if (prUrl) {
|
|
297
|
-
|
|
298
|
-
|
|
305
|
+
const usesCoverage = process.env.E2E_COLLECT_COVERAGE === "true" &&
|
|
306
|
+
metadata.role === "frontend-plugin";
|
|
307
|
+
const resolved = usesCoverage
|
|
308
|
+
? prUrl.replace(/(:[^!]+)/, "$1__coverage")
|
|
309
|
+
: prUrl;
|
|
310
|
+
console.log(`[PluginMetadata] PR: ${pkg} → ${resolved}`);
|
|
311
|
+
return { ...plugin, package: resolved };
|
|
299
312
|
}
|
|
300
313
|
}
|
|
301
314
|
// Nightly: if the plugin is in default.packages.yaml and its metadata
|