@eclipse-che/che-e2e 7.74.0-dev-1d09cb7 → 7.74.0-dev-41d1364
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/.eslintignore +10 -0
- package/.eslintrc.js +183 -0
- package/.prettierignore +10 -0
- package/.prettierrc.json +10 -0
- package/README.md +47 -47
- package/configs/inversify.config.ts +13 -9
- package/configs/inversify.types.ts +29 -29
- package/configs/mocharc.ts +21 -24
- package/constants/API_TEST_CONSTANTS.ts +67 -0
- package/constants/BASE_TEST_CONSTANTS.ts +80 -0
- package/constants/CHROME_DRIVER_CONSTANTS.ts +54 -0
- package/constants/FACTORY_TEST_CONSTANTS.ts +61 -0
- package/constants/MONACO_CONSTANTS.ts +25 -0
- package/constants/OAUTH_CONSTANTS.ts +67 -0
- package/constants/PLUGIN_TEST_CONSTANTS.ts +15 -0
- package/constants/REPORTER_CONSTANTS.ts +53 -0
- package/constants/TIMEOUT_CONSTANTS.ts +131 -0
- package/dist/configs/inversify.config.js +14 -8
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +2 -2
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/configs/mocharc.js +13 -16
- package/dist/configs/mocharc.js.map +1 -1
- package/dist/constants/{APITestConstants.js → API_TEST_CONSTANTS.js} +12 -12
- package/dist/constants/API_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{BaseTestConstants.js → BASE_TEST_CONSTANTS.js} +16 -16
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{ChromeDriverConstants.js → CHROME_DRIVER_CONSTANTS.js} +13 -13
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +1 -0
- package/dist/constants/{FactoryTestConstants.js → FACTORY_TEST_CONSTANTS.js} +14 -13
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{MonacoConstants.js → MONACO_CONSTANTS.js} +7 -7
- package/dist/constants/MONACO_CONSTANTS.js.map +1 -0
- package/dist/constants/{OAuthConstants.js → OAUTH_CONSTANTS.js} +14 -14
- package/dist/constants/OAUTH_CONSTANTS.js.map +1 -0
- package/dist/constants/{PluginsTestConstants.js → PLUGIN_TEST_CONSTANTS.js} +7 -7
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{ReporterConstants.js → REPORTER_CONSTANTS.js} +12 -12
- package/dist/constants/REPORTER_CONSTANTS.js.map +1 -0
- package/dist/constants/{TimeoutConstants.js → TIMEOUT_CONSTANTS.js} +24 -24
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -0
- package/dist/driver/ChromeDriver.js +12 -16
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +11 -11
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +16 -16
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/dashboard/Workspaces.js +28 -28
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +36 -25
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
- package/dist/pageobjects/git-providers/OauthPage.js +20 -18
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +9 -9
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -1
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js +2 -2
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +2 -2
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js +5 -5
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +1 -1
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +5 -5
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpLoginPage.js +13 -13
- package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +5 -5
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +6 -6
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js +5 -5
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +8 -8
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpApplicationPage.js +5 -5
- package/dist/pageobjects/openshift/OcpApplicationPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js +4 -4
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpMainPage.js +6 -6
- package/dist/pageobjects/openshift/OcpMainPage.js.map +1 -1
- package/dist/specs/MochaHooks.js +26 -23
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +11 -11
- package/dist/specs/SmokeTest.spec.js.map +1 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js +10 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +1 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +26 -15
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +17 -11
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -1
- package/dist/specs/api/PodOverridesAPI.spec.js +12 -3
- package/dist/specs/api/PodOverridesAPI.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +5 -5
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +7 -7
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +41 -41
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +14 -9
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -1
- package/dist/specs/factory/Factory.spec.js +25 -25
- package/dist/specs/factory/Factory.spec.js.map +1 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +37 -34
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +33 -33
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +12 -3
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/dist/tests-library/LoginTests.js +7 -7
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/tests-library/ProjectAndFileTests.js +7 -5
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +16 -13
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/BrowserTabsUtil.js +19 -14
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/utils/CheReporter.js +44 -44
- package/dist/utils/CheReporter.js.map +1 -1
- package/dist/utils/DevWorkspaceConfigurationHelper.js +17 -8
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -1
- package/dist/utils/DevfilesRegistryHelper.js +19 -13
- package/dist/utils/DevfilesRegistryHelper.js.map +1 -1
- package/dist/utils/DriverHelper.js +64 -66
- package/dist/utils/DriverHelper.js.map +1 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +28 -24
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -1
- package/dist/utils/Logger.js +18 -19
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/ScreenCatcher.js +18 -12
- package/dist/utils/ScreenCatcher.js.map +1 -1
- package/dist/utils/ShellExecutor.js +9 -0
- package/dist/utils/ShellExecutor.js.map +1 -1
- package/dist/utils/StringUtil.js +15 -7
- package/dist/utils/StringUtil.js.map +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +27 -27
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +10 -6
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -1
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +2 -2
- package/dist/utils/workspace/ApiUrlResolver.js +3 -3
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
- package/dist/utils/workspace/ITestWorkspaceUtil.js +2 -2
- package/dist/utils/workspace/TestWorkspaceUtil.js +21 -19
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/dist/utils/workspace/WorkspaceStatus.js +2 -2
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -1
- package/driver/ChromeDriver.ts +44 -50
- package/driver/IDriver.ts +3 -3
- package/index.ts +9 -9
- package/package.json +59 -49
- package/pageobjects/dashboard/CreateWorkspace.ts +64 -55
- package/pageobjects/dashboard/Dashboard.ts +101 -100
- package/pageobjects/dashboard/Workspaces.ts +196 -164
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +150 -125
- package/pageobjects/git-providers/OauthPage.ts +177 -166
- package/pageobjects/ide/CheCodeLocatorLoader.ts +49 -46
- package/pageobjects/login/interfaces/ICheLoginPage.ts +3 -3
- package/pageobjects/login/interfaces/IOcpLoginPage.ts +3 -3
- package/pageobjects/login/kubernetes/DexLoginPage.ts +31 -30
- package/pageobjects/login/kubernetes/KubernetesLoginPage.ts +15 -14
- package/pageobjects/login/openshift/OcpLoginPage.ts +61 -54
- package/pageobjects/login/openshift/OcpRedHatLoginPage.ts +29 -24
- package/pageobjects/login/openshift/OcpUserLoginPage.ts +15 -18
- package/pageobjects/login/openshift/RedHatLoginPage.ts +48 -46
- package/pageobjects/login/openshift/RegularUserOcpCheLoginPage.ts +38 -34
- package/pageobjects/openshift/OcpApplicationPage.ts +21 -20
- package/pageobjects/openshift/OcpImportFromGitPage.ts +70 -68
- package/pageobjects/openshift/OcpMainPage.ts +69 -68
- package/specs/MochaHooks.ts +59 -50
- package/specs/SmokeTest.spec.ts +43 -40
- package/specs/api/ContainerOverridesAPI.spec.ts +33 -26
- package/specs/api/DevfileAcceptanceTestAPI.spec.ts +106 -95
- package/specs/api/EmptyWorkspaceAPI.spec.ts +62 -57
- package/specs/api/PodOverridesAPI.spec.ts +42 -33
- package/specs/dashboard-samples/EmptyWorkspace.spec.ts +31 -31
- package/specs/dashboard-samples/Quarkus.spec.ts +34 -34
- package/specs/dashboard-samples/RecommendedExtensions.spec.ts +192 -174
- package/specs/devconsole-intergration/DevConsoleIntegration.spec.ts +61 -52
- package/specs/factory/Factory.spec.ts +178 -168
- package/specs/factory/NoSetupRepoFactory.spec.ts +226 -211
- package/specs/factory/RefusedOAuthFactory.spec.ts +218 -204
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +64 -54
- package/tests-library/LoginTests.ts +34 -32
- package/tests-library/ProjectAndFileTests.ts +21 -18
- package/tests-library/WorkspaceHandlingTests.ts +98 -89
- package/tsconfig.json +15 -15
- package/utils/BrowserTabsUtil.ts +103 -97
- package/utils/CheReporter.ts +141 -145
- package/utils/DevWorkspaceConfigurationHelper.ts +70 -61
- package/utils/DevfilesRegistryHelper.ts +67 -58
- package/utils/DriverHelper.ts +726 -700
- package/utils/KubernetesCommandLineToolsExecutor.ts +196 -180
- package/utils/Logger.ts +102 -125
- package/utils/ScreenCatcher.ts +57 -46
- package/utils/ShellExecutor.ts +19 -11
- package/utils/StringUtil.ts +40 -32
- package/utils/request-handlers/CheApiRequestHandler.ts +91 -88
- package/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +32 -21
- package/utils/request-handlers/headers/IAuthorizationHeaderHandler.ts +3 -3
- package/utils/workspace/ApiUrlResolver.ts +31 -26
- package/utils/workspace/ITestWorkspaceUtil.ts +31 -31
- package/utils/workspace/TestWorkspaceUtil.ts +152 -145
- package/utils/workspace/WorkspaceStatus.ts +5 -5
- package/constants/APITestConstants.ts +0 -57
- package/constants/BaseTestConstants.ts +0 -68
- package/constants/ChromeDriverConstants.ts +0 -46
- package/constants/FactoryTestConstants.ts +0 -51
- package/constants/MonacoConstants.ts +0 -22
- package/constants/OAuthConstants.ts +0 -57
- package/constants/PluginsTestConstants.ts +0 -15
- package/constants/ReporterConstants.ts +0 -45
- package/constants/TimeoutConstants.ts +0 -113
- package/dist/constants/APITestConstants.js.map +0 -1
- package/dist/constants/BaseTestConstants.js.map +0 -1
- package/dist/constants/ChromeDriverConstants.js.map +0 -1
- package/dist/constants/FactoryTestConstants.js.map +0 -1
- package/dist/constants/MonacoConstants.js.map +0 -1
- package/dist/constants/OAuthConstants.js.map +0 -1
- package/dist/constants/PluginsTestConstants.js.map +0 -1
- package/dist/constants/ReporterConstants.js.map +0 -1
- package/dist/constants/TimeoutConstants.js.map +0 -1
- package/tslint.json +0 -126
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2023 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
|
+
**********************************************************************/
|
|
3
12
|
const KubernetesCommandLineToolsExecutor_1 = require("../../utils/KubernetesCommandLineToolsExecutor");
|
|
4
13
|
const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
|
|
5
14
|
const chai_1 = require("chai");
|
|
@@ -7,16 +16,17 @@ const StringUtil_1 = require("../../utils/StringUtil");
|
|
|
7
16
|
// import { DevfilesRegistryHelper } from '../../utils/DevfilesRegistryHelper';
|
|
8
17
|
const Logger_1 = require("../../utils/Logger");
|
|
9
18
|
/**
|
|
10
|
-
*
|
|
19
|
+
* dynamically generating tests
|
|
11
20
|
* info: https://mochajs.org/#delayed-root-suite
|
|
12
21
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
22
|
+
// todo: skipped while don`t use to avoid sending useless requests
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
24
|
+
void (async function () {
|
|
15
25
|
// const devfilesRegistryHelper: DevfilesRegistryHelper = new DevfilesRegistryHelper();
|
|
16
26
|
const devfileSamples = [];
|
|
17
27
|
// devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry();
|
|
18
28
|
for (const devfileSample of devfileSamples) {
|
|
19
|
-
suite.skip(`Devfile acceptance test suite for ${devfileSample.name}`,
|
|
29
|
+
suite.skip(`Devfile acceptance test suite for ${devfileSample.name}`, function () {
|
|
20
30
|
this.bail(false);
|
|
21
31
|
this.timeout(1500000); // 25 minutes because build of Quarkus sample takes 20+ minutes
|
|
22
32
|
let devWorkspaceConfigurationHelper;
|
|
@@ -26,7 +36,7 @@ const Logger_1 = require("../../utils/Logger");
|
|
|
26
36
|
let devWorkspaceName;
|
|
27
37
|
let clonedProjectName;
|
|
28
38
|
let containerWorkDir;
|
|
29
|
-
|
|
39
|
+
const devfilesBuildCommands = [];
|
|
30
40
|
test('Get DevWorkspace configuration', async function () {
|
|
31
41
|
var _a, _b;
|
|
32
42
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
@@ -38,12 +48,13 @@ const Logger_1 = require("../../utils/Logger");
|
|
|
38
48
|
containerTerminal = new KubernetesCommandLineToolsExecutor_1.KubernetesCommandLineToolsExecutor.ContainerTerminal(kubernetesCommandLineToolsExecutor);
|
|
39
49
|
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
40
50
|
});
|
|
41
|
-
test('Collect build commands from the devfile',
|
|
51
|
+
test('Collect build commands from the devfile', function () {
|
|
52
|
+
var _a, _b;
|
|
42
53
|
if (devfileContext.devfile.commands === undefined) {
|
|
43
|
-
Logger_1.Logger.info(
|
|
54
|
+
Logger_1.Logger.info('Devfile does not contains any commands.');
|
|
44
55
|
}
|
|
45
56
|
else {
|
|
46
|
-
devfileContext.devfile.commands.forEach((command) => {
|
|
57
|
+
(_b = (_a = devfileContext.devfile) === null || _a === void 0 ? void 0 : _a.commands) === null || _b === void 0 ? void 0 : _b.forEach((command) => {
|
|
47
58
|
var _a, _b;
|
|
48
59
|
if (((_b = (_a = command.exec) === null || _a === void 0 ? void 0 : _a.group) === null || _b === void 0 ? void 0 : _b.kind) === 'build') {
|
|
49
60
|
Logger_1.Logger.debug(`Build command found: ${command.exec.commandLine}`);
|
|
@@ -52,15 +63,15 @@ const Logger_1 = require("../../utils/Logger");
|
|
|
52
63
|
});
|
|
53
64
|
}
|
|
54
65
|
});
|
|
55
|
-
test('Create DevWorkspace',
|
|
56
|
-
const devWorkspaceConfigurationYamlString =
|
|
66
|
+
test('Create DevWorkspace', function () {
|
|
67
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
57
68
|
const applyOutput = kubernetesCommandLineToolsExecutor.applyYamlConfigurationAsStringOutput(devWorkspaceConfigurationYamlString);
|
|
58
69
|
chai_1.expect(applyOutput.stdout)
|
|
59
70
|
.contains('devworkspacetemplate')
|
|
60
71
|
.and.contains('devworkspace')
|
|
61
72
|
.and.contains.oneOf(['created', 'configured']);
|
|
62
73
|
});
|
|
63
|
-
test('Wait until DevWorkspace has status "ready"',
|
|
74
|
+
test('Wait until DevWorkspace has status "ready"', function () {
|
|
64
75
|
chai_1.expect(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
|
|
65
76
|
});
|
|
66
77
|
test('Check if project was created', function () {
|
|
@@ -69,11 +80,11 @@ const Logger_1 = require("../../utils/Logger");
|
|
|
69
80
|
});
|
|
70
81
|
test('Check if project files are imported', function () {
|
|
71
82
|
containerWorkDir = containerTerminal.pwd().stdout.replace('\n', '');
|
|
72
|
-
chai_1.expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes(
|
|
83
|
+
chai_1.expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes('devfile.yaml');
|
|
73
84
|
});
|
|
74
|
-
test(
|
|
85
|
+
test('Check if build commands returns success', function () {
|
|
75
86
|
if (devfilesBuildCommands.length === 0) {
|
|
76
|
-
Logger_1.Logger.info(
|
|
87
|
+
Logger_1.Logger.info('Devfile does not contains build commands.');
|
|
77
88
|
}
|
|
78
89
|
else {
|
|
79
90
|
devfilesBuildCommands.forEach((command) => {
|
|
@@ -85,7 +96,7 @@ const Logger_1 = require("../../utils/Logger");
|
|
|
85
96
|
});
|
|
86
97
|
}
|
|
87
98
|
});
|
|
88
|
-
test('Delete DevWorkspace',
|
|
99
|
+
test('Delete DevWorkspace', function () {
|
|
89
100
|
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
90
101
|
});
|
|
91
102
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevfileAcceptanceTestAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/DevfileAcceptanceTestAPI.spec.ts"],"names":[],"mappings":";;AAAA,uGAAoG;AACpG,iGAA8F;AAE9F,+BAA8B;AAE9B,uDAAoD;AACpD,+EAA+E;AAC/E,+CAA4C;AAE5C;;;GAGG;
|
|
1
|
+
{"version":3,"file":"DevfileAcceptanceTestAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/DevfileAcceptanceTestAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2023 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
|
+
**********************************************************************/
|
|
3
12
|
const KubernetesCommandLineToolsExecutor_1 = require("../../utils/KubernetesCommandLineToolsExecutor");
|
|
4
13
|
const chai_1 = require("chai");
|
|
5
14
|
const StringUtil_1 = require("../../utils/StringUtil");
|
|
6
15
|
const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
suite(
|
|
16
|
+
const API_TEST_CONSTANTS_1 = require("../../constants/API_TEST_CONSTANTS");
|
|
17
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
+
suite('Empty workspace API test', function () {
|
|
10
19
|
// works only for root user
|
|
11
|
-
const namespace =
|
|
20
|
+
const namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
|
|
12
21
|
let clonedProjectName;
|
|
13
22
|
let containerWorkDir;
|
|
14
23
|
let devWorkspaceConfigurationHelper;
|
|
@@ -20,9 +29,7 @@ suite(`Empty workspace API test`, async function () {
|
|
|
20
29
|
suiteSetup('Create empty workspace with OC client', async function () {
|
|
21
30
|
var _a, _b;
|
|
22
31
|
const workspaceName = 'empty-' + Math.floor(Math.random() * 1000);
|
|
23
|
-
const devfileContent = 'schemaVersion: 2.2.0\n' +
|
|
24
|
-
'metadata:\n' +
|
|
25
|
-
` name: ${workspaceName}\n`;
|
|
32
|
+
const devfileContent = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
26
33
|
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
27
34
|
devfileContent
|
|
28
35
|
});
|
|
@@ -31,9 +38,9 @@ suite(`Empty workspace API test`, async function () {
|
|
|
31
38
|
kubernetesCommandLineToolsExecutor = new KubernetesCommandLineToolsExecutor_1.KubernetesCommandLineToolsExecutor(devWorkspaceName, namespace);
|
|
32
39
|
containerTerminal = new KubernetesCommandLineToolsExecutor_1.KubernetesCommandLineToolsExecutor.ContainerTerminal(kubernetesCommandLineToolsExecutor);
|
|
33
40
|
});
|
|
34
|
-
test('Create empty workspace',
|
|
41
|
+
test('Create empty workspace', function () {
|
|
35
42
|
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
36
|
-
const devWorkspaceConfigurationYamlString =
|
|
43
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
37
44
|
const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
38
45
|
chai_1.expect(output.stdout).contains('condition met');
|
|
39
46
|
});
|
|
@@ -48,8 +55,7 @@ suite(`Empty workspace API test`, async function () {
|
|
|
48
55
|
chai_1.expect(containerTerminal.ls().stdout).includes(clonedProjectName);
|
|
49
56
|
});
|
|
50
57
|
test('Check if project files are imported', function () {
|
|
51
|
-
chai_1.expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout)
|
|
52
|
-
.includes(BaseTestConstants_1.BaseTestConstants.TS_SELENIUM_PROJECT_ROOT_FILE_NAME);
|
|
58
|
+
chai_1.expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes(BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME);
|
|
53
59
|
});
|
|
54
60
|
suiteTeardown('Delete cloned project', function () {
|
|
55
61
|
containerTerminal.removeFolder(`${clonedProjectName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyWorkspaceAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/EmptyWorkspaceAPI.spec.ts"],"names":[],"mappings":";;AAAA,uGAAoG;AACpG,+BAA8B;AAE9B,uDAAoD;AACpD,iGAA8F;AAE9F,
|
|
1
|
+
{"version":3,"file":"EmptyWorkspaceAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/EmptyWorkspaceAPI.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
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
|
+
**********************************************************************/
|
|
6
15
|
const KubernetesCommandLineToolsExecutor_1 = require("../../utils/KubernetesCommandLineToolsExecutor");
|
|
7
16
|
const fs_1 = __importDefault(require("fs"));
|
|
8
17
|
const path_1 = __importDefault(require("path"));
|
|
9
18
|
const yaml_1 = __importDefault(require("yaml"));
|
|
10
19
|
const chai_1 = require("chai");
|
|
11
20
|
const ShellExecutor_1 = require("../../utils/ShellExecutor");
|
|
12
|
-
const
|
|
13
|
-
suite(
|
|
14
|
-
const pathToSampleFile = path_1.default.resolve(`resources/pod-overrides${
|
|
21
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
22
|
+
suite('Test defining pod overrides via attribute.', function () {
|
|
23
|
+
const pathToSampleFile = path_1.default.resolve(`resources/pod-overrides${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED() ? '-airgap' : ''}.yaml`);
|
|
15
24
|
const workspaceName = yaml_1.default.parse(fs_1.default.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
16
25
|
const kubernetesCommandLineToolsExecutor = new KubernetesCommandLineToolsExecutor_1.KubernetesCommandLineToolsExecutor(workspaceName);
|
|
17
26
|
suiteSetup('Login into OC client', function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodOverridesAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/PodOverridesAPI.spec.ts"],"names":[],"mappings":";;;;;AAAA,uGAAoG;AACpG,4CAAoB;AACpB,gDAAwB;AACxB,gDAAwB;AACxB,+BAA8B;AAC9B,6DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"PodOverridesAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/PodOverridesAPI.spec.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;wEAQwE;AACxE,uGAAoG;AACpG,4CAAoB;AACpB,gDAAwB;AACxB,gDAAwB;AACxB,+BAA8B;AAC9B,6DAA0D;AAC1D,6EAA0E;AAE1E,KAAK,CAAC,4CAA4C,EAAE;IACnD,MAAM,gBAAgB,GAAW,cAAI,CAAC,OAAO,CAC5C,0BAA0B,yCAAmB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAC/F,CAAC;IACF,MAAM,aAAa,GAAW,cAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClG,MAAM,kCAAkC,GAAuC,IAAI,uEAAkC,CAAC,aAAa,CAAC,CAAC;IAErI,UAAU,CAAC,sBAAsB,EAAE;QAClC,kCAAkC,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,qBAAqB,EAAE;QACpC,kCAAkC,CAAC,kBAAkB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE;QACjE,kCAAkC,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QAClF,6BAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE;QAC3E,MAAM,0BAA0B,GAAQ,cAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,gCAAgC,EAAE,CAAC,CAAC;QAC1H,aAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,QAAQ,EAAE;gBACT,WAAW,EAAE;oBACZ,iCAAiC,EAAE,kCAAkC;oBACrE,qBAAqB,EAAE,MAAM;oBAC7B,kBAAkB,EAAE,iBAAiB;iBACrC;aACD;YACD,IAAI,EAAE;gBACL,gBAAgB,EAAE,MAAM;gBACxB,aAAa,EAAE,OAAO;aACtB;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
*
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2023 Red Hat, Inc.
|
|
5
5
|
*
|
|
6
6
|
* This program and the accompanying materials are made
|
|
7
7
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -20,7 +20,7 @@ const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_
|
|
|
20
20
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
21
21
|
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
22
22
|
const stackName = 'Empty Workspace';
|
|
23
|
-
suite(`${stackName} test`,
|
|
23
|
+
suite(`${stackName} test`, function () {
|
|
24
24
|
loginTests.loginIntoChe();
|
|
25
25
|
test(`Create and open new workspace, stack:${stackName}`, async function () {
|
|
26
26
|
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
@@ -28,7 +28,7 @@ suite(`${stackName} test`, async function () {
|
|
|
28
28
|
test('Obtain workspace name from workspace loader page', async function () {
|
|
29
29
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
30
30
|
});
|
|
31
|
-
test('Register running workspace',
|
|
31
|
+
test('Register running workspace', function () {
|
|
32
32
|
MochaHooks_1.registerRunningWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
33
33
|
});
|
|
34
34
|
test('Wait workspace readiness', async function () {
|
|
@@ -36,7 +36,7 @@ suite(`${stackName} test`, async function () {
|
|
|
36
36
|
const workbench = new monaco_page_objects_1.Workbench();
|
|
37
37
|
const activityBar = workbench.getActivityBar();
|
|
38
38
|
const activityBarControls = await activityBar.getViewControls();
|
|
39
|
-
Logger_1.Logger.debug(
|
|
39
|
+
Logger_1.Logger.debug('Editor sections:');
|
|
40
40
|
for (const control of activityBarControls) {
|
|
41
41
|
Logger_1.Logger.debug(`${await control.getTitle()}`);
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/EmptyWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,6DAA0E;AAC1E,mEAAwD;AACxD,uFAAoF;AACpF,+CAA4C;AAG5C,8CAAyD;AAGzD,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;AACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;AAEnF,MAAM,SAAS,GAAW,iBAAiB,CAAC;AAE5C,KAAK,CAAC,GAAG,SAAS,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"EmptyWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/EmptyWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,6DAA0E;AAC1E,mEAAwD;AACxD,uFAAoF;AACpF,+CAA4C;AAG5C,8CAAyD;AAGzD,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;AACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;AAEnF,MAAM,SAAS,GAAW,iBAAiB,CAAC;AAE5C,KAAK,CAAC,GAAG,SAAS,OAAO,EAAE;IAC1B,UAAU,CAAC,YAAY,EAAE,CAAC;IAE1B,IAAI,CAAC,wCAAwC,SAAS,EAAE,EAAE,KAAK;QAC9D,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,qCAAwB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;QAEnE,MAAM,SAAS,GAAc,IAAI,+BAAS,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;QAC5D,MAAM,mBAAmB,GAAkB,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QAE/E,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE;YAC1C,eAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAC5C;IACF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK;QAC/B,MAAM,sBAAsB,CAAC,aAAa,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtF,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK;QACjC,MAAM,sBAAsB,CAAC,eAAe,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -15,14 +15,14 @@ const inversify_config_1 = require("../../configs/inversify.config");
|
|
|
15
15
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
16
16
|
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
17
17
|
const Logger_1 = require("../../utils/Logger");
|
|
18
|
-
const
|
|
18
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
19
19
|
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
20
20
|
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
21
21
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
22
22
|
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
23
23
|
const stackName = 'Java 11 with Quarkus';
|
|
24
24
|
const projectName = 'quarkus-quickstarts';
|
|
25
|
-
suite(`The ${stackName} userstory`,
|
|
25
|
+
suite(`The ${stackName} userstory`, function () {
|
|
26
26
|
let projectSection;
|
|
27
27
|
loginTests.loginIntoChe();
|
|
28
28
|
test(`Create and open new workspace, stack:${stackName}`, async function () {
|
|
@@ -31,7 +31,7 @@ suite(`The ${stackName} userstory`, async function () {
|
|
|
31
31
|
test('Obtain workspace name from workspace loader page', async function () {
|
|
32
32
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
33
33
|
});
|
|
34
|
-
test('Register running workspace',
|
|
34
|
+
test('Register running workspace', function () {
|
|
35
35
|
MochaHooks_1.registerRunningWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
36
36
|
});
|
|
37
37
|
test('Wait workspace readiness', async function () {
|
|
@@ -42,8 +42,8 @@ suite(`The ${stackName} userstory`, async function () {
|
|
|
42
42
|
Logger_1.Logger.debug(`new SideBarView().getContent().getSection: get ${projectName}`);
|
|
43
43
|
});
|
|
44
44
|
test('Check the project files was imported', async function () {
|
|
45
|
-
await projectSection.findItem(
|
|
46
|
-
Logger_1.Logger.debug(`projectSection.findItem: find ${
|
|
45
|
+
await projectSection.findItem(BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME);
|
|
46
|
+
Logger_1.Logger.debug(`projectSection.findItem: find ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME}`);
|
|
47
47
|
});
|
|
48
48
|
test('Stop the workspace', async function () {
|
|
49
49
|
await workspaceHandlingTests.stopWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quarkus.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/Quarkus.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAExE,6DAA+D;AAC/D,8CAAyD;AAEzD,qEAA8D;AAC9D,mEAAwD;AACxD,uFAAoF;AAEpF,+CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"Quarkus.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/Quarkus.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAExE,6DAA+D;AAC/D,8CAAyD;AAEzD,qEAA8D;AAC9D,mEAAwD;AACxD,uFAAoF;AAEpF,+CAA4C;AAC5C,6EAA0E;AAG1E,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;AACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;AAEnF,MAAM,SAAS,GAAW,sBAAsB,CAAC;AACjD,MAAM,WAAW,GAAW,qBAAqB,CAAC;AAElD,KAAK,CAAC,OAAO,SAAS,YAAY,EAAE;IACnC,IAAI,cAA2B,CAAC;IAEhC,UAAU,CAAC,YAAY,EAAE,CAAC;IAE1B,IAAI,CAAC,wCAAwC,SAAS,EAAE,EAAE,KAAK;QAC9D,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,qCAAwB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK;QACpD,cAAc,GAAG,MAAM,IAAI,iCAAW,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9E,eAAM,CAAC,KAAK,CAAC,kDAAkD,WAAW,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK;QACjD,MAAM,cAAc,CAAC,QAAQ,CAAC,yCAAmB,CAAC,kCAAkC,CAAC,CAAC;QACtF,eAAM,CAAC,KAAK,CAAC,iCAAiC,yCAAmB,CAAC,kCAAkC,EAAE,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK;QAC/B,MAAM,sBAAsB,CAAC,aAAa,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtF,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK;QACjC,MAAM,sBAAsB,CAAC,eAAe,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,aAAa,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -17,17 +17,17 @@ const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingT
|
|
|
17
17
|
const Logger_1 = require("../../utils/Logger");
|
|
18
18
|
const CheCodeLocatorLoader_1 = require("../../pageobjects/ide/CheCodeLocatorLoader");
|
|
19
19
|
const chai_1 = require("chai");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
20
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
21
|
+
const PLUGIN_TEST_CONSTANTS_1 = require("../../constants/PLUGIN_TEST_CONSTANTS");
|
|
22
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
23
23
|
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
24
24
|
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
25
25
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
26
26
|
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
27
27
|
const webCheCodeLocators = new CheCodeLocatorLoader_1.CheCodeLocatorLoader().webCheCodeLocators;
|
|
28
|
-
const samples =
|
|
28
|
+
const samples = PLUGIN_TEST_CONSTANTS_1.PLUGIN_TEST_CONSTANTS.TS_SAMPLE_LIST.split(',');
|
|
29
29
|
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
30
|
-
suite(`Check if recommended extensions installed for ${samples}`,
|
|
30
|
+
suite(`Check if recommended extensions installed for ${samples}`, function () {
|
|
31
31
|
let projectSection;
|
|
32
32
|
let extensionsView;
|
|
33
33
|
let extensionSection;
|
|
@@ -43,7 +43,7 @@ suite(`Check if recommended extensions installed for ${samples}`, async function
|
|
|
43
43
|
test('Obtain workspace name from workspace loader page', async function () {
|
|
44
44
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
45
45
|
});
|
|
46
|
-
test('Registering the running workspace',
|
|
46
|
+
test('Registering the running workspace', function () {
|
|
47
47
|
MochaHooks_1.registerRunningWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
48
48
|
});
|
|
49
49
|
test('Wait workspace readiness', async function () {
|
|
@@ -51,13 +51,13 @@ suite(`Check if recommended extensions installed for ${samples}`, async function
|
|
|
51
51
|
});
|
|
52
52
|
test('Wait until the project will be imported and accept it as trusted one', async function () {
|
|
53
53
|
[projectSection] = await new monaco_page_objects_1.SideBarView().getContent().getSections();
|
|
54
|
-
const label =
|
|
54
|
+
const label = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME;
|
|
55
55
|
Logger_1.Logger.debug(`projectSection.findItem: find ${label}`);
|
|
56
56
|
const isFileImported = await projectSection.findItem(label);
|
|
57
57
|
chai_1.expect(isFileImported).not.eqls(undefined);
|
|
58
58
|
try {
|
|
59
|
-
const buttonYesITrustTheAuthors =
|
|
60
|
-
await driverHelper.waitVisibility(webCheCodeLocators.WelcomeContent.button,
|
|
59
|
+
const buttonYesITrustTheAuthors = 'Yes, I trust the authors';
|
|
60
|
+
await driverHelper.waitVisibility(webCheCodeLocators.WelcomeContent.button, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
61
61
|
const trustedProjectDialog = new monaco_page_objects_1.ModalDialog();
|
|
62
62
|
Logger_1.Logger.debug(`trustedProjectDialog.pushButton: "${buttonYesITrustTheAuthors}"`);
|
|
63
63
|
await trustedProjectDialog.pushButton(buttonYesITrustTheAuthors);
|
|
@@ -68,66 +68,66 @@ suite(`Check if recommended extensions installed for ${samples}`, async function
|
|
|
68
68
|
});
|
|
69
69
|
test(`Get recommended extensions list from ${extensionsListFileName}`, async function () {
|
|
70
70
|
var _a, _b;
|
|
71
|
-
Logger_1.Logger.debug(
|
|
71
|
+
Logger_1.Logger.debug('projectSection.findItem(item))?.select(): expand .vscode folder and open extensions.json.');
|
|
72
72
|
await ((_a = (await projectSection.findItem('.vscode'))) === null || _a === void 0 ? void 0 : _a.select());
|
|
73
73
|
// time to expand project tree
|
|
74
|
-
await driverHelper.wait(
|
|
74
|
+
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
75
75
|
await ((_b = (await projectSection.findItem(extensionsListFileName))) === null || _b === void 0 ? void 0 : _b.select());
|
|
76
76
|
Logger_1.Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
|
|
77
|
-
const editor = await new monaco_page_objects_1.EditorView().openEditor(extensionsListFileName);
|
|
77
|
+
const editor = (await new monaco_page_objects_1.EditorView().openEditor(extensionsListFileName));
|
|
78
78
|
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
79
|
-
Logger_1.Logger.debug(
|
|
79
|
+
Logger_1.Logger.debug('editor.getText(): get recommended extensions as text from editor, delete comments and parse to object.');
|
|
80
80
|
recommendedExtensions = JSON.parse((await editor.getText()).replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
|
|
81
|
-
Logger_1.Logger.debug(
|
|
81
|
+
Logger_1.Logger.debug('recommendedExtensions.recommendations: Get recommendations clear names using map().');
|
|
82
82
|
recommendedExtensions.recommendations = recommendedExtensions.recommendations.map((r) => {
|
|
83
83
|
const [publisher, name] = r.split('.');
|
|
84
84
|
return { publisher, name };
|
|
85
85
|
});
|
|
86
86
|
Logger_1.Logger.info(`Recommended extension for this workspace:\n${JSON.stringify(recommendedExtensions.recommendations)}.`);
|
|
87
87
|
});
|
|
88
|
-
test(
|
|
88
|
+
test('Open "Extensions" view section', async function () {
|
|
89
89
|
var _a;
|
|
90
|
-
Logger_1.Logger.debug(
|
|
90
|
+
Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
|
|
91
91
|
extensionsView = await ((_a = (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))) === null || _a === void 0 ? void 0 : _a.openView());
|
|
92
92
|
});
|
|
93
|
-
test(
|
|
94
|
-
Logger_1.Logger.info(`Time for extensions installation TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT=${
|
|
95
|
-
await driverHelper.wait(
|
|
93
|
+
test('Let extensions complete installation', async function () {
|
|
94
|
+
Logger_1.Logger.info(`Time for extensions installation TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT=${TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT}`);
|
|
95
|
+
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
96
96
|
});
|
|
97
|
-
test(
|
|
97
|
+
test('Check if extensions are installed and enabled', async function () {
|
|
98
98
|
var _a, _b;
|
|
99
99
|
this.retries(10);
|
|
100
|
-
Logger_1.Logger.debug(
|
|
100
|
+
Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
|
|
101
101
|
extensionsView = await ((_a = (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))) === null || _a === void 0 ? void 0 : _a.openView());
|
|
102
|
-
Logger_1.Logger.debug(
|
|
103
|
-
[extensionSection] = await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections());
|
|
104
|
-
await driverHelper.waitAllPresence(webCheCodeLocators.ExtensionsViewSection.itemTitle,
|
|
102
|
+
Logger_1.Logger.debug('extensionsView?.getContent().getSections(): get current section.');
|
|
103
|
+
[extensionSection] = (await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections()));
|
|
104
|
+
await driverHelper.waitAllPresence(webCheCodeLocators.ExtensionsViewSection.itemTitle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
|
|
105
105
|
for (const extension of recommendedExtensions.recommendations) {
|
|
106
106
|
Logger_1.Logger.info(`Check if ${JSON.stringify(extension)} are installed.`);
|
|
107
107
|
Logger_1.Logger.debug(`extensionSection.findItem(${extension.name}).`);
|
|
108
108
|
await extensionSection.findItem(extension.name);
|
|
109
109
|
// check if extension require reload the page
|
|
110
110
|
if (await driverHelper.isVisible(webCheCodeLocators.ExtensionsViewSection.requireReloadButton)) {
|
|
111
|
-
Logger_1.Logger.debug(
|
|
111
|
+
Logger_1.Logger.debug('Extension require reload the editor. Refreshing the page..');
|
|
112
112
|
await browserTabsUtil.refreshPage();
|
|
113
113
|
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
114
|
-
Logger_1.Logger.debug(
|
|
114
|
+
Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
|
|
115
115
|
extensionsView = await ((_b = (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))) === null || _b === void 0 ? void 0 : _b.openView());
|
|
116
|
-
Logger_1.Logger.debug(
|
|
117
|
-
[extensionSection] = await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections());
|
|
118
|
-
await driverHelper.waitAllPresence(webCheCodeLocators.ExtensionsViewSection.itemTitle,
|
|
116
|
+
Logger_1.Logger.debug('extensionsView?.getContent().getSections(): get current section.');
|
|
117
|
+
[extensionSection] = (await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections()));
|
|
118
|
+
await driverHelper.waitAllPresence(webCheCodeLocators.ExtensionsViewSection.itemTitle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
|
|
119
119
|
Logger_1.Logger.debug(`extensionSection.findItem(${extension.name}).`);
|
|
120
120
|
await extensionSection.findItem(extension.name);
|
|
121
121
|
}
|
|
122
|
-
Logger_1.Logger.debug(
|
|
123
|
-
const [marketplaceSection] = await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections());
|
|
124
|
-
await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.items,
|
|
125
|
-
Logger_1.Logger.debug(
|
|
122
|
+
Logger_1.Logger.debug('extensionsView?.getContent().getSections(): switch to marketplace section.');
|
|
123
|
+
const [marketplaceSection] = (await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections()));
|
|
124
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.items, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
|
|
125
|
+
Logger_1.Logger.debug('marketplaceSection.getVisibleItems(): get all found items.');
|
|
126
126
|
const allFinedItems = await marketplaceSection.getVisibleItems();
|
|
127
127
|
let itemWithRightNameAndPublisher;
|
|
128
128
|
for (const item of allFinedItems) {
|
|
129
129
|
Logger_1.Logger.debug(`Try to find extension published by ${extension.publisher}.`);
|
|
130
|
-
if (await item.getAuthor() === extension.publisher) {
|
|
130
|
+
if ((await item.getAuthor()) === extension.publisher) {
|
|
131
131
|
itemWithRightNameAndPublisher = item;
|
|
132
132
|
Logger_1.Logger.debug(`Extension was found: ${await (itemWithRightNameAndPublisher === null || itemWithRightNameAndPublisher === void 0 ? void 0 : itemWithRightNameAndPublisher.getTitle())}`);
|
|
133
133
|
break;
|
|
@@ -136,17 +136,17 @@ suite(`Check if recommended extensions installed for ${samples}`, async function
|
|
|
136
136
|
Logger_1.Logger.error(`Extension with publisher as ${extension.publisher} was not found.`);
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
-
Logger_1.Logger.debug(
|
|
140
|
-
const isInstalled = await (itemWithRightNameAndPublisher === null || itemWithRightNameAndPublisher === void 0 ? void 0 : itemWithRightNameAndPublisher.isInstalled());
|
|
139
|
+
Logger_1.Logger.debug('itemWithRightNameAndPublisher?.isInstalled()');
|
|
140
|
+
const isInstalled = (await (itemWithRightNameAndPublisher === null || itemWithRightNameAndPublisher === void 0 ? void 0 : itemWithRightNameAndPublisher.isInstalled()));
|
|
141
141
|
Logger_1.Logger.debug(`itemWithRightNameAndPublisher?.isInstalled(): ${isInstalled}.`);
|
|
142
142
|
chai_1.expect(isInstalled).eqls(true);
|
|
143
|
-
Logger_1.Logger.debug(
|
|
143
|
+
Logger_1.Logger.debug('itemWithRightNameAndPublisher.manage(): get context menu.');
|
|
144
144
|
const extensionManageMenu = await itemWithRightNameAndPublisher.manage();
|
|
145
|
-
Logger_1.Logger.debug(
|
|
145
|
+
Logger_1.Logger.debug('extensionManageMenu.getItems(): get menu items.');
|
|
146
146
|
const extensionMenuItems = await extensionManageMenu.getItems();
|
|
147
147
|
let extensionMenuItemLabels = '';
|
|
148
148
|
for (const item of extensionMenuItems) {
|
|
149
|
-
Logger_1.Logger.trace(
|
|
149
|
+
Logger_1.Logger.trace('extensionMenuItems -> item.getLabel(): get menu items names.');
|
|
150
150
|
extensionMenuItemLabels += (await item.getLabel()) + ' ';
|
|
151
151
|
}
|
|
152
152
|
Logger_1.Logger.debug(`extensionMenuItemLabels: ${extensionMenuItemLabels}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedExtensions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecommendedExtensions.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAExE,6DAa6B;AAC7B,8CAAyD;AAEzD,qEAA8D;AAC9D,mEAAwD;AACxD,uFAAoF;AAEpF,+CAA4C;AAE5C,qFAAkF;AAClF,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"RecommendedExtensions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecommendedExtensions.spec.ts"],"names":[],"mappings":"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"}
|