@eclipse-che/che-e2e 7.78.0-next-ce17960 → 7.78.0-next-fcfd29d
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/constants/BASE_TEST_CONSTANTS.ts +5 -10
- package/dist/constants/BASE_TEST_CONSTANTS.js +5 -12
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +27 -46
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +5 -2
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -1
- package/package.json +1 -1
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +32 -55
- package/utils/KubernetesCommandLineToolsExecutor.ts +4 -2
|
@@ -63,17 +63,12 @@ export const BASE_TEST_CONSTANTS: {
|
|
|
63
63
|
* application name (DevSpaces or Che)
|
|
64
64
|
*/
|
|
65
65
|
TESTING_APPLICATION_NAME: (): string => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return 'che';
|
|
72
|
-
} else {
|
|
73
|
-
return 'admin-che';
|
|
74
|
-
}
|
|
66
|
+
return BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('devspaces')
|
|
67
|
+
? 'devspaces'
|
|
68
|
+
: BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('che')
|
|
69
|
+
? 'che'
|
|
70
|
+
: 'default';
|
|
75
71
|
},
|
|
76
|
-
|
|
77
72
|
/**
|
|
78
73
|
* testing application version
|
|
79
74
|
*/
|
|
@@ -40,18 +40,11 @@ exports.BASE_TEST_CONSTANTS = {
|
|
|
40
40
|
* application name (DevSpaces or Che)
|
|
41
41
|
*/
|
|
42
42
|
TESTING_APPLICATION_NAME: () => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
else if (exports.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('che')) {
|
|
50
|
-
return 'che';
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
return 'admin-che';
|
|
54
|
-
}
|
|
43
|
+
return exports.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('devspaces')
|
|
44
|
+
? 'devspaces'
|
|
45
|
+
: exports.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('che')
|
|
46
|
+
? 'che'
|
|
47
|
+
: 'default';
|
|
55
48
|
},
|
|
56
49
|
/**
|
|
57
50
|
* testing application version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BASE_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/BASE_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;AAC1B,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAEY,QAAA,mBAAmB,GAqB5B;IACH;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAEnI;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;IAEtC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IAE1C;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;IAEpD;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;IAEhD;;OAEG;IACH,wBAAwB,EAAE,GAAW,EAAE;QACtC,
|
|
1
|
+
{"version":3,"file":"BASE_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/BASE_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;AAC1B,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAEY,QAAA,mBAAmB,GAqB5B;IACH;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAEnI;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;IAEtC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IAE1C;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;IAEpD;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;IAEhD;;OAEG;IACH,wBAAwB,EAAE,GAAW,EAAE;QACtC,OAAO,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC1D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS,CAAC;IACd,CAAC;IACD;;OAEG;IACH,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,KAAK;IAE7E;;;OAGG;IACH,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,MAAM;IAE3F;;OAEG;IACH,uBAAuB,EAAE,GAAY,EAAE,CAAC,2BAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAEnG;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS;IAE1D;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU;IAEhE;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,cAAc;IAEpG;;OAEG;IACH,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,QAAQ;IAE5F;;OAEG;IACH,qCAAqC,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,gBAAgB;IAE5G;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;IAEnD;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;IAEvF;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,MAAM;IAEzF;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;IAEvF;;OAEG;IACH,mCAAmC,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;IAE3F;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM;CACnD,CAAC"}
|
|
@@ -14,20 +14,16 @@ const chai_1 = require("chai");
|
|
|
14
14
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
15
15
|
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
16
16
|
const Logger_1 = require("../../utils/Logger");
|
|
17
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
18
17
|
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
19
|
-
const
|
|
18
|
+
const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
|
|
20
19
|
suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
20
|
const predefinedNamespaceName = 'predefined-ns';
|
|
22
|
-
const
|
|
21
|
+
const workspaceName = 'empty-ws';
|
|
22
|
+
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
23
23
|
const userName = 'user';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
27
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
24
|
+
let devWorkspaceConfigurationHelper;
|
|
25
|
+
let devfileContext;
|
|
28
26
|
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
29
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
30
|
-
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
31
27
|
suiteSetup(function () {
|
|
32
28
|
// create a predefined namespace for user using shell script and login into user dashboard
|
|
33
29
|
Logger_1.Logger.debug('Test prerequisites:');
|
|
@@ -47,39 +43,40 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TES
|
|
|
47
43
|
const setEditRightsForUser = `oc adm policy add-role-to-user edit user -n ${predefinedNamespaceName}`;
|
|
48
44
|
shellExecutor.executeCommand(setEditRightsForUser);
|
|
49
45
|
});
|
|
46
|
+
// generate empty workspace DevFile and create it through oc client under a regular user
|
|
50
47
|
suiteSetup('Login', async function () {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Logger_1.Logger.trace('user was not logged in.');
|
|
60
|
-
}
|
|
61
|
-
await loginTests.loginIntoChe(userName);
|
|
62
|
-
}
|
|
48
|
+
const devfileContent = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
49
|
+
kubernetesCommandLineToolsExecutor.loginToOcp(userName);
|
|
50
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
51
|
+
devfileContent
|
|
52
|
+
});
|
|
53
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
54
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
55
|
+
kubernetesCommandLineToolsExecutor.applyWithoutNamespace(devWorkspaceConfigurationYamlString);
|
|
63
56
|
});
|
|
64
|
-
//
|
|
65
|
-
test(
|
|
66
|
-
|
|
57
|
+
// verify that just created workspace is available for the dedicated user
|
|
58
|
+
test('Validate the created workspace is present in predefined namespace', function () {
|
|
59
|
+
const expectedProject = shellExecutor.executeArbitraryShellScript('oc get projects');
|
|
60
|
+
(0, chai_1.expect)(expectedProject).contains(predefinedNamespaceName);
|
|
67
61
|
});
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
// make sure that the generated devspace has been created in the predefined namespace
|
|
63
|
+
test('Validate the created workspace is present in predefined namespace', function () {
|
|
64
|
+
kubernetesCommandLineToolsExecutor.namespace = predefinedNamespaceName;
|
|
65
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
66
|
+
// relogin under the admin user (because regular user does not have permissions for getting pod states)
|
|
67
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
68
|
+
(0, chai_1.expect)(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
|
|
70
69
|
});
|
|
71
70
|
// verify that just created workspace with unique name is present in the predefined namespace
|
|
72
71
|
test('Validate the created workspace is present in predefined namespace', function () {
|
|
73
|
-
const workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
74
|
-
(0, MochaHooks_1.registerRunningWorkspace)(workspaceName);
|
|
75
|
-
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
76
|
-
kubernetesCommandLineToolsExecutor.namespace = predefinedNamespaceName;
|
|
77
72
|
const ocDevWorkspaceOutput = kubernetesCommandLineToolsExecutor.getDevWorkspaceYamlConfiguration();
|
|
78
73
|
(0, chai_1.expect)(ocDevWorkspaceOutput).includes(workspaceName);
|
|
79
74
|
});
|
|
80
75
|
suiteTeardown(function () {
|
|
81
76
|
const workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
82
77
|
try {
|
|
78
|
+
// the test can failed under the regular user. Need login as admin for removing test namespace and DevSpaces.
|
|
79
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
83
80
|
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
84
81
|
kubernetesCommandLineToolsExecutor.deleteProject(predefinedNamespaceName);
|
|
85
82
|
}
|
|
@@ -87,21 +84,5 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TES
|
|
|
87
84
|
Logger_1.Logger.error(`Cannot remove the predefined project: ${workspaceName}, please fix it manually: ${e}`);
|
|
88
85
|
}
|
|
89
86
|
});
|
|
90
|
-
suiteTeardown('Re-login with test user', async function () {
|
|
91
|
-
if (OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME !== userName) {
|
|
92
|
-
await loginTests.logoutFromChe();
|
|
93
|
-
await loginTests.loginIntoChe();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
97
|
-
await dashboard.openDashboard();
|
|
98
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
99
|
-
});
|
|
100
|
-
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
101
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
102
|
-
});
|
|
103
|
-
suiteTeardown('Unregister running workspace', function () {
|
|
104
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
105
|
-
});
|
|
106
87
|
});
|
|
107
88
|
//# sourceMappingURL=PredefinedNamespace.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PredefinedNamespace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/PredefinedNamespace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"PredefinedNamespace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/PredefinedNamespace.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,13 +70,16 @@ let KubernetesCommandLineToolsExecutor = KubernetesCommandLineToolsExecutor_1 =
|
|
|
70
70
|
return this._workspaceName;
|
|
71
71
|
}
|
|
72
72
|
get namespace() {
|
|
73
|
-
if (
|
|
73
|
+
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_NAMESPACE.length > 0) {
|
|
74
|
+
this._namespace = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_NAMESPACE;
|
|
75
|
+
}
|
|
76
|
+
else if (!this._namespace) {
|
|
74
77
|
const applicationName = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME();
|
|
75
78
|
if (applicationName === 'default') {
|
|
76
79
|
this._namespace = applicationName;
|
|
77
80
|
}
|
|
78
81
|
else {
|
|
79
|
-
this._namespace = OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + applicationName;
|
|
82
|
+
this._namespace = OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + '-' + applicationName;
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
return this._namespace;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesCommandLineToolsExecutor.js","sourceRoot":"","sources":["../../utils/KubernetesCommandLineToolsExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,qCAAkD;AAClD,qCAAkC;AAClC,mDAAgD;AAChD,2CAA6B;AAC7B,wEAAgG;AAChG,0EAAuE;AACvE,kEAA+D;AAE/D,yCAA+C;AAC/C,gEAAqD;AAG9C,IAAM,kCAAkC,0CAAxC,MAAM,kCAAkC;IAO9C,YAEoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAE/C,IAAI,CAAC,yBAAyB,GAAG,uCAAkB,CAAC,wCAAwC,CAAC;IAC9F,CAAC;IAED,IAAI,SAAS,CAAC,KAAyB;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,aAAa,CAAC,KAAyB;QAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"KubernetesCommandLineToolsExecutor.js","sourceRoot":"","sources":["../../utils/KubernetesCommandLineToolsExecutor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,33 +9,25 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
11
|
import { expect } from 'chai';
|
|
12
|
-
import { CLASSES
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
13
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
14
14
|
import { Logger } from '../../utils/Logger';
|
|
15
|
-
import { LoginTests } from '../../tests-library/LoginTests';
|
|
16
|
-
import { registerRunningWorkspace } from '../MochaHooks';
|
|
17
15
|
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
18
16
|
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
19
17
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
23
|
-
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
18
|
+
import { DevWorkspaceConfigurationHelper } from '../../utils/DevWorkspaceConfigurationHelper';
|
|
19
|
+
import { DevfileContext } from '@eclipse-che/che-devworkspace-generator/lib/api/devfile-context';
|
|
24
20
|
|
|
25
21
|
suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
26
22
|
const predefinedNamespaceName: string = 'predefined-ns';
|
|
27
|
-
const
|
|
23
|
+
const workspaceName: string = 'empty-ws';
|
|
24
|
+
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
28
25
|
const userName: string = 'user';
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
32
|
-
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
33
|
-
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
26
|
+
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
27
|
+
let devfileContext: DevfileContext;
|
|
34
28
|
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
35
29
|
CLASSES.KubernetesCommandLineToolsExecutor
|
|
36
30
|
);
|
|
37
|
-
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
38
|
-
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
39
31
|
|
|
40
32
|
suiteSetup(function (): void {
|
|
41
33
|
// create a predefined namespace for user using shell script and login into user dashboard
|
|
@@ -59,33 +51,36 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIR
|
|
|
59
51
|
const setEditRightsForUser: string = `oc adm policy add-role-to-user edit user -n ${predefinedNamespaceName}`;
|
|
60
52
|
shellExecutor.executeCommand(setEditRightsForUser);
|
|
61
53
|
});
|
|
62
|
-
|
|
54
|
+
// generate empty workspace DevFile and create it through oc client under a regular user
|
|
63
55
|
suiteSetup('Login', async function (): Promise<void> {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
56
|
+
const devfileContent: string = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
57
|
+
kubernetesCommandLineToolsExecutor.loginToOcp(userName);
|
|
58
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
59
|
+
devfileContent
|
|
60
|
+
});
|
|
61
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
62
|
+
const devWorkspaceConfigurationYamlString: string =
|
|
63
|
+
devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
64
|
+
kubernetesCommandLineToolsExecutor.applyWithoutNamespace(devWorkspaceConfigurationYamlString);
|
|
74
65
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
|
|
67
|
+
// verify that just created workspace is available for the dedicated user
|
|
68
|
+
test('Validate the created workspace is present in predefined namespace', function (): void {
|
|
69
|
+
const expectedProject: string = shellExecutor.executeArbitraryShellScript('oc get projects');
|
|
70
|
+
expect(expectedProject).contains(predefinedNamespaceName);
|
|
78
71
|
});
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
|
|
73
|
+
// make sure that the generated devspace has been created in the predefined namespace
|
|
74
|
+
test('Validate the created workspace is present in predefined namespace', function (): void {
|
|
75
|
+
kubernetesCommandLineToolsExecutor.namespace = predefinedNamespaceName;
|
|
76
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
77
|
+
// relogin under the admin user (because regular user does not have permissions for getting pod states)
|
|
78
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
79
|
+
expect(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
|
|
81
80
|
});
|
|
82
81
|
|
|
83
82
|
// verify that just created workspace with unique name is present in the predefined namespace
|
|
84
83
|
test('Validate the created workspace is present in predefined namespace', function (): void {
|
|
85
|
-
const workspaceName: string = WorkspaceHandlingTests.getWorkspaceName();
|
|
86
|
-
registerRunningWorkspace(workspaceName);
|
|
87
|
-
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
88
|
-
kubernetesCommandLineToolsExecutor.namespace = predefinedNamespaceName;
|
|
89
84
|
const ocDevWorkspaceOutput: string = kubernetesCommandLineToolsExecutor.getDevWorkspaceYamlConfiguration();
|
|
90
85
|
expect(ocDevWorkspaceOutput).includes(workspaceName);
|
|
91
86
|
});
|
|
@@ -93,30 +88,12 @@ suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS.TEST_ENVIR
|
|
|
93
88
|
suiteTeardown(function (): void {
|
|
94
89
|
const workspaceName: string = WorkspaceHandlingTests.getWorkspaceName();
|
|
95
90
|
try {
|
|
91
|
+
// the test can failed under the regular user. Need login as admin for removing test namespace and DevSpaces.
|
|
92
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
96
93
|
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
97
94
|
kubernetesCommandLineToolsExecutor.deleteProject(predefinedNamespaceName);
|
|
98
95
|
} catch (e) {
|
|
99
96
|
Logger.error(`Cannot remove the predefined project: ${workspaceName}, please fix it manually: ${e}`);
|
|
100
97
|
}
|
|
101
98
|
});
|
|
102
|
-
|
|
103
|
-
suiteTeardown('Re-login with test user', async function (): Promise<void> {
|
|
104
|
-
if (OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME !== userName) {
|
|
105
|
-
await loginTests.logoutFromChe();
|
|
106
|
-
await loginTests.loginIntoChe();
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
111
|
-
await dashboard.openDashboard();
|
|
112
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
116
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
suiteTeardown('Unregister running workspace', function (): void {
|
|
120
|
-
registerRunningWorkspace('');
|
|
121
|
-
});
|
|
122
99
|
});
|
|
@@ -46,12 +46,14 @@ export class KubernetesCommandLineToolsExecutor implements IKubernetesCommandLin
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
get namespace(): string | undefined {
|
|
49
|
-
if (
|
|
49
|
+
if (BASE_TEST_CONSTANTS.TEST_NAMESPACE.length > 0) {
|
|
50
|
+
this._namespace = BASE_TEST_CONSTANTS.TEST_NAMESPACE;
|
|
51
|
+
} else if (!this._namespace) {
|
|
50
52
|
const applicationName: string = BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME();
|
|
51
53
|
if (applicationName === 'default') {
|
|
52
54
|
this._namespace = applicationName;
|
|
53
55
|
} else {
|
|
54
|
-
this._namespace = OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + applicationName;
|
|
56
|
+
this._namespace = OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + '-' + applicationName;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
return this._namespace;
|