@eclipse-che/che-e2e 7.76.0-next-220e13e → 7.76.0-next-018710d
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/pageobjects/openshift/OcpMainPage.js +1 -1
- package/dist/pageobjects/openshift/OcpMainPage.js.map +1 -1
- package/dist/specs/web-terminal/WebTerminalTest.spec.js +22 -0
- package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +1 -1
- package/package.json +1 -1
- package/pageobjects/openshift/OcpMainPage.ts +1 -1
- package/specs/web-terminal/WebTerminalTest.spec.ts +33 -0
|
@@ -75,7 +75,7 @@ let OcpMainPage = OcpMainPage_1 = class OcpMainPage {
|
|
|
75
75
|
Logger_1.Logger.debug();
|
|
76
76
|
await this.waitOpenMainPage();
|
|
77
77
|
await this.driverHelper.waitAndClick(OcpMainPage_1.WEB_TERMINAL_BUTTON);
|
|
78
|
-
await this.driverHelper.waitPresence(OcpMainPage_1.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.
|
|
78
|
+
await this.driverHelper.waitPresence(OcpMainPage_1.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_WAIT_LOADER_ABSENCE_TIMEOUT);
|
|
79
79
|
}
|
|
80
80
|
async typeToWebTerminal(text) {
|
|
81
81
|
Logger_1.Logger.debug();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OcpMainPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/OcpMainPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwD;AACxD,mEAAwD;AACxD,2DAAwC;AACxC,+CAA4C;AAC5C,yEAAsE;AAEtE,qEAA8D;AAGvD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAWvB,YAEkB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,gBAAgB;QACrB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,aAAW,CAAC,gBAAgB,EAAE,qCAAiB,CAAC,6BAA6B,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC5B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC5B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACxB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC9B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,oBAAoB,CAAC,CAAC;QACvE,OAAO,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACtC,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,aAAW,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAW,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"OcpMainPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/OcpMainPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
13
13
|
const inversify_config_1 = require("../../configs/inversify.config");
|
|
14
14
|
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
15
|
+
const chai_1 = require("chai");
|
|
15
16
|
suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
16
17
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
17
18
|
const ocpMainPage = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.OcpMainPage);
|
|
19
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
20
|
+
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
21
|
+
suiteSetup(function () {
|
|
22
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
23
|
+
shellExecutor.executeCommand('oc project openshift-operators');
|
|
24
|
+
});
|
|
18
25
|
loginTests.loginIntoOcpConsole();
|
|
19
26
|
test('Open Web Terminal', async function () {
|
|
20
27
|
await ocpMainPage.waitOpenMainPage();
|
|
21
28
|
await ocpMainPage.openWebTerminal();
|
|
22
29
|
});
|
|
30
|
+
test('Check username is correct', function () {
|
|
31
|
+
const userUid = shellExecutor.executeCommand('oc get user $(oc whoami) -o jsonpath={.metadata.uid}').replace(/\n/g, '');
|
|
32
|
+
// label selector for Web Terminal workspaces owned by the currently-logged in user
|
|
33
|
+
const labelSelector = 'console.openshift.io/terminal=true,controller.devfile.io/creator=' + userUid;
|
|
34
|
+
// namespace of this users web terminal
|
|
35
|
+
const namespace = shellExecutor.executeCommand(`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].metadata.namespace}'`);
|
|
36
|
+
// devWorkspace ID for this users web terminal
|
|
37
|
+
const termDwId = shellExecutor.executeCommand(`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].status.devworkspaceId}'`);
|
|
38
|
+
// use oc exec to run oc whoami inside this user's terminal
|
|
39
|
+
const user = shellExecutor
|
|
40
|
+
.executeCommand(`oc exec -n ${namespace} deploy/${termDwId} -c web-terminal-tooling -- oc whoami`)
|
|
41
|
+
.replace(/\n/g, '');
|
|
42
|
+
// above should output current user's username:
|
|
43
|
+
(0, chai_1.expect)(user).to.equal(shellExecutor.executeCommand('oc whoami').replace(/\n/g, ''));
|
|
44
|
+
});
|
|
23
45
|
});
|
|
24
46
|
//# sourceMappingURL=WebTerminalTest.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebTerminalTest.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalTest.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,mEAAwD;AACxD,qEAA8D;AAG9D,6EAA0E;
|
|
1
|
+
{"version":3,"file":"WebTerminalTest.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalTest.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,mEAAwD;AACxD,qEAA8D;AAG9D,6EAA0E;AAG1E,+BAA8B;AAE9B,KAAK,CAAC,oDAAoD,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACjG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,WAAW,GAAgB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IACF,MAAM,aAAa,GAAkB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,aAAa,CAAC,CAAC;IAE7E,UAAU,CAAC;QACV,kCAAkC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,aAAa,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAEjC,IAAI,CAAC,mBAAmB,EAAE,KAAK;QAC9B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE;QACjC,MAAM,OAAO,GAAW,aAAa,CAAC,cAAc,CAAC,sDAAsD,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEhI,mFAAmF;QACnF,MAAM,aAAa,GAAW,mEAAmE,GAAG,OAAO,CAAC;QAC5G,uCAAuC;QACvC,MAAM,SAAS,GAAW,aAAa,CAAC,cAAc,CACrD,mBAAmB,aAAa,+CAA+C,CAC/E,CAAC;QACF,8CAA8C;QAC9C,MAAM,QAAQ,GAAW,aAAa,CAAC,cAAc,CACpD,mBAAmB,aAAa,kDAAkD,CAClF,CAAC;QACF,2DAA2D;QAC3D,MAAM,IAAI,GAAW,aAAa;aAChC,cAAc,CAAC,cAAc,SAAS,WAAW,QAAQ,uCAAuC,CAAC;aACjG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,+CAA+C;QAC/C,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -89,7 +89,7 @@ export class OcpMainPage {
|
|
|
89
89
|
|
|
90
90
|
await this.waitOpenMainPage();
|
|
91
91
|
await this.driverHelper.waitAndClick(OcpMainPage.WEB_TERMINAL_BUTTON);
|
|
92
|
-
await this.driverHelper.waitPresence(OcpMainPage.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS.
|
|
92
|
+
await this.driverHelper.waitPresence(OcpMainPage.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS.TS_WAIT_LOADER_ABSENCE_TIMEOUT);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
async typeToWebTerminal(text: string): Promise<void> {
|
|
@@ -12,10 +12,22 @@ import { e2eContainer } from '../../configs/inversify.config';
|
|
|
12
12
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
13
13
|
import { OcpMainPage } from '../../pageobjects/openshift/OcpMainPage';
|
|
14
14
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
15
|
+
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
16
|
+
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
17
|
+
import { expect } from 'chai';
|
|
15
18
|
|
|
16
19
|
suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
17
20
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
18
21
|
const ocpMainPage: OcpMainPage = e2eContainer.get(CLASSES.OcpMainPage);
|
|
22
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
23
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
24
|
+
);
|
|
25
|
+
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
26
|
+
|
|
27
|
+
suiteSetup(function (): void {
|
|
28
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
29
|
+
shellExecutor.executeCommand('oc project openshift-operators');
|
|
30
|
+
});
|
|
19
31
|
|
|
20
32
|
loginTests.loginIntoOcpConsole();
|
|
21
33
|
|
|
@@ -23,4 +35,25 @@ suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS.TE
|
|
|
23
35
|
await ocpMainPage.waitOpenMainPage();
|
|
24
36
|
await ocpMainPage.openWebTerminal();
|
|
25
37
|
});
|
|
38
|
+
|
|
39
|
+
test('Check username is correct', function (): void {
|
|
40
|
+
const userUid: string = shellExecutor.executeCommand('oc get user $(oc whoami) -o jsonpath={.metadata.uid}').replace(/\n/g, '');
|
|
41
|
+
|
|
42
|
+
// label selector for Web Terminal workspaces owned by the currently-logged in user
|
|
43
|
+
const labelSelector: string = 'console.openshift.io/terminal=true,controller.devfile.io/creator=' + userUid;
|
|
44
|
+
// namespace of this users web terminal
|
|
45
|
+
const namespace: string = shellExecutor.executeCommand(
|
|
46
|
+
`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].metadata.namespace}'`
|
|
47
|
+
);
|
|
48
|
+
// devWorkspace ID for this users web terminal
|
|
49
|
+
const termDwId: string = shellExecutor.executeCommand(
|
|
50
|
+
`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].status.devworkspaceId}'`
|
|
51
|
+
);
|
|
52
|
+
// use oc exec to run oc whoami inside this user's terminal
|
|
53
|
+
const user: string = shellExecutor
|
|
54
|
+
.executeCommand(`oc exec -n ${namespace} deploy/${termDwId} -c web-terminal-tooling -- oc whoami`)
|
|
55
|
+
.replace(/\n/g, '');
|
|
56
|
+
// above should output current user's username:
|
|
57
|
+
expect(user).to.equal(shellExecutor.executeCommand('oc whoami').replace(/\n/g, ''));
|
|
58
|
+
});
|
|
26
59
|
});
|