@red-hat-developer-hub/e2e-test-utils 1.1.12 → 1.1.13
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/deployment/rhdh/config/auth/github/app-config.yaml +17 -0
- package/dist/deployment/rhdh/config/auth/github/secrets.yaml +12 -0
- package/dist/deployment/rhdh/constants.d.ts +2 -0
- package/dist/deployment/rhdh/constants.d.ts.map +1 -1
- package/dist/deployment/rhdh/constants.js +6 -0
- package/dist/deployment/rhdh/deployment.d.ts.map +1 -1
- package/dist/deployment/rhdh/deployment.js +1 -1
- package/dist/deployment/rhdh/types.d.ts +1 -1
- package/dist/deployment/rhdh/types.d.ts.map +1 -1
- package/dist/playwright/helpers/api-helper.js +1 -1
- package/dist/playwright/helpers/common.d.ts.map +1 -1
- package/dist/playwright/helpers/common.js +7 -7
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
auth:
|
|
2
|
+
environment: production
|
|
3
|
+
session:
|
|
4
|
+
secret: superSecretSecret
|
|
5
|
+
providers:
|
|
6
|
+
github:
|
|
7
|
+
production:
|
|
8
|
+
clientSecret: ${GITHUB_OAUTH_APP_SECRET}
|
|
9
|
+
clientId: ${GITHUB_OAUTH_APP_ID}
|
|
10
|
+
callbackUrl: ${RHDH_BASE_URL}/api/auth/github/handler/frame
|
|
11
|
+
signInPage: github
|
|
12
|
+
catalog:
|
|
13
|
+
locations:
|
|
14
|
+
- type: url
|
|
15
|
+
target: https://github.com/janus-qe/test-user-entity/blob/main/user.yaml
|
|
16
|
+
rules:
|
|
17
|
+
- allow: [User]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Secret
|
|
3
|
+
metadata:
|
|
4
|
+
name: rhdh-secrets
|
|
5
|
+
type: Opaque
|
|
6
|
+
stringData:
|
|
7
|
+
GITHUB_OAUTH_APP_ID: $VAULT_GITHUB_OAUTH_OVERLAYS_APP_ID
|
|
8
|
+
GITHUB_OAUTH_APP_SECRET: $VAULT_GITHUB_OAUTH_OVERLAYS_APP_SECRET
|
|
9
|
+
GH_USER_ID: $VAULT_GH_USER_ID
|
|
10
|
+
GH_USER_PASS: $VAULT_GH_USER_PASS
|
|
11
|
+
GH_2FA_SECRET: $VAULT_GH_2FA_SECRET
|
|
12
|
+
GH_RHDH_QE_USER_TOKEN: $VAULT_GITHUB_USER_TOKEN
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AuthProvider } from "./types.js";
|
|
2
|
+
import { MergeOptions } from "../../utils/merge-yamls.js";
|
|
2
3
|
export declare const DEFAULT_CONFIG_PATHS: {
|
|
3
4
|
appConfig: string;
|
|
4
5
|
secrets: string;
|
|
@@ -14,6 +15,7 @@ export declare const AUTH_CONFIG_PATHS: Record<AuthProvider, {
|
|
|
14
15
|
appConfig: string;
|
|
15
16
|
secrets: string;
|
|
16
17
|
dynamicPlugins: string;
|
|
18
|
+
mergeStrategy?: MergeOptions;
|
|
17
19
|
}>;
|
|
18
20
|
export declare const CHART_URL = "oci://quay.io/rhdh/chart";
|
|
19
21
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,eAAO,MAAM,oBAAoB;;;;;;;;;;CAyBhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,YAAY,EACZ;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAoCF,CAAC;AAEF,eAAO,MAAM,SAAS,6BAA6B,CAAC"}
|
|
@@ -23,5 +23,11 @@ export const AUTH_CONFIG_PATHS = {
|
|
|
23
23
|
secrets: path.join(PACKAGE_ROOT, "dist/deployment/rhdh/config/auth/keycloak/secrets.yaml"),
|
|
24
24
|
dynamicPlugins: path.join(PACKAGE_ROOT, "dist/deployment/rhdh/config/auth/keycloak/dynamic-plugins.yaml"),
|
|
25
25
|
},
|
|
26
|
+
github: {
|
|
27
|
+
appConfig: path.join(PACKAGE_ROOT, "dist/deployment/rhdh/config/auth/github/app-config.yaml"),
|
|
28
|
+
secrets: path.join(PACKAGE_ROOT, "dist/deployment/rhdh/config/auth/github/secrets.yaml"),
|
|
29
|
+
dynamicPlugins: "",
|
|
30
|
+
mergeStrategy: { arrayMergeStrategy: { byKey: "target" } },
|
|
31
|
+
},
|
|
26
32
|
};
|
|
27
33
|
export const CHART_URL = "oci://quay.io/rhdh/chart";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAiB1E,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAc;IAClB,SAAS,yBAAgC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;gBAE9B,SAAS,EAAE,MAAM;IAUvB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAyBpD,eAAe;
|
|
1
|
+
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAiB1E,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAc;IAClB,SAAS,yBAAgC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;gBAE9B,SAAS,EAAE,MAAM;IAUvB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAyBpD,eAAe;YAmBf,aAAa;IAqB3B;;;OAGG;YACW,0BAA0B;YAuC1B,oBAAoB;YAWpB,eAAe;YAmCf,mBAAmB;IAiD3B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC,cAAc,CAAC,OAAO,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAIjB,oBAAoB;IAsClC;;;OAGG;YACW,0BAA0B;IAwCxC,OAAO,CAAC,sBAAsB;IAoCxB,SAAS,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -45,7 +45,7 @@ export class RHDHDeployment {
|
|
|
45
45
|
DEFAULT_CONFIG_PATHS.appConfig,
|
|
46
46
|
authConfig.appConfig,
|
|
47
47
|
this.deploymentConfig.appConfig,
|
|
48
|
-
]);
|
|
48
|
+
], authConfig.mergeStrategy);
|
|
49
49
|
this._logBoxen("App Config", appConfigYaml);
|
|
50
50
|
await this.k8sClient.applyConfigMapFromObject("app-config-rhdh", appConfigYaml, this.deploymentConfig.namespace);
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deployment/rhdh/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ export class APIHelper {
|
|
|
11
11
|
method: method,
|
|
12
12
|
headers: {
|
|
13
13
|
Accept: "application/vnd.github+json",
|
|
14
|
-
Authorization: `Bearer ${process.env.
|
|
14
|
+
Authorization: `Bearer ${process.env.VAULT_GITHUB_USER_TOKEN}`,
|
|
15
15
|
"X-GitHub-Api-Version": this.githubAPIVersion,
|
|
16
16
|
},
|
|
17
17
|
};
|
|
@@ -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;AAOhE,qBAAa,WAAW;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;gBAEP,IAAI,EAAE,IAAI;IAKhB,YAAY;IAcZ,OAAO;YAMC,aAAa;
|
|
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;AAOhE,qBAAa,WAAW;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;gBAEP,IAAI,EAAE,IAAI;IAKhB,YAAY;IAcZ,OAAO;YAMC,aAAa;IAyCrB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAYhD,mBAAmB,CACvB,MAAM,GAAE,MAAkC,EAC1C,QAAQ,GAAE,MAAkC;IASxC,iBAAiB,CACrB,MAAM,GAAE,MAA+C;IA6BnD,4BAA4B;IAqB5B,YAAY,CAAC,KAAK,EAAE,MAAM;IA2B1B,2BAA2B,CAAC,KAAK,UAAQ;IAU/C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC,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"}
|
|
@@ -35,11 +35,11 @@ export class LoginHelper {
|
|
|
35
35
|
await this.page.waitForSelector("#login_field");
|
|
36
36
|
await this.page.fill("#login_field", userid);
|
|
37
37
|
switch (userid) {
|
|
38
|
-
case process.env.
|
|
39
|
-
await this.page.fill("#password", process.env.
|
|
38
|
+
case process.env.VAULT_GH_USER_ID:
|
|
39
|
+
await this.page.fill("#password", process.env.VAULT_GH_USER_PASS);
|
|
40
40
|
break;
|
|
41
|
-
case process.env.
|
|
42
|
-
await this.page.fill("#password", process.env.
|
|
41
|
+
case process.env.VAULT_GH_USER2_ID:
|
|
42
|
+
await this.page.fill("#password", process.env.VAULT_GH_USER2_PASS);
|
|
43
43
|
break;
|
|
44
44
|
default:
|
|
45
45
|
throw new Error("Invalid User ID");
|
|
@@ -72,7 +72,7 @@ export class LoginHelper {
|
|
|
72
72
|
await this.logintoKeycloak(userid, password);
|
|
73
73
|
await this.page.waitForSelector("nav a", { timeout: 10_000 });
|
|
74
74
|
}
|
|
75
|
-
async loginAsGithubUser(userid = process.env.
|
|
75
|
+
async loginAsGithubUser(userid = process.env.VAULT_GH_USER_ID) {
|
|
76
76
|
const sessionFileName = `authState_${userid}.json`;
|
|
77
77
|
// Check if a session file for this specific user already exists
|
|
78
78
|
if (fs.existsSync(sessionFileName)) {
|
|
@@ -173,8 +173,8 @@ export class LoginHelper {
|
|
|
173
173
|
}
|
|
174
174
|
getGitHub2FAOTP(userid) {
|
|
175
175
|
const secrets = {
|
|
176
|
-
[process.env.
|
|
177
|
-
[process.env.
|
|
176
|
+
[process.env.VAULT_GH_USER_ID]: process.env.VAULT_GH_2FA_SECRET,
|
|
177
|
+
[process.env.VAULT_GH_USER2_ID]: process.env.VAULT_GH_USER2_2FA_SECRET,
|
|
178
178
|
};
|
|
179
179
|
const secret = secrets[userid];
|
|
180
180
|
if (!secret) {
|