@eclipse-che/che-e2e 7.94.0-next-3bef038 → 7.94.0-next-8cb40db
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/configs/inversify.config.ts +2 -2
- package/dist/configs/inversify.config.js +2 -2
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +2 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -1
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +1 -1
- package/dist/specs/api/PhpDevFileAPI.spec.js +69 -0
- package/dist/specs/api/PhpDevFileAPI.spec.js.map +1 -0
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +78 -0
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +1 -0
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -1
- package/dist/utils/{DevfilesRegistryHelper.js → DevfilesHelper.js} +63 -9
- package/dist/utils/DevfilesHelper.js.map +1 -0
- package/index.ts +1 -1
- package/package.json +1 -1
- package/specs/api/DevfileAcceptanceTestAPI.spec.ts +2 -2
- package/specs/api/EmptyWorkspaceAPI.spec.ts +2 -1
- package/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.ts +2 -2
- package/specs/api/PhpDevFileAPI.spec.ts +76 -0
- package/specs/miscellaneous/UserSecretsInWorkspace.spec.ts +97 -0
- package/utils/DevWorkspaceConfigurationHelper.ts +2 -0
- package/utils/{DevfilesRegistryHelper.ts → DevfilesHelper.ts} +77 -6
- package/dist/utils/DevfilesRegistryHelper.js.map +0 -1
|
@@ -47,7 +47,7 @@ import { BASE_TEST_CONSTANTS, Platform } from '../constants/BASE_TEST_CONSTANTS'
|
|
|
47
47
|
import { CheCodeLocatorLoader } from '../pageobjects/ide/CheCodeLocatorLoader';
|
|
48
48
|
import { LocatorLoader } from 'monaco-page-objects/out/locators/loader';
|
|
49
49
|
import { OauthPage } from '../pageobjects/git-providers/OauthPage';
|
|
50
|
-
import {
|
|
50
|
+
import { DevfilesHelper } from '../utils/DevfilesHelper';
|
|
51
51
|
import { Main as Generator } from '@eclipse-che/che-devworkspace-generator/lib/main';
|
|
52
52
|
import { ContainerTerminal, KubernetesCommandLineToolsExecutor } from '../utils/KubernetesCommandLineToolsExecutor';
|
|
53
53
|
import { ShellExecutor } from '../utils/ShellExecutor';
|
|
@@ -84,7 +84,7 @@ e2eContainer.bind<StringUtil>(CLASSES.StringUtil).to(StringUtil);
|
|
|
84
84
|
e2eContainer.bind<ApiUrlResolver>(CLASSES.ApiUrlResolver).to(ApiUrlResolver);
|
|
85
85
|
e2eContainer.bind<WorkspaceHandlingTests>(CLASSES.WorkspaceHandlingTests).to(WorkspaceHandlingTests);
|
|
86
86
|
e2eContainer.bind<RedHatLoginPage>(CLASSES.RedHatLoginPage).to(RedHatLoginPage);
|
|
87
|
-
e2eContainer.bind<
|
|
87
|
+
e2eContainer.bind<DevfilesHelper>(CLASSES.DevfilesRegistryHelper).to(DevfilesHelper);
|
|
88
88
|
e2eContainer.bind<KubernetesCommandLineToolsExecutor>(CLASSES.KubernetesCommandLineToolsExecutor).to(KubernetesCommandLineToolsExecutor);
|
|
89
89
|
e2eContainer.bind<ShellExecutor>(CLASSES.ShellExecutor).to(ShellExecutor);
|
|
90
90
|
e2eContainer.bind<ContainerTerminal>(CLASSES.ContainerTerminal).to(ContainerTerminal);
|
|
@@ -44,7 +44,7 @@ const BASE_TEST_CONSTANTS_1 = require("../constants/BASE_TEST_CONSTANTS");
|
|
|
44
44
|
const CheCodeLocatorLoader_1 = require("../pageobjects/ide/CheCodeLocatorLoader");
|
|
45
45
|
const loader_1 = require("monaco-page-objects/out/locators/loader");
|
|
46
46
|
const OauthPage_1 = require("../pageobjects/git-providers/OauthPage");
|
|
47
|
-
const
|
|
47
|
+
const DevfilesHelper_1 = require("../utils/DevfilesHelper");
|
|
48
48
|
const main_1 = require("@eclipse-che/che-devworkspace-generator/lib/main");
|
|
49
49
|
const KubernetesCommandLineToolsExecutor_1 = require("../utils/KubernetesCommandLineToolsExecutor");
|
|
50
50
|
const ShellExecutor_1 = require("../utils/ShellExecutor");
|
|
@@ -80,7 +80,7 @@ e2eContainer.bind(inversify_types_1.CLASSES.StringUtil).to(StringUtil_1.StringUt
|
|
|
80
80
|
e2eContainer.bind(inversify_types_1.CLASSES.ApiUrlResolver).to(ApiUrlResolver_1.ApiUrlResolver);
|
|
81
81
|
e2eContainer.bind(inversify_types_1.CLASSES.WorkspaceHandlingTests).to(WorkspaceHandlingTests_1.WorkspaceHandlingTests);
|
|
82
82
|
e2eContainer.bind(inversify_types_1.CLASSES.RedHatLoginPage).to(RedHatLoginPage_1.RedHatLoginPage);
|
|
83
|
-
e2eContainer.bind(inversify_types_1.CLASSES.DevfilesRegistryHelper).to(
|
|
83
|
+
e2eContainer.bind(inversify_types_1.CLASSES.DevfilesRegistryHelper).to(DevfilesHelper_1.DevfilesHelper);
|
|
84
84
|
e2eContainer.bind(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor).to(KubernetesCommandLineToolsExecutor_1.KubernetesCommandLineToolsExecutor);
|
|
85
85
|
e2eContainer.bind(inversify_types_1.CLASSES.ShellExecutor).to(ShellExecutor_1.ShellExecutor);
|
|
86
86
|
e2eContainer.bind(inversify_types_1.CLASSES.ContainerTerminal).to(KubernetesCommandLineToolsExecutor_1.ContainerTerminal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,4BAA0B;AAC1B,yCAAsC;AAEtC,yDAAsD;AACtD,uDAAqE;AACrE,4EAAyE;AAEzE,sFAAmF;AAEnF,0GAAuG;AACvG,wDAAqD;AACrD,kEAA+D;AAC/D,oEAAiE;AACjE,kGAA+F;AAC/F,0DAAuD;AACvD,8EAA2E;AAE3E,qIAAkI;AAClI,yFAAsF;AACtF,8EAA2E;AAC3E,8DAA2D;AAC3D,oFAAiF;AACjF,sEAAmE;AAEnE,8EAA2E;AAC3E,4DAAyD;AACzD,oFAAiF;AACjF,0FAAuF;AACvF,sEAAmE;AACnE,wFAAqF;AACrF,oFAAiF;AACjF,oDAAiD;AACjD,6FAA0F;AAC1F,+EAA4E;AAC5E,kEAA+D;AAC/D,0EAAiF;AACjF,kFAA+E;AAC/E,oEAAwE;AACxE,sEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ __exportStar(require("./driver/ChromeDriver"), exports);
|
|
|
35
35
|
__exportStar(require("./driver/IDriver"), exports);
|
|
36
36
|
__exportStar(require("./utils/BrowserTabsUtil"), exports);
|
|
37
37
|
__exportStar(require("./utils/DevWorkspaceConfigurationHelper"), exports);
|
|
38
|
-
__exportStar(require("./utils/
|
|
38
|
+
__exportStar(require("./utils/DevfilesHelper"), exports);
|
|
39
39
|
__exportStar(require("./utils/DriverHelper"), exports);
|
|
40
40
|
__exportStar(require("./utils/IContextParams"), exports);
|
|
41
41
|
__exportStar(require("./utils/IKubernetesCommandLineToolsExecutor"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,8EAA4D;AAC5D,6EAA2D;AAC3D,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,gFAA8D;AAC9D,0GAAwF;AACxF,+FAA6E;AAC7E,mEAAiD;AACjD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,2EAAyD;AACzD,0EAAwD;AACxD,qEAAmD;AACnD,6FAA2E;AAC3E,wEAAsD;AACtD,yEAAuD;AACvD,2EAAyD;AACzD,+EAA6D;AAC7D,+EAA6D;AAC7D,8EAA4D;AAC5D,qFAAmE;AACnE,6EAA2D;AAC3D,mFAAiE;AACjE,iFAA+D;AAC/D,gFAA8D;AAC9D,2FAAyE;AACzE,6EAA2D;AAC3D,+EAA6D;AAC7D,sEAAoD;AACpD,4EAA0D;AAC1D,6DAA2C;AAC3C,sEAAoD;AACpD,yEAAuD;AACvD,iEAA+C;AAC/C,kEAAgD;AAChD,sEAAoD;AACpD,qEAAmD;AACnD,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevfileAcceptanceTestAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/DevfileAcceptanceTestAPI.spec.ts"],"names":[],"mappings":";;AAUA,iGAA8F;AAE9F,+BAA8B;AAE9B,uDAAoD;AACpD,+CAA4C;AAC5C,qEAA8D;AAC9D,mEAAwD;AAExD,qEAAkE;AAClE,2EAAwE;AACxE,6EAA0E;AAE1E;;;GAGG;AACH,KAAK,CAAC,KAAK;IACV,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"DevfileAcceptanceTestAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/DevfileAcceptanceTestAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,9 @@ suite('Empty workspace API test', function () {
|
|
|
21
21
|
suiteSetup(`Create empty workspace with OC client ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, async function () {
|
|
22
22
|
const workspaceName = 'empty-' + Math.floor(Math.random() * 1000);
|
|
23
23
|
const devfileContent = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
24
|
+
const editorContent = '';
|
|
24
25
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
25
|
-
devfileContent
|
|
26
|
+
devfileContent, editorContent
|
|
26
27
|
});
|
|
27
28
|
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
28
29
|
devWorkspaceName = devfileContext?.devWorkspace?.metadata?.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyWorkspaceAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/EmptyWorkspaceAPI.spec.ts"],"names":[],"mappings":";;AAUA,+BAA8B;AAE9B,uDAAoD;AACpD,iGAA8F;AAE9F,2EAAwE;AACxE,6EAA0E;AAC1E,qEAA8D;AAC9D,mEAAwD;AAExD,KAAK,CAAC,0BAA0B,EAAE;IACjC,2BAA2B;IAC3B,MAAM,SAAS,GAAuB,uCAAkB,CAAC,qBAAqB,CAAC;IAC/E,IAAI,iBAAyB,CAAC;IAC9B,IAAI,gBAAwB,CAAC;IAC7B,IAAI,+BAAgE,CAAC;IACrE,IAAI,kCAAsE,CAAC;IAC3E,IAAI,cAA8B,CAAC;IACnC,IAAI,gBAAoC,CAAC;IACzC,IAAI,iBAAoC,CAAC;IAEzC,MAAM,aAAa,GAAW,6CAA6C,CAAC;IAE5E,UAAU,CAAC,yCAAyC,yCAAmB,CAAC,gBAAgB,EAAE,EAAE,KAAK;QAChG,MAAM,aAAa,GAAW,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAW,wBAAwB,GAAG,aAAa,GAAG,WAAW,aAAa,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"EmptyWorkspaceAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/EmptyWorkspaceAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InbuiltApplicationDevWorkspacesAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/InbuiltApplicationDevWorkspacesAPI.spec.ts"],"names":[],"mappings":";;AAUA,iGAA8F;AAE9F,+BAA8B;AAC9B,uDAAoD;AAEpD,+CAA4C;AAC5C,qEAA8D;AAC9D,mEAAwD;AACxD,6EAA0E;AAC1E,yEAAsE;AACtE,2EAAwE;AACxE,qEAAkE;AAElE;;;GAGG;AAEH,KAAK,CAAC,KAAK;IACV,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"InbuiltApplicationDevWorkspacesAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/InbuiltApplicationDevWorkspacesAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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) 2023 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('PHP 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 = 'php';
|
|
28
|
+
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
29
|
+
let devWorkspaceConfigurationHelper;
|
|
30
|
+
let devfileContext;
|
|
31
|
+
let devfileContent = '';
|
|
32
|
+
suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
33
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
34
|
+
});
|
|
35
|
+
test(`Create ${devfileID} workspace`, async function () {
|
|
36
|
+
const randomPref = crypto_1.default.randomBytes(4).toString('hex');
|
|
37
|
+
kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE || 'admin-devspaces';
|
|
38
|
+
devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
|
|
39
|
+
const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
|
|
40
|
+
const uniqName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
|
|
41
|
+
kubernetesCommandLineToolsExecutor.workspaceName = uniqName;
|
|
42
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
43
|
+
editorContent: editorDevfileContent,
|
|
44
|
+
devfileContent: devfileContent
|
|
45
|
+
});
|
|
46
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
47
|
+
if (devfileContext.devWorkspace.metadata) {
|
|
48
|
+
devfileContext.devWorkspace.metadata.name = uniqName;
|
|
49
|
+
}
|
|
50
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
51
|
+
const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
52
|
+
(0, chai_1.expect)(output.stdout).contains('condition met');
|
|
53
|
+
});
|
|
54
|
+
test('Check running application', function () {
|
|
55
|
+
const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
|
|
56
|
+
const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
|
|
57
|
+
const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
|
|
58
|
+
Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
|
|
59
|
+
Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
|
|
60
|
+
const runCommandInBash = `cd ${workdir} && ${commandLine}`;
|
|
61
|
+
const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
|
|
62
|
+
(0, chai_1.expect)(output.code).eqls(0);
|
|
63
|
+
(0, chai_1.expect)(output.stdout.trim()).contains('Hello, world!');
|
|
64
|
+
});
|
|
65
|
+
suiteTeardown('Delete workspace', function () {
|
|
66
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=PhpDevFileAPI.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhpDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/PhpDevFileAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2024 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
+
const shelljs_1 = require("shelljs");
|
|
17
|
+
const chai_1 = require("chai");
|
|
18
|
+
const OAUTH_CONSTANTS_1 = require("../../constants/OAUTH_CONSTANTS");
|
|
19
|
+
suite('"User secrets in workspace" test', function () {
|
|
20
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
21
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
22
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
23
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
24
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
+
let kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
26
|
+
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
27
|
+
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
28
|
+
const userProject = OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + `-devspaces`;
|
|
29
|
+
const stackName = 'Empty Workspace';
|
|
30
|
+
const mountEnvCommand = `echo '
|
|
31
|
+
apiVersion: v1
|
|
32
|
+
kind: Secret
|
|
33
|
+
metadata:
|
|
34
|
+
name: mount
|
|
35
|
+
labels:
|
|
36
|
+
controller.devfile.io/mount-to-devworkspace: "true"
|
|
37
|
+
controller.devfile.io/watch-secret: "true"
|
|
38
|
+
annotations:
|
|
39
|
+
controller.devfile.io/mount-as: env
|
|
40
|
+
data:
|
|
41
|
+
mykey: bXl2YWx1ZQ==
|
|
42
|
+
type: Opaque
|
|
43
|
+
' | oc apply -f -`;
|
|
44
|
+
suiteSetup('Mount kubernetes secret to the DevWorkspace containers', function () {
|
|
45
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
46
|
+
shellExecutor.executeCommand('oc project ' + userProject);
|
|
47
|
+
shellExecutor.executeCommand('oc delete secret mount || true');
|
|
48
|
+
(0, shelljs_1.ShellString)(shellExecutor.executeCommand(mountEnvCommand));
|
|
49
|
+
});
|
|
50
|
+
suiteSetup('Login', async function () {
|
|
51
|
+
await loginTests.loginIntoChe();
|
|
52
|
+
});
|
|
53
|
+
test(`Create and open new workspace, stack:${stackName} and wait workspace readiness`, async function () {
|
|
54
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
55
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
56
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
57
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
58
|
+
});
|
|
59
|
+
test('Check that mounted secret exists in envs list', async function () {
|
|
60
|
+
kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
61
|
+
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
62
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
63
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
64
|
+
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand('env | grep mykey');
|
|
65
|
+
(0, chai_1.expect)(output, 'Environment variable "mykey" from the user secret is not found').contains('mykey=myvalue');
|
|
66
|
+
});
|
|
67
|
+
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
68
|
+
await dashboard.openDashboard();
|
|
69
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
70
|
+
});
|
|
71
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
72
|
+
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
73
|
+
});
|
|
74
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
75
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=UserSecretsInWorkspace.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSecretsInWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/UserSecretsInWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,mEAA+D;AAC/D,uFAAoF;AAGpF,8CAAyD;AAIzD,qCAAsC;AACtC,+BAA8B;AAG9B,qEAAkE;AAElE,KAAK,CAAC,kCAAkC,EAAE;IACzC,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IAEnF,IAAI,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC5F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IACF,MAAM,aAAa,GAAkB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,WAAW,GAAW,iCAAe,CAAC,wBAAwB,GAAG,YAAY,CAAC;IACpF,MAAM,SAAS,GAAW,iBAAiB,CAAC;IAE5C,MAAM,eAAe,GAAW;;;;;;;;;;;;;kBAaf,CAAC;IAElB,UAAU,CAAC,wDAAwD,EAAE;QACpE,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAChD,aAAa,CAAC,cAAc,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;QAC1D,aAAa,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;QAE/D,IAAA,qBAAW,EAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,SAAS,+BAA+B,EAAE,KAAK;QAC3F,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QAEnE,IAAA,qCAAwB,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACpE,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK;QAC1D,kCAAkC,GAAG,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,kCAAkC,CAAC,CAAC;QAClG,kCAAkC,CAAC,aAAa,GAAG,+CAAsB,CAAC,gBAAgB,EAAE,CAAC;QAC7F,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAChD,kCAAkC,CAAC,uBAAuB,EAAE,CAAC;QAE7D,MAAM,MAAM,GAAgB,kCAAkC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAC1G,IAAA,aAAM,EAAC,MAAM,EAAE,gEAAgE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,yCAAyC,EAAE,KAAK;QAC7D,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,sCAAsC,EAAE,KAAK;QAC1D,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,8BAA8B,EAAE;QAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevWorkspaceConfigurationHelper.js","sourceRoot":"","sources":["../../utils/DevWorkspaceConfigurationHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,2EAAqF;AAGrF,gDAAwB;AACxB,6CAA+B;AAC/B,qCAAkC;AAClC,mDAAgD;AAChD,wEAAqE;AACrE,yCAAuC;AAEvC,kEAA2D;AAC3D,gEAAuE;AACvE,8FAAwD;
|
|
1
|
+
{"version":3,"file":"DevWorkspaceConfigurationHelper.js","sourceRoot":"","sources":["../../utils/DevWorkspaceConfigurationHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.DevfilesHelper = void 0;
|
|
13
13
|
/** *******************************************************************
|
|
14
14
|
* copyright (c) 2023 Red Hat, Inc.
|
|
15
15
|
*
|
|
@@ -25,7 +25,55 @@ 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
27
|
const BASE_TEST_CONSTANTS_1 = require("../constants/BASE_TEST_CONSTANTS");
|
|
28
|
-
|
|
28
|
+
const inversify_config_1 = require("../configs/inversify.config");
|
|
29
|
+
const inversify_types_1 = require("../configs/inversify.types");
|
|
30
|
+
let DevfilesHelper = class DevfilesHelper {
|
|
31
|
+
getInternalClusterURLToDevFile(devFileName) {
|
|
32
|
+
const devfileSampleURIPrefix = `/dashboard/api/airgap-sample/devfile/download?id=${devFileName}`;
|
|
33
|
+
let serviceClusterIp = '';
|
|
34
|
+
let servicePort = '';
|
|
35
|
+
serviceClusterIp = this.getShellExecutor().executeArbitraryShellScript(`oc get svc devspaces-dashboard -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -o=jsonpath='{.spec.clusterIP}'`);
|
|
36
|
+
servicePort = this.getShellExecutor().executeArbitraryShellScript(`oc get svc devspaces-dashboard -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -o=jsonpath='{.spec.ports[*].port}'`);
|
|
37
|
+
return `http://${serviceClusterIp}:${servicePort}${devfileSampleURIPrefix}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* grab devfile content from the Dashboard pod (currently, in the image of dashboard builds with devfile content and we use it for getting devfile description)
|
|
41
|
+
* @param podName
|
|
42
|
+
* @param containerName
|
|
43
|
+
* @param devFileName
|
|
44
|
+
*/
|
|
45
|
+
obtainDevFileContentUsingPod(podName, containerName, devFileName) {
|
|
46
|
+
const clusterURL = this.getInternalClusterURLToDevFile(devFileName);
|
|
47
|
+
this.getShellExecutor().executeCommand(`oc exec -i ${podName} -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -c ${containerName} -- sh -c 'curl -o /tmp/${devFileName}-devfile.yaml ${clusterURL}'`);
|
|
48
|
+
return this.getShellExecutor()
|
|
49
|
+
.executeArbitraryShellScript(`oc exec -i ${podName} -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -c ${containerName} -- cat /tmp/${devFileName}-devfile.yaml`)
|
|
50
|
+
.toString();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* grab devfile content from the Che config map
|
|
54
|
+
* @param configMapName
|
|
55
|
+
*/
|
|
56
|
+
obtainCheDevFileEditorFromCheConfigMap(configMapName) {
|
|
57
|
+
return this.getShellExecutor().executeCommand(`oc get configmap ${configMapName} -o jsonpath="{.data.che-code\\.yaml}" -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()}`);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* find the Dashboard pod and container name and grab devfile content from it
|
|
61
|
+
* @param devSample
|
|
62
|
+
*/
|
|
63
|
+
getDevfileContent(devSample) {
|
|
64
|
+
const command = `oc get pods -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()}`;
|
|
65
|
+
console.log(`command: ${command}`);
|
|
66
|
+
const podName = this.getShellExecutor()
|
|
67
|
+
.executeArbitraryShellScript(`oc get pods -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} | grep dashboard | awk \'{print $1}\'`)
|
|
68
|
+
.trim();
|
|
69
|
+
const containerName = this.getShellExecutor().executeArbitraryShellScript(`oc get pod -n ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} ${podName} -o jsonpath=\'{.spec.containers[*].name}\'`);
|
|
70
|
+
const devfileContent = this.obtainDevFileContentUsingPod(podName, containerName, devSample);
|
|
71
|
+
return devfileContent;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated applicable only for inbuilt devfiles
|
|
75
|
+
* @param sampleNamePatterns
|
|
76
|
+
*/
|
|
29
77
|
async getInbuiltDevfilesRegistryContent(sampleNamePatterns) {
|
|
30
78
|
Logger_1.Logger.trace();
|
|
31
79
|
return this.filterSamples(sampleNamePatterns, await this.getContent(API_TEST_CONSTANTS_1.SUPPORTED_DEVFILE_REGISTRIES.INBUILT_APPLICATION_DEVFILE_REGISTRY_URL()));
|
|
@@ -37,6 +85,12 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
37
85
|
: API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_ACCEPTANCE_TEST_REGISTRY_URL();
|
|
38
86
|
return await this.getContent(url);
|
|
39
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
* @deprecated applicable only for inbuilt devfiles
|
|
91
|
+
* @param isInbuilt
|
|
92
|
+
* @param sampleNamePatterns
|
|
93
|
+
*/
|
|
40
94
|
async collectPathsToDevfilesFromRegistry(isInbuilt, sampleNamePatterns) {
|
|
41
95
|
Logger_1.Logger.debug();
|
|
42
96
|
const devfileSamples = [];
|
|
@@ -86,9 +140,6 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
86
140
|
}
|
|
87
141
|
return devfileSamples;
|
|
88
142
|
}
|
|
89
|
-
async getEditorContent(entry) {
|
|
90
|
-
return await this.getContent(`${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL}/${entry}`);
|
|
91
|
-
}
|
|
92
143
|
filterSamples(sampleNamePatterns, content) {
|
|
93
144
|
if (sampleNamePatterns) {
|
|
94
145
|
const commonSampleNamePattern = new RegExp(sampleNamePatterns.join('|'), 'i');
|
|
@@ -96,6 +147,9 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
96
147
|
}
|
|
97
148
|
return content;
|
|
98
149
|
}
|
|
150
|
+
getShellExecutor() {
|
|
151
|
+
return inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
152
|
+
}
|
|
99
153
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
100
154
|
async getContent(url, headers) {
|
|
101
155
|
Logger_1.Logger.trace(`${url}`);
|
|
@@ -120,8 +174,8 @@ let DevfilesRegistryHelper = class DevfilesRegistryHelper {
|
|
|
120
174
|
return response?.data;
|
|
121
175
|
}
|
|
122
176
|
};
|
|
123
|
-
|
|
177
|
+
DevfilesHelper = __decorate([
|
|
124
178
|
(0, inversify_1.injectable)()
|
|
125
|
-
],
|
|
126
|
-
exports.
|
|
127
|
-
//# sourceMappingURL=
|
|
179
|
+
], DevfilesHelper);
|
|
180
|
+
exports.DevfilesHelper = DevfilesHelper;
|
|
181
|
+
//# sourceMappingURL=DevfilesHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevfilesHelper.js","sourceRoot":"","sources":["../../utils/DevfilesHelper.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * from './driver/ChromeDriver';
|
|
|
6
6
|
export * from './driver/IDriver';
|
|
7
7
|
export * from './utils/BrowserTabsUtil';
|
|
8
8
|
export * from './utils/DevWorkspaceConfigurationHelper';
|
|
9
|
-
export * from './utils/
|
|
9
|
+
export * from './utils/DevfilesHelper';
|
|
10
10
|
export * from './utils/DriverHelper';
|
|
11
11
|
export * from './utils/IContextParams';
|
|
12
12
|
export * from './utils/IKubernetesCommandLineToolsExecutor';
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@ 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 {
|
|
19
|
+
import { DevfilesHelper } from '../../utils/DevfilesHelper';
|
|
20
20
|
import { MOCHA_CONSTANTS } from '../../constants/MOCHA_CONSTANTS';
|
|
21
21
|
import { API_TEST_CONSTANTS } from '../../constants/API_TEST_CONSTANTS';
|
|
22
22
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
@@ -26,7 +26,7 @@ import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
|
26
26
|
* info: https://mochajs.org/#delayed-root-suite
|
|
27
27
|
*/
|
|
28
28
|
void (async function (): Promise<void> {
|
|
29
|
-
const devfilesRegistryHelper:
|
|
29
|
+
const devfilesRegistryHelper: DevfilesHelper = e2eContainer.get(CLASSES.DevfilesRegistryHelper);
|
|
30
30
|
|
|
31
31
|
let devfileSamples: any = [];
|
|
32
32
|
if (
|
|
@@ -34,9 +34,10 @@ suite('Empty workspace API test', function (): void {
|
|
|
34
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
|
+
const editorContent:string='';
|
|
37
38
|
|
|
38
39
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
39
|
-
devfileContent
|
|
40
|
+
devfileContent, editorContent
|
|
40
41
|
});
|
|
41
42
|
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
42
43
|
devWorkspaceName = devfileContext?.devWorkspace?.metadata?.name;
|
|
@@ -12,7 +12,7 @@ import { DevWorkspaceConfigurationHelper } from '../../utils/DevWorkspaceConfigu
|
|
|
12
12
|
import { ShellString } from 'shelljs';
|
|
13
13
|
import { expect } from 'chai';
|
|
14
14
|
import { StringUtil } from '../../utils/StringUtil';
|
|
15
|
-
import {
|
|
15
|
+
import { DevfilesHelper } from '../../utils/DevfilesHelper';
|
|
16
16
|
import { Logger } from '../../utils/Logger';
|
|
17
17
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
18
18
|
import { CLASSES } from '../../configs/inversify.types';
|
|
@@ -27,7 +27,7 @@ import { MOCHA_CONSTANTS } from '../../constants/MOCHA_CONSTANTS';
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
void (async function (): Promise<void> {
|
|
30
|
-
const devfilesRegistryHelper:
|
|
30
|
+
const devfilesRegistryHelper: DevfilesHelper = e2eContainer.get(CLASSES.DevfilesRegistryHelper);
|
|
31
31
|
let devfileSamples: any;
|
|
32
32
|
if (MOCHA_CONSTANTS.MOCHA_DELAYED_SUITE) {
|
|
33
33
|
devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry(
|
|
@@ -0,0 +1,76 @@
|
|
|
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 { 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('PHP 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 = 'php';
|
|
30
|
+
const containerTerminal: ContainerTerminal = e2eContainer.get(CLASSES.ContainerTerminal);
|
|
31
|
+
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
32
|
+
let devfileContext: DevfileContext;
|
|
33
|
+
let devfileContent: string = '';
|
|
34
|
+
|
|
35
|
+
suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
36
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test(`Create ${devfileID} workspace`, async function (): Promise<void> {
|
|
40
|
+
const randomPref: string = crypto.randomBytes(4).toString('hex');
|
|
41
|
+
kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE || 'admin-devspaces';
|
|
42
|
+
devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
|
|
43
|
+
const editorDevfileContent: string = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
|
|
44
|
+
const uniqName: string = YAML.parse(devfileContent).metadata.name + randomPref;
|
|
45
|
+
kubernetesCommandLineToolsExecutor.workspaceName = uniqName;
|
|
46
|
+
|
|
47
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
48
|
+
editorContent: editorDevfileContent,
|
|
49
|
+
devfileContent: devfileContent
|
|
50
|
+
});
|
|
51
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
52
|
+
if (devfileContext.devWorkspace.metadata) {
|
|
53
|
+
devfileContext.devWorkspace.metadata.name = uniqName;
|
|
54
|
+
}
|
|
55
|
+
const devWorkspaceConfigurationYamlString: string =
|
|
56
|
+
devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
57
|
+
const output: ShellString = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
58
|
+
expect(output.stdout).contains('condition met');
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
test('Check running application', function (): void {
|
|
62
|
+
const workdir: string = YAML.parse(devfileContent).commands[0].exec.workingDir;
|
|
63
|
+
const commandLine: string = YAML.parse(devfileContent).commands[0].exec.commandLine;
|
|
64
|
+
const containerName: string = YAML.parse(devfileContent).commands[0].exec.component;
|
|
65
|
+
Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
|
|
66
|
+
Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
|
|
67
|
+
const runCommandInBash: string = `cd ${workdir} && ${commandLine}`;
|
|
68
|
+
const output: ShellString = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
|
|
69
|
+
expect(output.code).eqls(0);
|
|
70
|
+
expect(output.stdout.trim()).contains('Hello, world!');
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
suiteTeardown('Delete workspace', function (): void {
|
|
74
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2020-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 { e2eContainer } from '../../configs/inversify.config';
|
|
11
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
12
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
13
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
14
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
15
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
16
|
+
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
17
|
+
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
18
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
19
|
+
import { ShellString } from 'shelljs';
|
|
20
|
+
import { expect } from 'chai';
|
|
21
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
22
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
23
|
+
import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
24
|
+
|
|
25
|
+
suite('"User secrets in workspace" test', function (): void {
|
|
26
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
27
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
28
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
29
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
30
|
+
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
31
|
+
|
|
32
|
+
let kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
33
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
34
|
+
);
|
|
35
|
+
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
36
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
37
|
+
const userProject: string = OAUTH_CONSTANTS.TS_SELENIUM_OCP_USERNAME + `-devspaces`;
|
|
38
|
+
const stackName: string = 'Empty Workspace';
|
|
39
|
+
|
|
40
|
+
const mountEnvCommand: string = `echo '
|
|
41
|
+
apiVersion: v1
|
|
42
|
+
kind: Secret
|
|
43
|
+
metadata:
|
|
44
|
+
name: mount
|
|
45
|
+
labels:
|
|
46
|
+
controller.devfile.io/mount-to-devworkspace: "true"
|
|
47
|
+
controller.devfile.io/watch-secret: "true"
|
|
48
|
+
annotations:
|
|
49
|
+
controller.devfile.io/mount-as: env
|
|
50
|
+
data:
|
|
51
|
+
mykey: bXl2YWx1ZQ==
|
|
52
|
+
type: Opaque
|
|
53
|
+
' | oc apply -f -`;
|
|
54
|
+
|
|
55
|
+
suiteSetup('Mount kubernetes secret to the DevWorkspace containers', function (): void {
|
|
56
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
57
|
+
shellExecutor.executeCommand('oc project ' + userProject);
|
|
58
|
+
shellExecutor.executeCommand('oc delete secret mount || true');
|
|
59
|
+
|
|
60
|
+
ShellString(shellExecutor.executeCommand(mountEnvCommand));
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
64
|
+
await loginTests.loginIntoChe();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test(`Create and open new workspace, stack:${stackName} and wait workspace readiness`, async function (): Promise<void> {
|
|
68
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
69
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
70
|
+
|
|
71
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
72
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test('Check that mounted secret exists in envs list', async function (): Promise<void> {
|
|
76
|
+
kubernetesCommandLineToolsExecutor = e2eContainer.get(CLASSES.KubernetesCommandLineToolsExecutor);
|
|
77
|
+
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
78
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
79
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
80
|
+
|
|
81
|
+
const output: ShellString = kubernetesCommandLineToolsExecutor.execInContainerCommand('env | grep mykey');
|
|
82
|
+
expect(output, 'Environment variable "mykey" from the user secret is not found').contains('mykey=myvalue');
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
86
|
+
await dashboard.openDashboard();
|
|
87
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
91
|
+
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
95
|
+
registerRunningWorkspace('');
|
|
96
|
+
});
|
|
97
|
+
});
|
|
@@ -20,6 +20,7 @@ import { IContextParams } from './IContextParams';
|
|
|
20
20
|
import { e2eContainer } from '../configs/inversify.config';
|
|
21
21
|
import { CLASSES, EXTERNAL_CLASSES } from '../configs/inversify.types';
|
|
22
22
|
import getDecorators from 'inversify-inject-decorators';
|
|
23
|
+
import {DevfilesHelper} from "./DevfilesHelper";
|
|
23
24
|
|
|
24
25
|
const { lazyInject } = getDecorators(e2eContainer);
|
|
25
26
|
|
|
@@ -98,6 +99,7 @@ export class DevWorkspaceConfigurationHelper {
|
|
|
98
99
|
|
|
99
100
|
return content;
|
|
100
101
|
}
|
|
102
|
+
|
|
101
103
|
patchDevWorkspaceConfigWithBuildContainerAttribute(devfileContextDevWorkspace: any): void {
|
|
102
104
|
Logger.debug();
|
|
103
105
|
devfileContextDevWorkspace.spec.template.attributes = YAML.parse(`
|
|
@@ -13,9 +13,76 @@ import YAML from 'yaml';
|
|
|
13
13
|
import { API_TEST_CONSTANTS, SUPPORTED_DEVFILE_REGISTRIES } from '../constants/API_TEST_CONSTANTS';
|
|
14
14
|
import { injectable } from 'inversify';
|
|
15
15
|
import { BASE_TEST_CONSTANTS, Platform } from '../constants/BASE_TEST_CONSTANTS';
|
|
16
|
+
import { ShellExecutor } from './ShellExecutor';
|
|
17
|
+
import { e2eContainer } from '../configs/inversify.config';
|
|
18
|
+
import { CLASSES } from '../configs/inversify.types';
|
|
16
19
|
|
|
17
20
|
@injectable()
|
|
18
|
-
export class
|
|
21
|
+
export class DevfilesHelper {
|
|
22
|
+
public getInternalClusterURLToDevFile(devFileName: string): string {
|
|
23
|
+
const devfileSampleURIPrefix: string = `/dashboard/api/airgap-sample/devfile/download?id=${devFileName}`;
|
|
24
|
+
let serviceClusterIp: string = '';
|
|
25
|
+
let servicePort: string = '';
|
|
26
|
+
serviceClusterIp = this.getShellExecutor().executeArbitraryShellScript(
|
|
27
|
+
`oc get svc devspaces-dashboard -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -o=jsonpath='{.spec.clusterIP}'`
|
|
28
|
+
);
|
|
29
|
+
servicePort = this.getShellExecutor().executeArbitraryShellScript(
|
|
30
|
+
`oc get svc devspaces-dashboard -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -o=jsonpath='{.spec.ports[*].port}'`
|
|
31
|
+
);
|
|
32
|
+
return `http://${serviceClusterIp}:${servicePort}${devfileSampleURIPrefix}`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* grab devfile content from the Dashboard pod (currently, in the image of dashboard builds with devfile content and we use it for getting devfile description)
|
|
37
|
+
* @param podName
|
|
38
|
+
* @param containerName
|
|
39
|
+
* @param devFileName
|
|
40
|
+
*/
|
|
41
|
+
public obtainDevFileContentUsingPod(podName: string, containerName: string, devFileName: string): string {
|
|
42
|
+
const clusterURL: string = this.getInternalClusterURLToDevFile(devFileName);
|
|
43
|
+
this.getShellExecutor().executeCommand(
|
|
44
|
+
`oc exec -i ${podName} -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -c ${containerName} -- sh -c 'curl -o /tmp/${devFileName}-devfile.yaml ${clusterURL}'`
|
|
45
|
+
);
|
|
46
|
+
return this.getShellExecutor()
|
|
47
|
+
.executeArbitraryShellScript(
|
|
48
|
+
`oc exec -i ${podName} -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} -c ${containerName} -- cat /tmp/${devFileName}-devfile.yaml`
|
|
49
|
+
)
|
|
50
|
+
.toString();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* grab devfile content from the Che config map
|
|
55
|
+
* @param configMapName
|
|
56
|
+
*/
|
|
57
|
+
public obtainCheDevFileEditorFromCheConfigMap(configMapName: string): string {
|
|
58
|
+
return this.getShellExecutor().executeCommand(
|
|
59
|
+
`oc get configmap ${configMapName} -o jsonpath="{.data.che-code\\.yaml}" -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()}`
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* find the Dashboard pod and container name and grab devfile content from it
|
|
65
|
+
* @param devSample
|
|
66
|
+
*/
|
|
67
|
+
public getDevfileContent(devSample: string): string {
|
|
68
|
+
const command: string = `oc get pods -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()}`;
|
|
69
|
+
console.log(`command: ${command}`);
|
|
70
|
+
const podName: string = this.getShellExecutor()
|
|
71
|
+
.executeArbitraryShellScript(
|
|
72
|
+
`oc get pods -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} | grep dashboard | awk \'{print $1}\'`
|
|
73
|
+
)
|
|
74
|
+
.trim();
|
|
75
|
+
const containerName: string = this.getShellExecutor().executeArbitraryShellScript(
|
|
76
|
+
`oc get pod -n ${BASE_TEST_CONSTANTS.TS_PLATFORM}-${BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME()} ${podName} -o jsonpath=\'{.spec.containers[*].name}\'`
|
|
77
|
+
);
|
|
78
|
+
const devfileContent: string = this.obtainDevFileContentUsingPod(podName, containerName, devSample);
|
|
79
|
+
return devfileContent;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @deprecated applicable only for inbuilt devfiles
|
|
84
|
+
* @param sampleNamePatterns
|
|
85
|
+
*/
|
|
19
86
|
async getInbuiltDevfilesRegistryContent(sampleNamePatterns?: string[]): Promise<any[]> {
|
|
20
87
|
Logger.trace();
|
|
21
88
|
|
|
@@ -35,6 +102,12 @@ export class DevfilesRegistryHelper {
|
|
|
35
102
|
return await this.getContent(url);
|
|
36
103
|
}
|
|
37
104
|
|
|
105
|
+
/**
|
|
106
|
+
*
|
|
107
|
+
* @deprecated applicable only for inbuilt devfiles
|
|
108
|
+
* @param isInbuilt
|
|
109
|
+
* @param sampleNamePatterns
|
|
110
|
+
*/
|
|
38
111
|
async collectPathsToDevfilesFromRegistry(isInbuilt: boolean, sampleNamePatterns?: string[]): Promise<object[]> {
|
|
39
112
|
Logger.debug();
|
|
40
113
|
|
|
@@ -86,10 +159,6 @@ export class DevfilesRegistryHelper {
|
|
|
86
159
|
return devfileSamples;
|
|
87
160
|
}
|
|
88
161
|
|
|
89
|
-
async getEditorContent(entry: string): Promise<any> {
|
|
90
|
-
return await this.getContent(`${BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL}/${entry}`);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
162
|
private filterSamples(sampleNamePatterns: string[] | undefined, content: any): Promise<any[]> {
|
|
94
163
|
if (sampleNamePatterns) {
|
|
95
164
|
const commonSampleNamePattern: RegExp = new RegExp(sampleNamePatterns.join('|'), 'i');
|
|
@@ -97,7 +166,9 @@ export class DevfilesRegistryHelper {
|
|
|
97
166
|
}
|
|
98
167
|
return content;
|
|
99
168
|
}
|
|
100
|
-
|
|
169
|
+
private getShellExecutor(): ShellExecutor {
|
|
170
|
+
return e2eContainer.get(CLASSES.ShellExecutor);
|
|
171
|
+
}
|
|
101
172
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
102
173
|
private async getContent(url: string, headers?: object): Promise<AxiosResponse> {
|
|
103
174
|
Logger.trace(`${url}`);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevfilesRegistryHelper.js","sourceRoot":"","sources":["../../utils/DevfilesRegistryHelper.ts"],"names":[],"mappings":"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"}
|