@eclipse-che/che-e2e 7.76.0-next-6068ce8 → 7.76.0-next-9fb1a12
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/CODE_STYLE.md +1 -1
- package/configs/inversify.config.ts +1 -7
- package/configs/mocharc.ts +11 -5
- package/configs/reporters.config.js +51 -0
- package/configs/sh-scripts/runFunctionalTests.sh +104 -0
- package/constants/API_TEST_CONSTANTS.ts +5 -2
- package/constants/BASE_TEST_CONSTANTS.ts +37 -7
- package/constants/MOCHA_CONSTANTS.ts +12 -2
- package/constants/REPORTER_CONSTANTS.ts +98 -5
- package/constants/TIMEOUT_CONSTANTS.ts +10 -22
- package/dist/configs/inversify.config.js +0 -5
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/mocharc.js +18 -13
- package/dist/configs/mocharc.js.map +1 -1
- package/dist/constants/API_TEST_CONSTANTS.js +3 -2
- package/dist/constants/API_TEST_CONSTANTS.js.map +1 -1
- package/dist/constants/BASE_TEST_CONSTANTS.js +22 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -1
- package/dist/constants/MOCHA_CONSTANTS.js +8 -4
- package/dist/constants/MOCHA_CONSTANTS.js.map +1 -1
- package/dist/constants/REPORTER_CONSTANTS.js +70 -2
- package/dist/constants/REPORTER_CONSTANTS.js.map +1 -1
- package/dist/constants/TIMEOUT_CONSTANTS.js +0 -8
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -1
- package/dist/specs/MochaHooks.js +14 -3
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +1 -1
- package/dist/specs/SmokeTest.spec.js.map +1 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js +2 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +1 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +9 -7
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +2 -5
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -1
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +97 -0
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +1 -0
- package/dist/specs/api/PodOverridesAPI.spec.js +1 -1
- package/dist/specs/api/PodOverridesAPI.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Documentation.spec.js +1 -1
- package/dist/specs/dashboard-samples/Documentation.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +2 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +2 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +1 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -1
- package/dist/specs/factory/Factory.spec.js +1 -1
- package/dist/specs/factory/Factory.spec.js.map +1 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +1 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +1 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +1 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +1 -1
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +3 -2
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +1 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +2 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +6 -1
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +1 -1
- package/dist/specs/web-terminal/WebTerminalTest.spec.js +2 -1
- package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +1 -1
- package/dist/suites/disconnected-ocp/APITest.suite.js +14 -0
- package/dist/suites/disconnected-ocp/APITest.suite.js.map +1 -0
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
- package/dist/suites/disconnected-ocp/UITest.suite.js +19 -0
- package/dist/suites/disconnected-ocp/UITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/APITest.suite.js +15 -0
- package/dist/suites/online-ocp/APITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/UITest.suite.js +22 -0
- package/dist/suites/online-ocp/UITest.suite.js.map +1 -0
- package/dist/tests-library/LoginTests.js +3 -1
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/utils/DevWorkspaceConfigurationHelper.js +44 -2
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -1
- package/dist/utils/DevfilesRegistryHelper.js +22 -8
- package/dist/utils/DevfilesRegistryHelper.js.map +1 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +15 -14
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -1
- package/package.json +11 -8
- package/specs/MochaHooks.ts +15 -3
- package/specs/SmokeTest.spec.ts +1 -1
- package/specs/api/ContainerOverridesAPI.spec.ts +2 -1
- package/specs/api/DevfileAcceptanceTestAPI.spec.ts +10 -8
- package/specs/api/EmptyWorkspaceAPI.spec.ts +2 -6
- package/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.ts +130 -0
- package/specs/api/PodOverridesAPI.spec.ts +1 -1
- package/specs/dashboard-samples/Documentation.spec.ts +1 -1
- package/specs/dashboard-samples/EmptyWorkspace.spec.ts +2 -1
- package/specs/dashboard-samples/Quarkus.spec.ts +1 -1
- package/specs/dashboard-samples/RecommendedExtensions.spec.ts +2 -1
- package/specs/devconsole-intergration/DevConsoleIntegration.spec.ts +1 -1
- package/specs/factory/Factory.spec.ts +1 -1
- package/specs/factory/NoSetupRepoFactory.spec.ts +1 -1
- package/specs/factory/RefusedOAuthFactory.spec.ts +1 -1
- package/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.ts +1 -1
- package/specs/miscellaneous/KubedockPodmanTest.spec.ts +63 -59
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +2 -1
- package/specs/miscellaneous/WorkspaceWithParent.spec.ts +9 -2
- package/specs/web-terminal/WebTerminalTest.spec.ts +2 -1
- package/suites/disconnected-ocp/APITest.suite.ts +11 -0
- package/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.ts +10 -0
- package/suites/disconnected-ocp/UITest.suite.ts +16 -0
- package/suites/online-ocp/APITest.suite.ts +12 -0
- package/suites/online-ocp/DynamicallyGeneratingAPITest.suite.ts +10 -0
- package/suites/online-ocp/UITest.suite.ts +19 -0
- package/tests-library/LoginTests.ts +6 -1
- package/tsconfig.json +1 -1
- package/utils/DevWorkspaceConfigurationHelper.ts +36 -3
- package/utils/DevfilesRegistryHelper.ts +28 -9
- package/utils/IKubernetesCommandLineToolsExecutor.ts +1 -1
- package/utils/KubernetesCommandLineToolsExecutor.ts +14 -14
- package/configs/reporters-config.json +0 -6
|
@@ -36,17 +36,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
exports.DevWorkspaceConfigurationHelper = void 0;
|
|
39
|
+
/** *******************************************************************
|
|
40
|
+
* copyright (c) 2023 Red Hat, Inc.
|
|
41
|
+
*
|
|
42
|
+
* This program and the accompanying materials are made
|
|
43
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
44
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
45
|
+
*
|
|
46
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
47
|
+
**********************************************************************/
|
|
48
|
+
const main_1 = require("@eclipse-che/che-devworkspace-generator/lib/main");
|
|
39
49
|
const yaml_1 = __importDefault(require("yaml"));
|
|
40
50
|
const axios = __importStar(require("axios"));
|
|
41
51
|
const Logger_1 = require("./Logger");
|
|
52
|
+
const ShellExecutor_1 = require("./ShellExecutor");
|
|
42
53
|
const API_TEST_CONSTANTS_1 = require("../constants/API_TEST_CONSTANTS");
|
|
43
54
|
const inversify_1 = require("inversify");
|
|
44
55
|
const inversify_config_1 = require("../configs/inversify.config");
|
|
45
56
|
const inversify_types_1 = require("../configs/inversify.types");
|
|
57
|
+
const inversify_inject_decorators_1 = __importDefault(require("inversify-inject-decorators"));
|
|
58
|
+
const { lazyInject } = (0, inversify_inject_decorators_1.default)(inversify_config_1.e2eContainer);
|
|
46
59
|
let DevWorkspaceConfigurationHelper = class DevWorkspaceConfigurationHelper {
|
|
47
60
|
constructor(params) {
|
|
48
|
-
this.generator = inversify_config_1.e2eContainer.get(inversify_types_1.EXTERNAL_CLASSES.Generator);
|
|
49
|
-
this.shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
50
61
|
// check if all undefined
|
|
51
62
|
if (!(params.editorPath || params.editorEntry || params.editorContent)) {
|
|
52
63
|
params.editorEntry = 'che-incubator/che-code/latest';
|
|
@@ -85,7 +96,38 @@ let DevWorkspaceConfigurationHelper = class DevWorkspaceConfigurationHelper {
|
|
|
85
96
|
allContentArray.push(yaml_1.default.stringify(context.devWorkspace));
|
|
86
97
|
return allContentArray.join('---\n');
|
|
87
98
|
}
|
|
99
|
+
getDevWorkspaceConfigurationsAsYaml(allContentString) {
|
|
100
|
+
Logger_1.Logger.debug();
|
|
101
|
+
const content = {};
|
|
102
|
+
const contentArray = allContentString.split('---\n');
|
|
103
|
+
contentArray.forEach((e) => {
|
|
104
|
+
e = yaml_1.default.parse(e);
|
|
105
|
+
e.kind === 'DevWorkspace'
|
|
106
|
+
? (content.DevWorkspace = e)
|
|
107
|
+
: e.kind === 'DevWorkspaceTemplate'
|
|
108
|
+
? (content.DevWorkspaceTemplate = e)
|
|
109
|
+
: Logger_1.Logger.error('Problems with configuration parsing, string should be in format "DevWorkspace\\n---\\nDevWorkspaceTemplate"');
|
|
110
|
+
});
|
|
111
|
+
return content;
|
|
112
|
+
}
|
|
113
|
+
patchDevWorkspaceConfigWithBuildContainerAttribute(devfileContextDevWorkspace) {
|
|
114
|
+
Logger_1.Logger.debug();
|
|
115
|
+
devfileContextDevWorkspace.spec.template.attributes = yaml_1.default.parse(`
|
|
116
|
+
controller.devfile.io/devworkspace-config:
|
|
117
|
+
name: devworkspace-config
|
|
118
|
+
namespace: openshift-devspaces
|
|
119
|
+
controller.devfile.io/scc: container-build
|
|
120
|
+
controller.devfile.io/storage-type: per-user`);
|
|
121
|
+
}
|
|
88
122
|
};
|
|
123
|
+
__decorate([
|
|
124
|
+
lazyInject(inversify_types_1.EXTERNAL_CLASSES.Generator),
|
|
125
|
+
__metadata("design:type", main_1.Main)
|
|
126
|
+
], DevWorkspaceConfigurationHelper.prototype, "generator", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
lazyInject(inversify_types_1.CLASSES.ShellExecutor),
|
|
129
|
+
__metadata("design:type", ShellExecutor_1.ShellExecutor)
|
|
130
|
+
], DevWorkspaceConfigurationHelper.prototype, "shellExecutor", void 0);
|
|
89
131
|
DevWorkspaceConfigurationHelper = __decorate([
|
|
90
132
|
(0, inversify_1.injectable)(),
|
|
91
133
|
__metadata("design:paramtypes", [Object])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevWorkspaceConfigurationHelper.js","sourceRoot":"","sources":["../../utils/DevWorkspaceConfigurationHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DevWorkspaceConfigurationHelper.js","sourceRoot":"","sources":["../../utils/DevWorkspaceConfigurationHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,21 +24,22 @@ const Logger_1 = require("./Logger");
|
|
|
24
24
|
const yaml_1 = __importDefault(require("yaml"));
|
|
25
25
|
const API_TEST_CONSTANTS_1 = require("../constants/API_TEST_CONSTANTS");
|
|
26
26
|
const inversify_1 = require("inversify");
|
|
27
|
+
const BASE_TEST_CONSTANTS_1 = require("../constants/BASE_TEST_CONSTANTS");
|
|
27
28
|
let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
28
|
-
async getInbuiltDevfilesRegistryContent() {
|
|
29
|
+
async getInbuiltDevfilesRegistryContent(sampleNamePatterns) {
|
|
29
30
|
Logger_1.Logger.trace();
|
|
30
|
-
return await this.getContent(API_TEST_CONSTANTS_1.SUPPORTED_DEVFILE_REGISTRIES.INBUILT_APPLICATION_DEVFILE_REGISTRY_URL());
|
|
31
|
+
return this.filterSamples(sampleNamePatterns, await this.getContent(API_TEST_CONSTANTS_1.SUPPORTED_DEVFILE_REGISTRIES.INBUILT_APPLICATION_DEVFILE_REGISTRY_URL()));
|
|
31
32
|
}
|
|
32
33
|
async getGitHubCheDevfileRegistryContent() {
|
|
33
34
|
Logger_1.Logger.trace();
|
|
34
35
|
return await this.getContent(API_TEST_CONSTANTS_1.SUPPORTED_DEVFILE_REGISTRIES.GIT_HUB_CHE_DEVFILE_REGISTRY_URL);
|
|
35
36
|
}
|
|
36
|
-
async collectPathsToDevfilesFromRegistry() {
|
|
37
|
+
async collectPathsToDevfilesFromRegistry(isInbuilt = true, sampleNamePatterns) {
|
|
37
38
|
Logger_1.Logger.debug();
|
|
38
39
|
const devfileSamples = [];
|
|
39
40
|
const sampleNames = [];
|
|
40
|
-
switch (
|
|
41
|
-
case
|
|
41
|
+
switch (isInbuilt) {
|
|
42
|
+
case false:
|
|
42
43
|
{
|
|
43
44
|
const content = await this.getGitHubCheDevfileRegistryContent();
|
|
44
45
|
content.forEach((e) => {
|
|
@@ -59,13 +60,16 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
59
60
|
Logger_1.Logger.debug(`samples list: ${JSON.stringify(devfileSamples)}`);
|
|
60
61
|
}
|
|
61
62
|
break;
|
|
62
|
-
case
|
|
63
|
+
case true:
|
|
63
64
|
{
|
|
64
|
-
const content = await this.getInbuiltDevfilesRegistryContent();
|
|
65
|
+
const content = await this.getInbuiltDevfilesRegistryContent(sampleNamePatterns);
|
|
65
66
|
for (const sample of content) {
|
|
67
|
+
const linkToDevWorkspaceYaml = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL +
|
|
68
|
+
'/devfile-registry' +
|
|
69
|
+
sample.links.devWorkspaces['che-incubator/che-code/latest'];
|
|
66
70
|
devfileSamples.push({
|
|
67
71
|
name: sample.displayName,
|
|
68
|
-
|
|
72
|
+
devWorkspaceConfigurationString: await this.getContent(linkToDevWorkspaceYaml)
|
|
69
73
|
});
|
|
70
74
|
}
|
|
71
75
|
Logger_1.Logger.debug(`samples list: ${JSON.stringify(devfileSamples)}`);
|
|
@@ -78,6 +82,16 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
78
82
|
}
|
|
79
83
|
return devfileSamples;
|
|
80
84
|
}
|
|
85
|
+
async getEditorContent(entry) {
|
|
86
|
+
return await this.getContent(`${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL}/${entry}`);
|
|
87
|
+
}
|
|
88
|
+
filterSamples(sampleNamePatterns, content) {
|
|
89
|
+
if (sampleNamePatterns) {
|
|
90
|
+
const commonSampleNamePattern = new RegExp(sampleNamePatterns.join('|'), 'i');
|
|
91
|
+
content = content.filter((e) => commonSampleNamePattern.test(e.displayName));
|
|
92
|
+
}
|
|
93
|
+
return content;
|
|
94
|
+
}
|
|
81
95
|
async getContent(url, headers) {
|
|
82
96
|
Logger_1.Logger.trace(`${url}`);
|
|
83
97
|
let response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevfilesRegistryHelper.js","sourceRoot":"","sources":["../../utils/DevfilesRegistryHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,kDAA6C;AAC7C,qCAAkC;AAClC,gDAAwB;AACxB,wEAAmG;AACnG,yCAAuC;
|
|
1
|
+
{"version":3,"file":"DevfilesRegistryHelper.js","sourceRoot":"","sources":["../../utils/DevfilesRegistryHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,14 +70,15 @@ let KubernetesCommandLineToolsExecutor = KubernetesCommandLineToolsExecutor_1 =
|
|
|
70
70
|
return this._workspaceName;
|
|
71
71
|
}
|
|
72
72
|
get namespace() {
|
|
73
|
-
this._namespace
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
if (!this._namespace) {
|
|
74
|
+
const applicationName = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME();
|
|
75
|
+
if (applicationName === 'default') {
|
|
76
|
+
this._namespace = applicationName;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this._namespace = OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + '-' + applicationName;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
81
82
|
return this._namespace;
|
|
82
83
|
}
|
|
83
84
|
// login to Openshift cluster with username and password
|
|
@@ -122,7 +123,7 @@ let KubernetesCommandLineToolsExecutor = KubernetesCommandLineToolsExecutor_1 =
|
|
|
122
123
|
this.applyYamlConfigurationAsStringOutput(yamlConfiguration);
|
|
123
124
|
return this.waitDevWorkspace();
|
|
124
125
|
}
|
|
125
|
-
|
|
126
|
+
execInContainerCommand(commandToExecute, container = KubernetesCommandLineToolsExecutor_1.container) {
|
|
126
127
|
Logger_1.Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
127
128
|
return this.shellExecutor.executeCommand(`${this.kubernetesCommandLineTool} exec -i ${KubernetesCommandLineToolsExecutor_1.pod} -n ${this.namespace} -c ${container} -- sh -c '${commandToExecute}'`);
|
|
128
129
|
}
|
|
@@ -191,19 +192,19 @@ let ContainerTerminal = class ContainerTerminal extends KubernetesCommandLineToo
|
|
|
191
192
|
this.cluster = cluster;
|
|
192
193
|
}
|
|
193
194
|
ls(path = '') {
|
|
194
|
-
return this.
|
|
195
|
+
return this.execInContainerCommand('ls ' + path);
|
|
195
196
|
}
|
|
196
197
|
pwd() {
|
|
197
|
-
return this.
|
|
198
|
+
return this.execInContainerCommand('pwd');
|
|
198
199
|
}
|
|
199
200
|
cd(path) {
|
|
200
|
-
return this.
|
|
201
|
+
return this.execInContainerCommand('cd ' + path);
|
|
201
202
|
}
|
|
202
203
|
gitClone(repository) {
|
|
203
|
-
return this.
|
|
204
|
+
return this.execInContainerCommand('git clone ' + repository);
|
|
204
205
|
}
|
|
205
206
|
removeFolder(path) {
|
|
206
|
-
return this.
|
|
207
|
+
return this.execInContainerCommand('rm -rf ' + path);
|
|
207
208
|
}
|
|
208
209
|
};
|
|
209
210
|
ContainerTerminal = __decorate([
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"KubernetesCommandLineToolsExecutor.js","sourceRoot":"","sources":["../../utils/KubernetesCommandLineToolsExecutor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.76.0-next-
|
|
3
|
+
"version": "7.76.0-next-9fb1a12",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -9,23 +9,20 @@
|
|
|
9
9
|
"tsc": "rm -rf ./dist && ./configs/sh-scripts/generateIndex.sh && tsc -p .",
|
|
10
10
|
"test": "./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && export USERSTORY=$USERSTORY && mocha --config dist/configs/mocharc.js",
|
|
11
11
|
"driver-less-test": "export TS_USE_WEB_DRIVER_FOR_TEST=false && npm run test",
|
|
12
|
+
"delayed-test": "npm run lint && npm run tsc && export TS_USE_WEB_DRIVER_FOR_TEST=false && export MOCHA_DELAYED_SUITE=true && mocha --config dist/configs/mocharc.js --delay",
|
|
12
13
|
"open-allure-dasboard": "allure generate .allure-results --clean -o .allure-report && allure open .allure-report",
|
|
13
14
|
"cleanup-docker": "if [ $(docker ps -a | grep -c selenium-e2e) -gt 0 ]; then docker rm -f $(docker ps --filter \"name=selenium-e2e\" -aq); fi;",
|
|
14
15
|
"test-docker": "npm run cleanup-docker && docker run -it --shm-size=2g -p 5920:5920 --name selenium-e2e -e TS_SELENIUM_BASE_URL=$TS_SELENIUM_BASE_URL eclipse/che-e2e:nightly",
|
|
15
16
|
"test-docker-mount-e2e": "npm run cleanup-docker && docker run -it --shm-size=2g -p 5920:5920 --name selenium-e2e -e TS_SELENIUM_BASE_URL=$TS_SELENIUM_BASE_URL -v $(pwd):/tmp/e2e:Z eclipse/che-e2e:nightly",
|
|
16
17
|
"test-all-devfiles": " ./configs/sh-scripts/initDefaultValues.sh && ./configs/sh-scripts/initDevfileTests.sh",
|
|
18
|
+
"functional-test-suite": "configs/sh-scripts/runFunctionalTests.sh",
|
|
17
19
|
"devfile-acceptance-test-suite": "./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && export TS_USE_WEB_DRIVER_FOR_TEST=false && mocha 'dist/specs/api/*.js' --config dist/configs/mocharc.js --delay --grep 'Devfile acceptance test suite'"
|
|
18
20
|
},
|
|
19
21
|
"author": "Ihor Okhrimenko (iokhrime@redhat.com)",
|
|
20
22
|
"license": "ISC",
|
|
21
23
|
"devDependencies": {
|
|
22
24
|
"@eclipse-che/che-devworkspace-generator": "next",
|
|
23
|
-
"
|
|
24
|
-
"allure-js-commons": "^2.4.0",
|
|
25
|
-
"allure-mocha": "^2.4.0",
|
|
26
|
-
"mocha-multi-reporters": "^1.5.1",
|
|
27
|
-
"allure-commandline": "^2.22.1",
|
|
28
|
-
"mocha-allure-reporter": "^1.4.0",
|
|
25
|
+
"@reportportal/agent-js-mocha": "^5.0.3",
|
|
29
26
|
"@types/chai": "^4.3.4",
|
|
30
27
|
"@types/clone-deep": "^4.0.1",
|
|
31
28
|
"@types/mocha": "5.2.6",
|
|
@@ -36,6 +33,10 @@
|
|
|
36
33
|
"@typescript-eslint/eslint-plugin": "^6.4.1",
|
|
37
34
|
"@typescript-eslint/eslint-plugin-tslint": "^6.1.0",
|
|
38
35
|
"@typescript-eslint/parser": "^6.1.0",
|
|
36
|
+
"allure-commandline": "^2.22.1",
|
|
37
|
+
"allure-decorators": "^2.4.0",
|
|
38
|
+
"allure-js-commons": "^2.4.0",
|
|
39
|
+
"allure-mocha": "^2.4.0",
|
|
39
40
|
"axios": "^0.25.0",
|
|
40
41
|
"chai": "^4.3.4",
|
|
41
42
|
"chrome-har": "^0.13.2",
|
|
@@ -46,9 +47,11 @@
|
|
|
46
47
|
"eslint-plugin-header": "^3.1.1",
|
|
47
48
|
"eslint-plugin-jsdoc": "^46.5.0",
|
|
48
49
|
"eslint-plugin-prettier": "^5.0.0",
|
|
49
|
-
"inversify-inject-decorators": "^3.1.0",
|
|
50
50
|
"husky": "^8.0.3",
|
|
51
|
+
"inversify-inject-decorators": "^3.1.0",
|
|
51
52
|
"mocha": "^9.1.3",
|
|
53
|
+
"mocha-allure-reporter": "^1.4.0",
|
|
54
|
+
"mocha-multi-reporters": "^1.5.1",
|
|
52
55
|
"monaco-page-objects": "3.9.1",
|
|
53
56
|
"prettier": "^3.0.2",
|
|
54
57
|
"rimraf": "2.6.2",
|
package/specs/MochaHooks.ts
CHANGED
|
@@ -22,6 +22,10 @@ import { allure } from 'allure-mocha/runtime';
|
|
|
22
22
|
import { BASE_TEST_CONSTANTS } from '../constants/BASE_TEST_CONSTANTS';
|
|
23
23
|
import { MONACO_CONSTANTS } from '../constants/MONACO_CONSTANTS';
|
|
24
24
|
import { CHROME_DRIVER_CONSTANTS } from '../constants/CHROME_DRIVER_CONSTANTS';
|
|
25
|
+
import { decorate, injectable, unmanaged } from 'inversify';
|
|
26
|
+
import { Main } from '@eclipse-che/che-devworkspace-generator/lib/main';
|
|
27
|
+
import { LocatorLoader } from 'monaco-page-objects/out/locators/loader';
|
|
28
|
+
import { REPORTER_CONSTANTS } from '../constants/REPORTER_CONSTANTS';
|
|
25
29
|
|
|
26
30
|
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
27
31
|
let latestWorkspace: string = '';
|
|
@@ -34,6 +38,14 @@ export function registerRunningWorkspace(workspaceName: string): void {
|
|
|
34
38
|
|
|
35
39
|
exports.mochaHooks = {
|
|
36
40
|
beforeAll: [
|
|
41
|
+
function decorateExternalClasses(): void {
|
|
42
|
+
decorate(injectable(), Main);
|
|
43
|
+
decorate(injectable(), LocatorLoader);
|
|
44
|
+
decorate(unmanaged(), LocatorLoader, 0);
|
|
45
|
+
decorate(unmanaged(), LocatorLoader, 1);
|
|
46
|
+
decorate(unmanaged(), LocatorLoader, 2);
|
|
47
|
+
},
|
|
48
|
+
|
|
37
49
|
function enableRequestInterceptor(): void {
|
|
38
50
|
if (BASE_TEST_CONSTANTS.TS_SELENIUM_REQUEST_INTERCEPTOR) {
|
|
39
51
|
CheApiRequestHandler.enableRequestInterceptor();
|
|
@@ -58,15 +70,15 @@ exports.mochaHooks = {
|
|
|
58
70
|
if (BASE_TEST_CONSTANTS.TS_DEBUG_MODE) {
|
|
59
71
|
for (const [timeout, seconds] of Object.entries(TIMEOUT_CONSTANTS)) {
|
|
60
72
|
Object.defineProperty(TIMEOUT_CONSTANTS, timeout, {
|
|
61
|
-
value: seconds *
|
|
73
|
+
value: seconds * 2
|
|
62
74
|
});
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
77
|
}
|
|
66
78
|
],
|
|
67
79
|
afterEach: [
|
|
68
|
-
async function (this: Mocha.Context): Promise<void> {
|
|
69
|
-
if (this.currentTest?.state === 'failed') {
|
|
80
|
+
async function saveAllureAttachments(this: Mocha.Context): Promise<void> {
|
|
81
|
+
if (REPORTER_CONSTANTS.SAVE_ALLURE_REPORT_DATA && this.currentTest?.state === 'failed') {
|
|
70
82
|
try {
|
|
71
83
|
const screenshot: string = await driverHelper.getDriver().takeScreenshot();
|
|
72
84
|
allure.attachment('Screenshot', Buffer.from(screenshot, 'base64'), 'image/png');
|
package/specs/SmokeTest.spec.ts
CHANGED
|
@@ -20,7 +20,7 @@ import { BrowserTabsUtil } from '../utils/BrowserTabsUtil';
|
|
|
20
20
|
import { expect } from 'chai';
|
|
21
21
|
import { BASE_TEST_CONSTANTS } from '../constants/BASE_TEST_CONSTANTS';
|
|
22
22
|
|
|
23
|
-
suite(
|
|
23
|
+
suite(`The SmokeTest userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
24
24
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
25
25
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
26
26
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
@@ -15,8 +15,9 @@ import { expect } from 'chai';
|
|
|
15
15
|
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
16
16
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
17
17
|
import { CLASSES } from '../../configs/inversify.types';
|
|
18
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
18
19
|
|
|
19
|
-
suite(
|
|
20
|
+
suite(`Test defining container overrides via attribute ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
20
21
|
const pathToSampleFile: string = path.resolve('resources/container-overrides.yaml');
|
|
21
22
|
const workspaceName: string = YAML.parse(fs.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
22
23
|
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
@@ -16,21 +16,23 @@ import { StringUtil } from '../../utils/StringUtil';
|
|
|
16
16
|
import { Logger } from '../../utils/Logger';
|
|
17
17
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
18
18
|
import { CLASSES } from '../../configs/inversify.types';
|
|
19
|
+
import { DevfilesRegistryHelper } from '../../utils/DevfilesRegistryHelper';
|
|
20
|
+
import { MOCHA_CONSTANTS } from '../../constants/MOCHA_CONSTANTS';
|
|
21
|
+
import { API_TEST_CONSTANTS } from '../../constants/API_TEST_CONSTANTS';
|
|
19
22
|
|
|
20
23
|
/**
|
|
21
24
|
* dynamically generating tests
|
|
22
25
|
* info: https://mochajs.org/#delayed-root-suite
|
|
23
26
|
*/
|
|
24
|
-
// todo: skipped while don`t use to avoid sending useless requests
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/require-await
|
|
26
27
|
void (async function (): Promise<void> {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const devfileSamples: any = [];
|
|
30
|
-
// devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry();
|
|
28
|
+
const devfilesRegistryHelper: DevfilesRegistryHelper = e2eContainer.get(CLASSES.DevfilesRegistryHelper);
|
|
31
29
|
|
|
30
|
+
let devfileSamples: any = [];
|
|
31
|
+
if (MOCHA_CONSTANTS.MOCHA_DELAYED_SUITE && API_TEST_CONSTANTS.TS_API_ACCEPTANCE_TEST_REGISTRY_URL()) {
|
|
32
|
+
devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry(false);
|
|
33
|
+
}
|
|
32
34
|
for (const devfileSample of devfileSamples) {
|
|
33
|
-
suite
|
|
35
|
+
suite(`Devfile acceptance test suite for ${devfileSample.name}`, function (): void {
|
|
34
36
|
this.bail(false);
|
|
35
37
|
this.timeout(1500000); // 25 minutes because build of Quarkus sample takes 20+ minutes
|
|
36
38
|
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
@@ -105,7 +107,7 @@ void (async function (): Promise<void> {
|
|
|
105
107
|
);
|
|
106
108
|
Logger.info(`Full build command to be executed: ${commandString}`);
|
|
107
109
|
|
|
108
|
-
const output: ShellString = containerTerminal.
|
|
110
|
+
const output: ShellString = containerTerminal.execInContainerCommand(commandString, command.exec.component);
|
|
109
111
|
expect(output.code).eqls(0);
|
|
110
112
|
});
|
|
111
113
|
}
|
|
@@ -31,7 +31,7 @@ suite('Empty workspace API test', function (): void {
|
|
|
31
31
|
|
|
32
32
|
const gitRepository: string = 'https://github.com/crw-qe/web-nodejs-sample';
|
|
33
33
|
|
|
34
|
-
suiteSetup(
|
|
34
|
+
suiteSetup(`Create empty workspace with OC client ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, async function (): Promise<void> {
|
|
35
35
|
const workspaceName: string = 'empty-' + Math.floor(Math.random() * 1000);
|
|
36
36
|
const devfileContent: string = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
37
37
|
|
|
@@ -54,7 +54,7 @@ suite('Empty workspace API test', function (): void {
|
|
|
54
54
|
expect(output.stdout).contains('condition met');
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
suite(
|
|
57
|
+
suite(`Clone public repo without previous setup ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
58
58
|
test('Check if public repo can be cloned', function (): void {
|
|
59
59
|
containerWorkDir = containerTerminal.pwd().stdout.replace('\n', '');
|
|
60
60
|
const cloneOutput: ShellString = containerTerminal.gitClone(gitRepository);
|
|
@@ -71,10 +71,6 @@ suite('Empty workspace API test', function (): void {
|
|
|
71
71
|
BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME
|
|
72
72
|
);
|
|
73
73
|
});
|
|
74
|
-
|
|
75
|
-
suiteTeardown('Delete cloned project', function (): void {
|
|
76
|
-
containerTerminal.removeFolder(`${clonedProjectName}`);
|
|
77
|
-
});
|
|
78
74
|
});
|
|
79
75
|
|
|
80
76
|
suiteTeardown('Delete workspace', function (): void {
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2023 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { ContainerTerminal, KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
11
|
+
import { DevWorkspaceConfigurationHelper } from '../../utils/DevWorkspaceConfigurationHelper';
|
|
12
|
+
import { ShellString } from 'shelljs';
|
|
13
|
+
import { expect } from 'chai';
|
|
14
|
+
import { StringUtil } from '../../utils/StringUtil';
|
|
15
|
+
import { DevfilesRegistryHelper } from '../../utils/DevfilesRegistryHelper';
|
|
16
|
+
import { Logger } from '../../utils/Logger';
|
|
17
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
18
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
19
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
|
+
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
21
|
+
import { API_TEST_CONSTANTS } from '../../constants/API_TEST_CONSTANTS';
|
|
22
|
+
import { MOCHA_CONSTANTS } from '../../constants/MOCHA_CONSTANTS';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* dynamically generating tests
|
|
26
|
+
* info: https://mochajs.org/#delayed-root-suite
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
void (async function (): Promise<void> {
|
|
30
|
+
const devfilesRegistryHelper: DevfilesRegistryHelper = e2eContainer.get(CLASSES.DevfilesRegistryHelper);
|
|
31
|
+
let devfileSamples: any;
|
|
32
|
+
if (MOCHA_CONSTANTS.MOCHA_DELAYED_SUITE) {
|
|
33
|
+
devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry(
|
|
34
|
+
true,
|
|
35
|
+
API_TEST_CONSTANTS.TS_API_TEST_DEV_WORKSPACE_LIST?.split(',')
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
for (const devfileSample of devfileSamples) {
|
|
40
|
+
suite(
|
|
41
|
+
`Inbuilt DevWorkspaces test suite for "${devfileSample.name}" sample ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
|
|
42
|
+
function (): void {
|
|
43
|
+
this.bail(false);
|
|
44
|
+
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
45
|
+
let kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor;
|
|
46
|
+
let containerTerminal: ContainerTerminal;
|
|
47
|
+
let devfileContextYaml: any;
|
|
48
|
+
let devWorkspaceName: string | undefined;
|
|
49
|
+
let clonedProjectName: string;
|
|
50
|
+
let containerWorkDir: string;
|
|
51
|
+
const devfilesBuildCommands: any[] = [];
|
|
52
|
+
|
|
53
|
+
test('Get DevWorkspace configuration', function (): void {
|
|
54
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({});
|
|
55
|
+
devfileContextYaml = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationsAsYaml(
|
|
56
|
+
devfileSample.devWorkspaceConfigurationString
|
|
57
|
+
);
|
|
58
|
+
devWorkspaceName = devfileContextYaml.DevWorkspace.metadata.name;
|
|
59
|
+
kubernetesCommandLineToolsExecutor = e2eContainer.get(CLASSES.KubernetesCommandLineToolsExecutor);
|
|
60
|
+
kubernetesCommandLineToolsExecutor.workspaceName = devWorkspaceName;
|
|
61
|
+
containerTerminal = e2eContainer.get(CLASSES.ContainerTerminal);
|
|
62
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
test('Collect build commands from the devfile', function (): void {
|
|
66
|
+
if (devfileContextYaml.DevWorkspace.spec.template.commands === undefined) {
|
|
67
|
+
Logger.info('Devfile does not contains any commands.');
|
|
68
|
+
} else {
|
|
69
|
+
devfileContextYaml.DevWorkspace.spec.template.commands.forEach((command: any): void => {
|
|
70
|
+
if (command.exec?.group?.kind === 'build') {
|
|
71
|
+
Logger.debug(`Build command found: ${command.exec.commandLine}`);
|
|
72
|
+
devfilesBuildCommands.push(command);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
test('Create and wait DevWorkspace', function (): void {
|
|
79
|
+
const output: ShellString = kubernetesCommandLineToolsExecutor.applyYamlConfigurationAsStringOutput(
|
|
80
|
+
devfileSample.devWorkspaceConfigurationString
|
|
81
|
+
);
|
|
82
|
+
expect(output.stdout)
|
|
83
|
+
.contains('devworkspacetemplate')
|
|
84
|
+
.and.contains('devworkspace')
|
|
85
|
+
.and.contains.oneOf(['created', 'configured']);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
test('Wait until DevWorkspace has status "ready"', function (): void {
|
|
89
|
+
this.timeout(TIMEOUT_CONSTANTS.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
|
|
90
|
+
expect(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
test('Check if project was created', function (): void {
|
|
94
|
+
clonedProjectName = devfileContextYaml.DevWorkspace.spec.template.projects[0].name;
|
|
95
|
+
expect(containerTerminal.ls().stdout).includes(clonedProjectName);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('Check if project files are imported', function (): void {
|
|
99
|
+
containerWorkDir = containerTerminal.pwd().stdout.replace('\n', '');
|
|
100
|
+
expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes('devfile.yaml');
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
test('Check if build commands returns success', function (): void {
|
|
104
|
+
this.test?.timeout(1500000); // 25 minutes because build of Quarkus sample takes 20+ minutes
|
|
105
|
+
if (devfilesBuildCommands.length === 0) {
|
|
106
|
+
Logger.info('Devfile does not contains build commands.');
|
|
107
|
+
} else {
|
|
108
|
+
devfilesBuildCommands.forEach((command): void => {
|
|
109
|
+
Logger.info(`command.exec: ${JSON.stringify(command.exec)}`);
|
|
110
|
+
|
|
111
|
+
const commandString: string = StringUtil.updateCommandEnvsToShStyle(
|
|
112
|
+
`cd ${command.exec.workingDir} && ${command.exec.commandLine}`
|
|
113
|
+
);
|
|
114
|
+
Logger.info(`Full build command to be executed: ${commandString}`);
|
|
115
|
+
|
|
116
|
+
const output: ShellString = containerTerminal.execInContainerCommand(commandString, command.exec.component);
|
|
117
|
+
expect(output.code).eqls(0);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test('Delete DevWorkspace', function (): void {
|
|
123
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
run();
|
|
130
|
+
})();
|
|
@@ -17,7 +17,7 @@ import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
|
17
17
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
18
18
|
import { CLASSES } from '../../configs/inversify.types';
|
|
19
19
|
|
|
20
|
-
suite(
|
|
20
|
+
suite(`Test defining pod overrides via attribute ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
21
21
|
const pathToSampleFile: string = path.resolve(
|
|
22
22
|
`resources/pod-overrides${BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED() ? '-airgap' : ''}.yaml`
|
|
23
23
|
);
|
|
@@ -26,7 +26,7 @@ import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
|
26
26
|
import { Logger } from '../../utils/Logger';
|
|
27
27
|
|
|
28
28
|
// suit works for DevSpaces
|
|
29
|
-
suite(
|
|
29
|
+
suite(`Check links to documentation page in Dashboard ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
30
30
|
this.timeout(180000);
|
|
31
31
|
const pathToSampleFile: string = path.resolve('resources/default-devfile.yaml');
|
|
32
32
|
const workspaceName: string = YAML.parse(fs.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
@@ -16,10 +16,11 @@ import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
|
16
16
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
17
17
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
18
18
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
19
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
19
20
|
|
|
20
21
|
const stackName: string = 'Empty Workspace';
|
|
21
22
|
|
|
22
|
-
suite(`${stackName} test`, function (): void {
|
|
23
|
+
suite(`${stackName} test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
23
24
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
24
25
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
25
26
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
@@ -21,7 +21,7 @@ import { expect } from 'chai';
|
|
|
21
21
|
|
|
22
22
|
const stackName: string = 'Java 11 with Quarkus';
|
|
23
23
|
|
|
24
|
-
suite(`The ${stackName} userstory`, function (): void {
|
|
24
|
+
suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
25
25
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
26
26
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
27
27
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|