@eclipse-che/che-e2e 7.98.0-next-5eb56bf → 7.98.0-next-7ba4b8c
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/specs/api/NodeJSMongoDBDevFileAPI.spec.js +81 -0
- package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +1 -0
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +4 -0
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -1
- package/package.json +1 -1
- package/specs/api/NodeJSMongoDBDevFileAPI.spec.ts +93 -0
- package/utils/KubernetesCommandLineToolsExecutor.ts +12 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/** *******************************************************************
|
|
7
|
+
* copyright (c) 2024 Red Hat, Inc.
|
|
8
|
+
*
|
|
9
|
+
* This program and the accompanying materials are made
|
|
10
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
11
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
12
|
+
*
|
|
13
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
14
|
+
**********************************************************************/
|
|
15
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
16
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
17
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
18
|
+
const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
|
|
19
|
+
const chai_1 = require("chai");
|
|
20
|
+
const API_TEST_CONSTANTS_1 = require("../../constants/API_TEST_CONSTANTS");
|
|
21
|
+
const yaml_1 = __importDefault(require("yaml"));
|
|
22
|
+
const Logger_1 = require("../../utils/Logger");
|
|
23
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
24
|
+
suite('NodeJS MongoDB devfile API test', function () {
|
|
25
|
+
const devfilesRegistryHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DevfilesRegistryHelper);
|
|
26
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
27
|
+
const devfileID = 'nodejs-mongodb';
|
|
28
|
+
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
29
|
+
let devWorkspaceConfigurationHelper;
|
|
30
|
+
let devfileContext;
|
|
31
|
+
let devfileContent = '';
|
|
32
|
+
let devfileName = '';
|
|
33
|
+
suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
34
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
35
|
+
});
|
|
36
|
+
test(`Create ${devfileID} workspace`, async function () {
|
|
37
|
+
const randomPref = crypto_1.default.randomBytes(4).toString('hex');
|
|
38
|
+
kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE || 'admin-devspaces';
|
|
39
|
+
devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
|
|
40
|
+
const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
|
|
41
|
+
devfileName = yaml_1.default.parse(devfileContent).metadata.name;
|
|
42
|
+
const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
|
|
43
|
+
kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
|
|
44
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
45
|
+
editorContent: editorDevfileContent,
|
|
46
|
+
devfileContent: devfileContent
|
|
47
|
+
});
|
|
48
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
49
|
+
if (devfileContext.devWorkspace.metadata) {
|
|
50
|
+
devfileContext.devWorkspace.metadata.name = uniqueName;
|
|
51
|
+
}
|
|
52
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
53
|
+
const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
54
|
+
(0, chai_1.expect)(output.stdout).contains('condition met');
|
|
55
|
+
});
|
|
56
|
+
test('Check "Run the application" command', function () {
|
|
57
|
+
const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
|
|
58
|
+
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
59
|
+
Logger_1.Logger.info('Test cluster is disconnected. Ignore Self-Signed Certificate error.');
|
|
60
|
+
const ignoreSelfSignedCertificateErrorCommand = 'npm config set strict-ssl false';
|
|
61
|
+
const output = containerTerminal.execInContainerCommand(ignoreSelfSignedCertificateErrorCommand, containerName);
|
|
62
|
+
(0, chai_1.expect)(output.code).eqls(0);
|
|
63
|
+
}
|
|
64
|
+
const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
|
|
65
|
+
const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
|
|
66
|
+
Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
|
|
67
|
+
Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
|
|
68
|
+
let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
|
|
69
|
+
if (workdir !== undefined && workdir !== '') {
|
|
70
|
+
runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
|
|
71
|
+
}
|
|
72
|
+
const output = containerTerminal.execInContainerCommandWithTimeout(runCommandInBash, containerName);
|
|
73
|
+
(0, chai_1.expect)(output.code).eqls(124);
|
|
74
|
+
const outputText = output.stdout.trim();
|
|
75
|
+
(0, chai_1.expect)(outputText).contains('App listening on port 8080');
|
|
76
|
+
});
|
|
77
|
+
suiteTeardown('Delete workspace', function () {
|
|
78
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=NodeJSMongoDBDevFileAPI.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeJSMongoDBDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/NodeJSMongoDBDevFileAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,10 @@ let KubernetesCommandLineToolsExecutor = KubernetesCommandLineToolsExecutor_1 =
|
|
|
138
138
|
Logger_1.Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
139
139
|
return this.shellExecutor.executeCommand(`${this.kubernetesCommandLineTool} exec -i ${KubernetesCommandLineToolsExecutor_1.pod} -n ${this.namespace} -c ${container} -- sh -c '${commandToExecute}'`);
|
|
140
140
|
}
|
|
141
|
+
execInContainerCommandWithTimeout(commandToExecute, container = KubernetesCommandLineToolsExecutor_1.container, timeout = '20') {
|
|
142
|
+
Logger_1.Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
143
|
+
return this.shellExecutor.executeCommand(` timeout ${timeout} ${this.kubernetesCommandLineTool} exec -i ${KubernetesCommandLineToolsExecutor_1.pod} -n ${this.namespace} -c ${container} -- sh -c '${commandToExecute}'`);
|
|
144
|
+
}
|
|
141
145
|
applyYamlConfigurationAsStringOutput(yamlConfiguration) {
|
|
142
146
|
Logger_1.Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
143
147
|
return this.shellExecutor.executeCommand(`cat <<EOF | ${this.kubernetesCommandLineTool} apply -n ${this.namespace} -f - \n` + yamlConfiguration + '\n' + 'EOF');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesCommandLineToolsExecutor.js","sourceRoot":"","sources":["../../utils/KubernetesCommandLineToolsExecutor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"KubernetesCommandLineToolsExecutor.js","sourceRoot":"","sources":["../../utils/KubernetesCommandLineToolsExecutor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2024 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 { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
11
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
+
import { DevfilesHelper } from '../../utils/DevfilesHelper';
|
|
14
|
+
import { ContainerTerminal, KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
15
|
+
import { DevWorkspaceConfigurationHelper } from '../../utils/DevWorkspaceConfigurationHelper';
|
|
16
|
+
import { DevfileContext } from '@eclipse-che/che-devworkspace-generator/lib/api/devfile-context';
|
|
17
|
+
import { ShellString } from 'shelljs';
|
|
18
|
+
import { expect } from 'chai';
|
|
19
|
+
import { API_TEST_CONSTANTS } from '../../constants/API_TEST_CONSTANTS';
|
|
20
|
+
import YAML from 'yaml';
|
|
21
|
+
import { Logger } from '../../utils/Logger';
|
|
22
|
+
import crypto from 'crypto';
|
|
23
|
+
|
|
24
|
+
suite('NodeJS MongoDB devfile API test', function (): void {
|
|
25
|
+
const devfilesRegistryHelper: DevfilesHelper = e2eContainer.get(CLASSES.DevfilesRegistryHelper);
|
|
26
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
27
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
28
|
+
);
|
|
29
|
+
const devfileID: string = 'nodejs-mongodb';
|
|
30
|
+
const containerTerminal: ContainerTerminal = e2eContainer.get(CLASSES.ContainerTerminal);
|
|
31
|
+
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
32
|
+
let devfileContext: DevfileContext;
|
|
33
|
+
let devfileContent: string = '';
|
|
34
|
+
let devfileName: string = '';
|
|
35
|
+
|
|
36
|
+
suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
37
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
test(`Create ${devfileID} workspace`, async function (): Promise<void> {
|
|
41
|
+
const randomPref: string = crypto.randomBytes(4).toString('hex');
|
|
42
|
+
kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE || 'admin-devspaces';
|
|
43
|
+
devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
|
|
44
|
+
const editorDevfileContent: string = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
|
|
45
|
+
devfileName = YAML.parse(devfileContent).metadata.name;
|
|
46
|
+
const uniqueName: string = YAML.parse(devfileContent).metadata.name + randomPref;
|
|
47
|
+
kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
|
|
48
|
+
|
|
49
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
50
|
+
editorContent: editorDevfileContent,
|
|
51
|
+
devfileContent: devfileContent
|
|
52
|
+
});
|
|
53
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
54
|
+
if (devfileContext.devWorkspace.metadata) {
|
|
55
|
+
devfileContext.devWorkspace.metadata.name = uniqueName;
|
|
56
|
+
}
|
|
57
|
+
const devWorkspaceConfigurationYamlString: string =
|
|
58
|
+
devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
59
|
+
const output: ShellString = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
60
|
+
expect(output.stdout).contains('condition met');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('Check "Run the application" command', function (): void {
|
|
64
|
+
const containerName: string = YAML.parse(devfileContent).commands[0].exec.component;
|
|
65
|
+
|
|
66
|
+
if (BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
67
|
+
Logger.info('Test cluster is disconnected. Ignore Self-Signed Certificate error.');
|
|
68
|
+
const ignoreSelfSignedCertificateErrorCommand: string = 'npm config set strict-ssl false';
|
|
69
|
+
const output: ShellString = containerTerminal.execInContainerCommand(ignoreSelfSignedCertificateErrorCommand, containerName);
|
|
70
|
+
expect(output.code).eqls(0);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const workdir: string = YAML.parse(devfileContent).commands[0].exec.workingDir;
|
|
74
|
+
const commandLine: string = YAML.parse(devfileContent).commands[0].exec.commandLine;
|
|
75
|
+
Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
|
|
76
|
+
Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
|
|
77
|
+
|
|
78
|
+
let runCommandInBash: string = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
|
|
79
|
+
if (workdir !== undefined && workdir !== '') {
|
|
80
|
+
runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const output: ShellString = containerTerminal.execInContainerCommandWithTimeout(runCommandInBash, containerName);
|
|
84
|
+
expect(output.code).eqls(124);
|
|
85
|
+
|
|
86
|
+
const outputText: string = output.stdout.trim();
|
|
87
|
+
expect(outputText).contains('App listening on port 8080');
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
suiteTeardown('Delete workspace', function (): void {
|
|
91
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -132,6 +132,18 @@ export class KubernetesCommandLineToolsExecutor implements IKubernetesCommandLin
|
|
|
132
132
|
);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
+
execInContainerCommandWithTimeout(
|
|
136
|
+
commandToExecute: string,
|
|
137
|
+
container: string = KubernetesCommandLineToolsExecutor.container,
|
|
138
|
+
timeout: string = '20'
|
|
139
|
+
): ShellString {
|
|
140
|
+
Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
141
|
+
|
|
142
|
+
return this.shellExecutor.executeCommand(
|
|
143
|
+
` timeout ${timeout} ${this.kubernetesCommandLineTool} exec -i ${KubernetesCommandLineToolsExecutor.pod} -n ${this.namespace} -c ${container} -- sh -c '${commandToExecute}'`
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
|
|
135
147
|
applyYamlConfigurationAsStringOutput(yamlConfiguration: string): ShellString {
|
|
136
148
|
Logger.debug(`${this.kubernetesCommandLineTool}`);
|
|
137
149
|
|