@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,74 +1,79 @@
|
|
|
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
|
+
**********************************************************************/
|
|
1
10
|
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
2
11
|
import { expect } from 'chai';
|
|
3
12
|
import { ShellString } from 'shelljs';
|
|
4
13
|
import { StringUtil } from '../../utils/StringUtil';
|
|
5
14
|
import { DevWorkspaceConfigurationHelper } from '../../utils/DevWorkspaceConfigurationHelper';
|
|
6
15
|
import { DevfileContext } from '@eclipse-che/che-devworkspace-generator/lib/api/devfile-context';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
16
|
+
import { API_TEST_CONSTANTS } from '../../constants/API_TEST_CONSTANTS';
|
|
17
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
9
18
|
|
|
10
|
-
suite(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
suite('Empty workspace API test', function (): void {
|
|
20
|
+
// works only for root user
|
|
21
|
+
const namespace: string | undefined = API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
|
|
22
|
+
let clonedProjectName: string;
|
|
23
|
+
let containerWorkDir: string;
|
|
24
|
+
let devWorkspaceConfigurationHelper: DevWorkspaceConfigurationHelper;
|
|
25
|
+
let kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor;
|
|
26
|
+
let devfileContext: DevfileContext;
|
|
27
|
+
let devWorkspaceName: string | undefined;
|
|
28
|
+
let containerTerminal: KubernetesCommandLineToolsExecutor.ContainerTerminal;
|
|
20
29
|
|
|
21
|
-
|
|
30
|
+
const gitRepository: string = 'https://github.com/crw-qe/web-nodejs-sample';
|
|
22
31
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'schemaVersion: 2.2.0\n' +
|
|
27
|
-
'metadata:\n' +
|
|
28
|
-
` name: ${workspaceName}\n`;
|
|
32
|
+
suiteSetup('Create empty workspace with OC client', async function (): Promise<void> {
|
|
33
|
+
const workspaceName: string = 'empty-' + Math.floor(Math.random() * 1000);
|
|
34
|
+
const devfileContent: string = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper({
|
|
37
|
+
devfileContent
|
|
38
|
+
});
|
|
39
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
40
|
+
devWorkspaceName = devfileContext?.devWorkspace?.metadata?.name;
|
|
41
|
+
kubernetesCommandLineToolsExecutor = new KubernetesCommandLineToolsExecutor(devWorkspaceName, namespace);
|
|
42
|
+
containerTerminal = new KubernetesCommandLineToolsExecutor.ContainerTerminal(kubernetesCommandLineToolsExecutor);
|
|
43
|
+
});
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
test('Create empty workspace', function (): void {
|
|
46
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
47
|
+
const devWorkspaceConfigurationYamlString: string =
|
|
48
|
+
devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
49
|
+
const output: ShellString = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
|
|
50
|
+
expect(output.stdout).contains('condition met');
|
|
51
|
+
});
|
|
45
52
|
|
|
46
|
-
|
|
53
|
+
suite('Clone public repo without previous setup', function (): void {
|
|
54
|
+
test('Check if public repo can be cloned', function (): void {
|
|
55
|
+
containerWorkDir = containerTerminal.pwd().stdout.replace('\n', '');
|
|
56
|
+
const cloneOutput: ShellString = containerTerminal.gitClone(gitRepository);
|
|
57
|
+
expect(cloneOutput.stdout + cloneOutput.stderr).includes('Cloning');
|
|
58
|
+
});
|
|
47
59
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
});
|
|
60
|
+
test('Check if project was created', function (): void {
|
|
61
|
+
clonedProjectName = StringUtil.getProjectNameFromGitUrl(gitRepository);
|
|
62
|
+
expect(containerTerminal.ls().stdout).includes(clonedProjectName);
|
|
63
|
+
});
|
|
53
64
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
test('Check if project files are imported', function (): void {
|
|
66
|
+
expect(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes(
|
|
67
|
+
BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME
|
|
68
|
+
);
|
|
69
|
+
});
|
|
58
70
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
suiteTeardown('Delete cloned project', function (): void {
|
|
72
|
+
containerTerminal.removeFolder(`${clonedProjectName}`);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
63
75
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
suiteTeardown('Delete workspace', function(): void {
|
|
70
|
-
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
71
|
-
});
|
|
76
|
+
suiteTeardown('Delete workspace', function (): void {
|
|
77
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
78
|
+
});
|
|
72
79
|
});
|
|
73
|
-
|
|
74
|
-
|
|
@@ -1,45 +1,54 @@
|
|
|
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
|
+
**********************************************************************/
|
|
1
10
|
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
2
11
|
import fs from 'fs';
|
|
3
12
|
import path from 'path';
|
|
4
13
|
import YAML from 'yaml';
|
|
5
14
|
import { expect } from 'chai';
|
|
6
15
|
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
7
|
-
import {
|
|
16
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
8
17
|
|
|
9
|
-
suite(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
suite('Test defining pod overrides via attribute.', function (): void {
|
|
19
|
+
const pathToSampleFile: string = path.resolve(
|
|
20
|
+
`resources/pod-overrides${BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED() ? '-airgap' : ''}.yaml`
|
|
21
|
+
);
|
|
22
|
+
const workspaceName: string = YAML.parse(fs.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
23
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = new KubernetesCommandLineToolsExecutor(workspaceName);
|
|
13
24
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
25
|
+
suiteSetup('Login into OC client', function (): void {
|
|
26
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
27
|
+
});
|
|
17
28
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
suiteTeardown('Delete DevWorkspace', function (): void {
|
|
30
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
31
|
+
});
|
|
21
32
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
test('Apply pod-overrides sample as DevWorkspace with OC client', function (): void {
|
|
34
|
+
kubernetesCommandLineToolsExecutor.applyYamlConfigurationAsFile(pathToSampleFile);
|
|
35
|
+
ShellExecutor.wait(5);
|
|
36
|
+
});
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
test('Check that fields are overridden in the Deployment for DevWorkspace', function (): void {
|
|
39
|
+
const devWorkspaceFullYamlOutput: any = YAML.parse(kubernetesCommandLineToolsExecutor.getDevWorkspaceYamlConfiguration());
|
|
40
|
+
expect(devWorkspaceFullYamlOutput.spec.template.attributes['pod-overrides']).eqls({
|
|
41
|
+
metadata: {
|
|
42
|
+
annotations: {
|
|
43
|
+
'io.kubernetes.cri-o.userns-mode': 'auto:size=65536;map-to-root=true',
|
|
44
|
+
'io.openshift.userns': 'true',
|
|
45
|
+
'openshift.io/scc': 'container-build'
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
spec: {
|
|
49
|
+
runtimeClassName: 'kata',
|
|
50
|
+
schedulerName: 'stork'
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
43
54
|
});
|
|
44
|
-
|
|
45
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2020-2023 Red Hat, Inc.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -24,42 +24,42 @@ const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUti
|
|
|
24
24
|
|
|
25
25
|
const stackName: string = 'Empty Workspace';
|
|
26
26
|
|
|
27
|
-
suite(`${stackName} test`,
|
|
28
|
-
|
|
27
|
+
suite(`${stackName} test`, function (): void {
|
|
28
|
+
loginTests.loginIntoChe();
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
test(`Create and open new workspace, stack:${stackName}`, async function (): Promise<void> {
|
|
31
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
32
|
+
});
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
35
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
36
|
+
});
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
test('Register running workspace', function (): void {
|
|
39
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
40
|
+
});
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
test('Wait workspace readiness', async function (): Promise<void> {
|
|
43
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
const workbench: Workbench = new Workbench();
|
|
46
|
+
const activityBar: ActivityBar = workbench.getActivityBar();
|
|
47
|
+
const activityBarControls: ViewControl[] = await activityBar.getViewControls();
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
Logger.debug('Editor sections:');
|
|
50
|
+
for (const control of activityBarControls) {
|
|
51
|
+
Logger.debug(`${await control.getTitle()}`);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
test('Stop the workspace', async function (): Promise<void> {
|
|
56
|
+
await workspaceHandlingTests.stopWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
57
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
58
|
+
});
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
test('Delete the workspace', async function (): Promise<void> {
|
|
61
|
+
await workspaceHandlingTests.removeWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
62
|
+
});
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
loginTests.logoutFromChe();
|
|
65
65
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2019 Red Hat, Inc.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -16,7 +16,7 @@ import { CLASSES } from '../../configs/inversify.types';
|
|
|
16
16
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
17
17
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
18
18
|
import { Logger } from '../../utils/Logger';
|
|
19
|
-
import {
|
|
19
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
20
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
21
21
|
|
|
22
22
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
@@ -27,44 +27,44 @@ const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUti
|
|
|
27
27
|
const stackName: string = 'Java 11 with Quarkus';
|
|
28
28
|
const projectName: string = 'quarkus-quickstarts';
|
|
29
29
|
|
|
30
|
-
suite(`The ${stackName} userstory`,
|
|
31
|
-
|
|
30
|
+
suite(`The ${stackName} userstory`, function (): void {
|
|
31
|
+
let projectSection: ViewSection;
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
loginTests.loginIntoChe();
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
test(`Create and open new workspace, stack:${stackName}`, async function (): Promise<void> {
|
|
36
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
37
|
+
});
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
40
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
41
|
+
});
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
test('Register running workspace', function (): void {
|
|
44
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
45
|
+
});
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
test('Wait workspace readiness', async function (): Promise<void> {
|
|
48
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
49
|
+
});
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
test('Check a project folder has been created', async function (): Promise<void> {
|
|
52
|
+
projectSection = await new SideBarView().getContent().getSection(projectName);
|
|
53
|
+
Logger.debug(`new SideBarView().getContent().getSection: get ${projectName}`);
|
|
54
|
+
});
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
test('Check the project files was imported', async function (): Promise<void> {
|
|
57
|
+
await projectSection.findItem(BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME);
|
|
58
|
+
Logger.debug(`projectSection.findItem: find ${BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME}`);
|
|
59
|
+
});
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
test('Stop the workspace', async function (): Promise<void> {
|
|
62
|
+
await workspaceHandlingTests.stopWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
63
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
64
|
+
});
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
test('Delete the workspace', async function (): Promise<void> {
|
|
67
|
+
await workspaceHandlingTests.removeWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
68
|
+
});
|
|
69
|
+
loginTests.logoutFromChe();
|
|
70
70
|
});
|