@eclipse-che/che-e2e 7.122.0-next-3c10512 → 7.123.0-next
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/index.ts +5 -5
- package/package.json +1 -1
- package/dist/configs/inversify.config.js +0 -123
- package/dist/configs/inversify.config.js.map +0 -1
- package/dist/configs/inversify.types.js +0 -74
- package/dist/configs/inversify.types.js.map +0 -1
- package/dist/configs/mocharc.js +0 -42
- package/dist/configs/mocharc.js.map +0 -1
- package/dist/constants/API_TEST_CONSTANTS.js +0 -60
- package/dist/constants/API_TEST_CONSTANTS.js.map +0 -1
- package/dist/constants/BASE_TEST_CONSTANTS.js +0 -109
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +0 -1
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js +0 -40
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +0 -1
- package/dist/constants/EDITOR_CONSTANTS.js +0 -114
- package/dist/constants/EDITOR_CONSTANTS.js.map +0 -1
- package/dist/constants/FACTORY_TEST_CONSTANTS.js +0 -87
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +0 -1
- package/dist/constants/MOCHA_CONSTANTS.js +0 -24
- package/dist/constants/MOCHA_CONSTANTS.js.map +0 -1
- package/dist/constants/MONACO_CONSTANTS.js +0 -25
- package/dist/constants/MONACO_CONSTANTS.js.map +0 -1
- package/dist/constants/OAUTH_CONSTANTS.js +0 -53
- package/dist/constants/OAUTH_CONSTANTS.js.map +0 -1
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js +0 -19
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +0 -1
- package/dist/constants/REPORTER_CONSTANTS.js +0 -123
- package/dist/constants/REPORTER_CONSTANTS.js.map +0 -1
- package/dist/constants/TIMEOUT_CONSTANTS.js +0 -101
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +0 -1
- package/dist/driver/ChromeDriver.js +0 -77
- package/dist/driver/ChromeDriver.js.map +0 -1
- package/dist/driver/IDriver.js +0 -3
- package/dist/driver/IDriver.js.map +0 -1
- package/dist/index.js +0 -99
- package/dist/index.js.map +0 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -181
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
- package/dist/pageobjects/dashboard/Dashboard.js +0 -208
- package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
- package/dist/pageobjects/dashboard/TrustAuthorPopup.js +0 -61
- package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +0 -1
- package/dist/pageobjects/dashboard/UserPreferences.js +0 -268
- package/dist/pageobjects/dashboard/UserPreferences.js.map +0 -1
- package/dist/pageobjects/dashboard/Workspaces.js +0 -242
- package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -192
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
- package/dist/pageobjects/git-providers/OauthPage.js +0 -218
- package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
- package/dist/pageobjects/ide/AiCodeSignInDialog.js +0 -55
- package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +0 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -108
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
- package/dist/pageobjects/ide/CommandPalette.js +0 -117
- package/dist/pageobjects/ide/CommandPalette.js.map +0 -1
- package/dist/pageobjects/ide/ExplorerView.js +0 -108
- package/dist/pageobjects/ide/ExplorerView.js.map +0 -1
- package/dist/pageobjects/ide/ExtensionsView.js +0 -162
- package/dist/pageobjects/ide/ExtensionsView.js.map +0 -1
- package/dist/pageobjects/ide/GitHubExtensionDialog.js +0 -66
- package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +0 -1
- package/dist/pageobjects/ide/NotificationHandler.js +0 -83
- package/dist/pageobjects/ide/NotificationHandler.js.map +0 -1
- package/dist/pageobjects/ide/RestartWorkspaceDialog.js +0 -80
- package/dist/pageobjects/ide/RestartWorkspaceDialog.js.map +0 -1
- package/dist/pageobjects/ide/RestrictedModeButton.js +0 -57
- package/dist/pageobjects/ide/RestrictedModeButton.js.map +0 -1
- package/dist/pageobjects/ide/SourceControlView.js +0 -52
- package/dist/pageobjects/ide/SourceControlView.js.map +0 -1
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js +0 -73
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +0 -1
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js +0 -12
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +0 -1
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +0 -12
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +0 -1
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js +0 -69
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +0 -1
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +0 -50
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +0 -1
- package/dist/pageobjects/login/openshift/OcpLoginPage.js +0 -88
- package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +0 -1
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +0 -73
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +0 -1
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +0 -53
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +0 -1
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js +0 -85
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +0 -1
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +0 -65
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +0 -1
- package/dist/pageobjects/openshift/OcpApplicationPage.js +0 -60
- package/dist/pageobjects/openshift/OcpApplicationPage.js.map +0 -1
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js +0 -92
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
- package/dist/pageobjects/openshift/OcpMainPage.js +0 -140
- package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
- package/dist/pageobjects/webterminal/WebTerminalPage.js +0 -182
- package/dist/pageobjects/webterminal/WebTerminalPage.js.map +0 -1
- package/dist/specs/MochaHooks.js +0 -142
- package/dist/specs/MochaHooks.js.map +0 -1
- package/dist/specs/SmokeTest.spec.js +0 -58
- package/dist/specs/SmokeTest.spec.js.map +0 -1
- package/dist/specs/api/AnsibleDevFileAPI.spec.js +0 -263
- package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +0 -147
- package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +0 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -40
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
- package/dist/specs/api/CppDevFileAPI.spec.js +0 -87
- package/dist/specs/api/CppDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -99
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
- package/dist/specs/api/DotnetDevFileAPI.spec.js +0 -89
- package/dist/specs/api/DotnetDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -60
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
- package/dist/specs/api/GoDevFileAPI.spec.js +0 -82
- package/dist/specs/api/GoDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +0 -97
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +0 -1
- package/dist/specs/api/JBossEapDevFileAPI.spec.js +0 -127
- package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/LombokDevFileAPI.spec.js +0 -81
- package/dist/specs/api/LombokDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +0 -81
- package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +0 -130
- package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/PhpDevFileAPI.spec.js +0 -71
- package/dist/specs/api/PhpDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/PodOverridesAPI.spec.js +0 -46
- package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
- package/dist/specs/api/PythonDevFileAPI.spec.js +0 -71
- package/dist/specs/api/PythonDevFileAPI.spec.js.map +0 -1
- package/dist/specs/api/QuarkusDevFileAPI.spec.js +0 -97
- package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/Documentation.spec.js +0 -118
- package/dist/specs/dashboard-samples/Documentation.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -60
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -64
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +0 -345
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +0 -171
- package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +0 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -155
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
- package/dist/specs/factory/Factory.spec.js +0 -183
- package/dist/specs/factory/Factory.spec.js.map +0 -1
- package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +0 -63
- package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +0 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -212
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -239
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +0 -202
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +0 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +0 -77
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +0 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +0 -106
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +0 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +0 -113
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +0 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +0 -116
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +0 -1
- package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +0 -205
- package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +0 -1
- package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +0 -129
- package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +0 -1
- package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +0 -121
- package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +0 -1
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +0 -103
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +0 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -111
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
- package/dist/specs/miscellaneous/RenameWorkspace.spec.js +0 -116
- package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +0 -1
- package/dist/specs/miscellaneous/RevokeOauth.spec.js +0 -29
- package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +0 -1
- package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +0 -26
- package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +0 -1
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +0 -78
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +0 -1
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +0 -196
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +0 -1
- package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +0 -208
- package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +0 -1
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +0 -84
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +0 -1
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +0 -84
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +0 -1
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +0 -101
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +0 -1
- package/dist/specs/restart-tests/RestartFromLocalDevfile.spec.js +0 -266
- package/dist/specs/restart-tests/RestartFromLocalDevfile.spec.js.map +0 -1
- package/dist/specs/web-terminal/WebTerminalTest.spec.js +0 -47
- package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +0 -1
- package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +0 -82
- package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +0 -1
- package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +0 -78
- package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +0 -1
- package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +0 -13
- package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +0 -1
- package/dist/suites/disconnected-ocp/APITest.suite.js +0 -14
- package/dist/suites/disconnected-ocp/APITest.suite.js.map +0 -1
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
- package/dist/suites/disconnected-ocp/UITest.suite.js +0 -19
- package/dist/suites/disconnected-ocp/UITest.suite.js.map +0 -1
- package/dist/suites/online-ocp/APITest.suite.js +0 -15
- package/dist/suites/online-ocp/APITest.suite.js.map +0 -1
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
- package/dist/suites/online-ocp/UITest.suite.js +0 -23
- package/dist/suites/online-ocp/UITest.suite.js.map +0 -1
- package/dist/tests-library/LoginTests.js +0 -76
- package/dist/tests-library/LoginTests.js.map +0 -1
- package/dist/tests-library/ProjectAndFileTests.js +0 -230
- package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +0 -219
- package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
- package/dist/utils/BrowserTabsUtil.js +0 -124
- package/dist/utils/BrowserTabsUtil.js.map +0 -1
- package/dist/utils/CheReporter.js +0 -238
- package/dist/utils/CheReporter.js.map +0 -1
- package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -145
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
- package/dist/utils/DevfilesHelper.js +0 -177
- package/dist/utils/DevfilesHelper.js.map +0 -1
- package/dist/utils/DriverHelper.js +0 -609
- package/dist/utils/DriverHelper.js.map +0 -1
- package/dist/utils/IContextParams.js +0 -12
- package/dist/utils/IContextParams.js.map +0 -1
- package/dist/utils/IKubernetesCommandLineToolsExecutor.js +0 -3
- package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +0 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -338
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
- package/dist/utils/Logger.js +0 -146
- package/dist/utils/Logger.js.map +0 -1
- package/dist/utils/ScreenCatcher.js +0 -114
- package/dist/utils/ScreenCatcher.js.map +0 -1
- package/dist/utils/ShellExecutor.js +0 -47
- package/dist/utils/ShellExecutor.js.map +0 -1
- package/dist/utils/StringUtil.js +0 -107
- package/dist/utils/StringUtil.js.map +0 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -128
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -55
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +0 -12
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
- package/dist/utils/workspace/ApiUrlResolver.js +0 -117
- package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
- package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
- package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
- package/dist/utils/workspace/TestWorkspaceUtil.js +0 -202
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
- package/dist/utils/workspace/WorkspaceStatus.js +0 -19
- package/dist/utils/workspace/WorkspaceStatus.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
-
**********************************************************************/
|
|
12
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
-
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
14
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
15
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
16
|
-
const chai_1 = require("chai");
|
|
17
|
-
const API_TEST_CONSTANTS_1 = require("../../constants/API_TEST_CONSTANTS");
|
|
18
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
19
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
20
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
21
|
-
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
22
|
-
suite(`Workspace using a parent test suite ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
23
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
24
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
25
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
26
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
27
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
28
|
-
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
29
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
30
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
31
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
32
|
-
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
33
|
-
let podName = '';
|
|
34
|
-
suiteSetup(function () {
|
|
35
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
36
|
-
});
|
|
37
|
-
suiteSetup('Login', async function () {
|
|
38
|
-
await loginTests.loginIntoChe();
|
|
39
|
-
});
|
|
40
|
-
test('Create a workspace from child devfile', async function () {
|
|
41
|
-
const factoryUrl = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL.length === 0
|
|
42
|
-
? BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL + '/dashboard/#/' + 'https://github.com/testsfactory/parentDevfile'
|
|
43
|
-
: BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL + '/dashboard/#/' + FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL;
|
|
44
|
-
await dashboard.waitPage();
|
|
45
|
-
await testWorkspaceUtil.switchOffTrustDialogWithJavaScript();
|
|
46
|
-
await browserTabsUtil.navigateTo(factoryUrl);
|
|
47
|
-
await createWorkspace.performTrustAuthorPopup();
|
|
48
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
49
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
50
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
51
|
-
// add 10 sec timeout for waiting for finishing animation of all IDE parts (Welcome parts. bottom widgets. etc.)
|
|
52
|
-
// using 10 sec easier than performing of finishing animation of all elements
|
|
53
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_WAIT_FOR_URL);
|
|
54
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
55
|
-
});
|
|
56
|
-
test('Check cloning of the test project', async function () {
|
|
57
|
-
const expectedProjectItems = ['.devfile.yaml', 'parent.yaml', 'README.md', 'parentdevfile'];
|
|
58
|
-
const visibleContent = await projectAndFileTests.getProjectViewSession();
|
|
59
|
-
for (const expectedProjectItem of expectedProjectItems) {
|
|
60
|
-
const visibleItem = await projectAndFileTests.getProjectTreeItem(visibleContent, expectedProjectItem);
|
|
61
|
-
(0, chai_1.expect)(visibleItem).not.undefined;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
test('Check devfile VS Code tasks ', async function () {
|
|
65
|
-
const input = await new monaco_page_objects_1.Workbench().openCommandPrompt();
|
|
66
|
-
await input.setText('>Tasks: Run Task');
|
|
67
|
-
const runTaskItem = await input.findQuickPick('Tasks: Run Task');
|
|
68
|
-
await runTaskItem?.click();
|
|
69
|
-
// pause for avoiding StaleElement exception. It is easier solution than try/catch or writing separate function for this
|
|
70
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
71
|
-
const devFileTask = await input.findQuickPick('devfile');
|
|
72
|
-
await devFileTask?.click();
|
|
73
|
-
// pause for avoiding StaleElement exception. It is easier solution than try/catch or writing separate function for this
|
|
74
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
75
|
-
const firstExpectedQuickPick = await input.findQuickPick('1. This command from the devfile');
|
|
76
|
-
const secondExpectedQuickPick = await input.findQuickPick('2. This command from the parent');
|
|
77
|
-
(0, chai_1.expect)(firstExpectedQuickPick).not.undefined;
|
|
78
|
-
(0, chai_1.expect)(secondExpectedQuickPick).not.undefined;
|
|
79
|
-
});
|
|
80
|
-
test('Check expected containers in the parent POD', function () {
|
|
81
|
-
const getPodNameCommand = `${API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_KUBERNETES_COMMAND_LINE_TOOL} get pods -n ${kubernetesCommandLineToolsExecutor.namespace} --selector=controller.devfile.io/devworkspace_name=sample-using-parent --output jsonpath=\'{.items[0].metadata.name}\'`;
|
|
82
|
-
podName = shellExecutor.executeArbitraryShellScript(getPodNameCommand);
|
|
83
|
-
const containerNames = shellExecutor.executeArbitraryShellScript(`${API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_KUBERNETES_COMMAND_LINE_TOOL} get pod ${podName} -n ${kubernetesCommandLineToolsExecutor.namespace} --output jsonpath=\'{.spec.containers[*].name}\'`);
|
|
84
|
-
(0, chai_1.expect)(containerNames).contains('tools').and.contains('che-gateway');
|
|
85
|
-
const initContainerName = shellExecutor.executeArbitraryShellScript(`${API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_KUBERNETES_COMMAND_LINE_TOOL} get pod ${podName} -n ${kubernetesCommandLineToolsExecutor.namespace} --output jsonpath=\'{.spec.initContainers[*].name}\'`);
|
|
86
|
-
(0, chai_1.expect)(initContainerName).contains('che-code-injector');
|
|
87
|
-
});
|
|
88
|
-
test('Check expected environment variables', function () {
|
|
89
|
-
const envList = shellExecutor.executeArbitraryShellScript(`${API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_KUBERNETES_COMMAND_LINE_TOOL} -n admin-devspaces exec -i ${podName} -c tools -- sh -c env`);
|
|
90
|
-
(0, chai_1.expect)(envList).contains('DEVFILE_ENV_VAR=true').and.contains('PARENT_ENV_VAR=true');
|
|
91
|
-
});
|
|
92
|
-
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
93
|
-
await dashboard.openDashboard();
|
|
94
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
95
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
96
|
-
});
|
|
97
|
-
suiteTeardown('Unregister running workspace', function () {
|
|
98
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
//# sourceMappingURL=WorkspaceWithParent.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceWithParent.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/WorkspaceWithParent.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/** *******************************************************************
|
|
3
|
-
* copyright (c) 2026 Red Hat, Inc.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made
|
|
6
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
7
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
8
|
-
*
|
|
9
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
10
|
-
**********************************************************************/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const chai_1 = require("chai");
|
|
13
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
14
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
15
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
16
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
17
|
-
const Logger_1 = require("../../utils/Logger");
|
|
18
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
19
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
20
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
21
|
-
suite(`Test case with empty workspace (per-user storage) ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
22
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
23
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
24
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
25
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
26
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
27
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
28
|
-
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
29
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
30
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
31
|
-
const restartWorkspaceDialog = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.RestartWorkspaceDialog);
|
|
32
|
-
const testFileName = 'test-new-file.txt';
|
|
33
|
-
const testFileContent = 'test file content for restart verification';
|
|
34
|
-
const gitRepository = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
35
|
-
? 'https://gh.crw-qe.com/test-automation-only/devfile-with-typo'
|
|
36
|
-
: 'https://github.com/dmytro-ndp/devfile-with-typo';
|
|
37
|
-
const projectName = 'devfile-with-typo';
|
|
38
|
-
let currentTabHandle = 'undefined';
|
|
39
|
-
const editorXpath = '//*[@id="editor-selector-card-che-incubator/che-code/latest"]';
|
|
40
|
-
const xPathToWaitFor = '//*[@id="workbench.parts.sidebar"]';
|
|
41
|
-
const cheClusterName = 'devspaces';
|
|
42
|
-
let originalStorageStrategy = '';
|
|
43
|
-
suiteSetup('Login into Che and set per-user storage strategy', async function () {
|
|
44
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
45
|
-
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
46
|
-
originalStorageStrategy = shellExecutor
|
|
47
|
-
.executeCommand(`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.storage.pvcStrategy}"`)
|
|
48
|
-
.stdout.trim();
|
|
49
|
-
if (originalStorageStrategy !== 'per-user') {
|
|
50
|
-
const patchResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
51
|
-
'-p \'{"spec":{"devEnvironments":{"storage":{"pvcStrategy":"per-user"}}}}\'');
|
|
52
|
-
(0, chai_1.expect)(patchResult.code).to.equal(0, 'Failed to patch CheCluster to set per-user storage strategy');
|
|
53
|
-
}
|
|
54
|
-
await loginTests.loginIntoChe();
|
|
55
|
-
});
|
|
56
|
-
function clearCurrentTabHandle() {
|
|
57
|
-
currentTabHandle = 'undefined';
|
|
58
|
-
}
|
|
59
|
-
test('Create Empty workspace', async function () {
|
|
60
|
-
await dashboard.openDashboard();
|
|
61
|
-
currentTabHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
62
|
-
await dashboard.clickCreateWorkspaceButton();
|
|
63
|
-
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(editorXpath, 'Empty Workspace', xPathToWaitFor);
|
|
64
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
65
|
-
});
|
|
66
|
-
test('Setup workspace context for API operations', function () {
|
|
67
|
-
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
68
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
69
|
-
});
|
|
70
|
-
test('Clone devfile-with-typo repository', function () {
|
|
71
|
-
const cloneOutput = containerTerminal.gitClone(gitRepository);
|
|
72
|
-
(0, chai_1.expect)(cloneOutput.stdout + cloneOutput.stderr).includes('Cloning');
|
|
73
|
-
});
|
|
74
|
-
test('Accept the project as a trusted one', async function () {
|
|
75
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
76
|
-
});
|
|
77
|
-
test('Verify cloned project exists', function () {
|
|
78
|
-
(0, chai_1.expect)(containerTerminal.ls().stdout).includes(projectName);
|
|
79
|
-
});
|
|
80
|
-
test('Create new file in project root', function () {
|
|
81
|
-
const output = containerTerminal.execInContainerCommand(`echo "${testFileContent}" > /projects/${projectName}/${testFileName}`);
|
|
82
|
-
(0, chai_1.expect)(output.code).to.equal(0);
|
|
83
|
-
});
|
|
84
|
-
test('Restart workspace from local devfile with bad image', async function () {
|
|
85
|
-
await restartWorkspaceDialog.restartFromLocalDevfile(projectName);
|
|
86
|
-
Logger_1.Logger.info('Waiting for "Restart Workspace" confirmation popup');
|
|
87
|
-
await restartWorkspaceDialog.confirmRestartWorkspace();
|
|
88
|
-
});
|
|
89
|
-
test('Wait for workspace start failure and restart', async function () {
|
|
90
|
-
Logger_1.Logger.info('Waiting for workspace to enter Failed phase and restart with default devfile');
|
|
91
|
-
await restartWorkspaceDialog.clickRestartWithDefaultDevfile();
|
|
92
|
-
await driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(xPathToWaitFor), TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_START_TIMEOUT);
|
|
93
|
-
});
|
|
94
|
-
test('Re-initialize workspace context after restart', function () {
|
|
95
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
96
|
-
});
|
|
97
|
-
test('Verify project exists with cloned files after restart', function () {
|
|
98
|
-
(0, chai_1.expect)(containerTerminal.ls().stdout).includes(projectName);
|
|
99
|
-
(0, chai_1.expect)(containerTerminal.ls(`/projects/${projectName}`).stdout).includes('devfile.yaml');
|
|
100
|
-
});
|
|
101
|
-
test('Verify new file is present in project root after restart', function () {
|
|
102
|
-
const output = containerTerminal.execInContainerCommand(`cat /projects/${projectName}/${testFileName}`);
|
|
103
|
-
(0, chai_1.expect)(output.stdout.trim()).to.equal(testFileContent);
|
|
104
|
-
});
|
|
105
|
-
test('Verify devfile schema validation error on invalid env declaration', async function () {
|
|
106
|
-
Logger_1.Logger.info('Appending invalid env declaration to devfile.yaml');
|
|
107
|
-
const appendOutput = containerTerminal.execInContainerCommand(`echo " env:" >> /projects/${projectName}/devfile.yaml && ` +
|
|
108
|
-
`echo " - name: test-env" >> /projects/${projectName}/devfile.yaml && ` +
|
|
109
|
-
`echo " value: true" >> /projects/${projectName}/devfile.yaml`);
|
|
110
|
-
(0, chai_1.expect)(appendOutput.code).to.equal(0, 'Failed to append invalid env content to devfile.yaml');
|
|
111
|
-
Logger_1.Logger.info('Restart from local devfile');
|
|
112
|
-
await restartWorkspaceDialog.restartFromLocalDevfile(projectName);
|
|
113
|
-
Logger_1.Logger.info('Check error popup');
|
|
114
|
-
const dialogText = await restartWorkspaceDialog.getErrorDialogText();
|
|
115
|
-
Logger_1.Logger.info(`Error dialog title text: ${dialogText}`);
|
|
116
|
-
const detailText = await restartWorkspaceDialog.getErrorDetailText();
|
|
117
|
-
Logger_1.Logger.info(`Error dialog detail text: ${detailText}`);
|
|
118
|
-
(0, chai_1.expect)(detailText).to.equal('Devfile schema validation failed. Error: 0: instance.components[0] is not allowed to have the additional property "env"');
|
|
119
|
-
});
|
|
120
|
-
suiteTeardown('Delete DevWorkspace', async function () {
|
|
121
|
-
Logger_1.Logger.debug('Delete DevWorkspace. After each test.');
|
|
122
|
-
if (currentTabHandle !== 'undefined') {
|
|
123
|
-
await browserTabsUtil.switchToWindow(currentTabHandle);
|
|
124
|
-
}
|
|
125
|
-
await dashboard.openDashboard();
|
|
126
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
127
|
-
if (WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
|
|
128
|
-
Logger_1.Logger.debug('Workspace name is defined. Deleting workspace...');
|
|
129
|
-
await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
130
|
-
}
|
|
131
|
-
WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
|
|
132
|
-
clearCurrentTabHandle();
|
|
133
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
134
|
-
if (originalStorageStrategy !== '' && originalStorageStrategy !== 'per-user') {
|
|
135
|
-
const restoreResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
136
|
-
`-p '{"spec":{"devEnvironments":{"storage":{"pvcStrategy":"${originalStorageStrategy}"}}}}'`);
|
|
137
|
-
(0, chai_1.expect)(restoreResult.code).to.equal(0, 'Failed to restore CheCluster storage strategy');
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
suite(`Test case with pvc-fail workspace (bad image restart) ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
142
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
143
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
144
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
145
|
-
const workspaces = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Workspaces);
|
|
146
|
-
const workspaceDetails = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceDetails);
|
|
147
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
148
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
149
|
-
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
150
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
151
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
152
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
153
|
-
const restartWorkspaceDialog = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.RestartWorkspaceDialog);
|
|
154
|
-
const testFileName = 'test-new-file.txt';
|
|
155
|
-
const testFileContent = 'test file content for pvc-fail restart verification';
|
|
156
|
-
const gitRepository = 'https://github.com/cgruver/test-workspace/tree/pvc-fail';
|
|
157
|
-
const projectName = 'test-workspace';
|
|
158
|
-
let currentTabHandle = 'undefined';
|
|
159
|
-
const xPathToWaitFor = '//*[@id="workbench.parts.sidebar"]';
|
|
160
|
-
const editorXpath = '//*[@id="editor-selector-card-che-incubator/che-code/latest"]';
|
|
161
|
-
const cheClusterName = 'devspaces';
|
|
162
|
-
let originalStorageStrategy = '';
|
|
163
|
-
suiteSetup('Skip suite on disconnected clusters', function () {
|
|
164
|
-
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
165
|
-
Logger_1.Logger.info('Test cluster is disconnected. Skipping pvc-fail workspace suite.');
|
|
166
|
-
this.skip();
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
suiteSetup('Login into Che and set per-workspace storage strategy', async function () {
|
|
170
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
171
|
-
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
172
|
-
originalStorageStrategy = shellExecutor
|
|
173
|
-
.executeCommand(`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.storage.pvcStrategy}"`)
|
|
174
|
-
.stdout.trim();
|
|
175
|
-
if (originalStorageStrategy !== 'per-workspace') {
|
|
176
|
-
const patchResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
177
|
-
'-p \'{"spec":{"devEnvironments":{"storage":{"pvcStrategy":"per-workspace"}}}}\'');
|
|
178
|
-
(0, chai_1.expect)(patchResult.code).to.equal(0, 'Failed to patch CheCluster to set per-workspace storage strategy');
|
|
179
|
-
}
|
|
180
|
-
await loginTests.loginIntoChe();
|
|
181
|
-
});
|
|
182
|
-
function clearCurrentTabHandle() {
|
|
183
|
-
currentTabHandle = 'undefined';
|
|
184
|
-
}
|
|
185
|
-
test('Create workspace from test-workspace pvc-fail branch', async function () {
|
|
186
|
-
await dashboard.openDashboard();
|
|
187
|
-
currentTabHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
188
|
-
await dashboard.clickCreateWorkspaceButton();
|
|
189
|
-
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(editorXpath, gitRepository, xPathToWaitFor);
|
|
190
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
191
|
-
});
|
|
192
|
-
test('Accept the project as a trusted one', async function () {
|
|
193
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
194
|
-
});
|
|
195
|
-
test('Setup workspace context for API operations', function () {
|
|
196
|
-
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
197
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
198
|
-
});
|
|
199
|
-
test('Create new file in project folder', function () {
|
|
200
|
-
const output = containerTerminal.execInContainerCommand(`echo "${testFileContent}" > /projects/${projectName}/${testFileName}`);
|
|
201
|
-
(0, chai_1.expect)(output.code).to.equal(0);
|
|
202
|
-
});
|
|
203
|
-
test('Modify devfile to point to bad image location', function () {
|
|
204
|
-
Logger_1.Logger.info('Replacing ":latest" with ":badimage" in devfile.yaml using sed');
|
|
205
|
-
const output = containerTerminal.execInContainerCommand(`sed -i 's/:latest/:badimage/g' /projects/${projectName}/devfile.yaml`);
|
|
206
|
-
(0, chai_1.expect)(output.code).to.equal(0, 'Failed to replace :latest with :badimage in devfile.yaml');
|
|
207
|
-
const verifyOutput = containerTerminal.execInContainerCommand(`cat /projects/${projectName}/devfile.yaml`);
|
|
208
|
-
(0, chai_1.expect)(verifyOutput.stdout).to.include(':badimage');
|
|
209
|
-
(0, chai_1.expect)(verifyOutput.stdout).to.not.include(':latest');
|
|
210
|
-
});
|
|
211
|
-
test('Restart workspace from local devfile with bad image', async function () {
|
|
212
|
-
await restartWorkspaceDialog.restartFromLocalDevfile(projectName);
|
|
213
|
-
Logger_1.Logger.info('Waiting for "Restart Workspace" confirmation popup');
|
|
214
|
-
await restartWorkspaceDialog.confirmRestartWorkspace();
|
|
215
|
-
});
|
|
216
|
-
test('Wait for workspace start failure and restart with default devfile', async function () {
|
|
217
|
-
Logger_1.Logger.info('Waiting for workspace to enter Failed phase and restart with default devfile');
|
|
218
|
-
await restartWorkspaceDialog.clickRestartWithDefaultDevfile();
|
|
219
|
-
await driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(xPathToWaitFor), TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_START_TIMEOUT);
|
|
220
|
-
});
|
|
221
|
-
test('Re-initialize workspace context after restart', function () {
|
|
222
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
223
|
-
});
|
|
224
|
-
test('Verify project exists after restart with default devfile', function () {
|
|
225
|
-
(0, chai_1.expect)(containerTerminal.ls().stdout).includes(projectName);
|
|
226
|
-
(0, chai_1.expect)(containerTerminal.ls(`/projects/${projectName}`).stdout).includes('devfile.yaml');
|
|
227
|
-
});
|
|
228
|
-
test('Verify new file is present after restart with default devfile', function () {
|
|
229
|
-
const output = containerTerminal.execInContainerCommand(`cat /projects/${projectName}/${testFileName}`);
|
|
230
|
-
(0, chai_1.expect)(output.stdout.trim()).to.equal(testFileContent);
|
|
231
|
-
});
|
|
232
|
-
test('Verify storage type is per-workspace in workspace details', async function () {
|
|
233
|
-
const workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
234
|
-
Logger_1.Logger.info('Opening Workspaces page');
|
|
235
|
-
await dashboard.openDashboard();
|
|
236
|
-
await dashboard.clickWorkspacesButton();
|
|
237
|
-
await workspaces.waitPage();
|
|
238
|
-
Logger_1.Logger.info(`Opening workspace details for: ${workspaceName}`);
|
|
239
|
-
await workspaces.clickWorkspaceListItemLink(workspaceName);
|
|
240
|
-
await workspaceDetails.waitWorkspaceTitle(workspaceName);
|
|
241
|
-
Logger_1.Logger.info('Verifying storage type is per-workspace on Overview tab');
|
|
242
|
-
const storageTypeValue = await workspaceDetails.getStorageTypeValue();
|
|
243
|
-
(0, chai_1.expect)(storageTypeValue).to.equal('per-workspace');
|
|
244
|
-
});
|
|
245
|
-
suiteTeardown('Delete DevWorkspace', async function () {
|
|
246
|
-
Logger_1.Logger.debug('Delete DevWorkspace. After each test.');
|
|
247
|
-
if (currentTabHandle !== 'undefined') {
|
|
248
|
-
await browserTabsUtil.switchToWindow(currentTabHandle);
|
|
249
|
-
}
|
|
250
|
-
await dashboard.openDashboard();
|
|
251
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
252
|
-
if (WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
|
|
253
|
-
Logger_1.Logger.debug('Workspace name is defined. Deleting workspace...');
|
|
254
|
-
await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
255
|
-
}
|
|
256
|
-
WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
|
|
257
|
-
clearCurrentTabHandle();
|
|
258
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
259
|
-
if (originalStorageStrategy !== '' && originalStorageStrategy !== 'per-workspace') {
|
|
260
|
-
const restoreResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
261
|
-
`-p '{"spec":{"devEnvironments":{"storage":{"pvcStrategy":"${originalStorageStrategy}"}}}}'`);
|
|
262
|
-
(0, chai_1.expect)(restoreResult.code).to.equal(0, 'Failed to restore CheCluster storage strategy');
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
//# sourceMappingURL=RestartFromLocalDevfile.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RestartFromLocalDevfile.spec.js","sourceRoot":"","sources":["../../../specs/restart-tests/RestartFromLocalDevfile.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
-
**********************************************************************/
|
|
12
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
13
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
14
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
15
|
-
const chai_1 = require("chai");
|
|
16
|
-
suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
17
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
18
|
-
const webTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WebTerminalPage);
|
|
19
|
-
const ocpMainPage = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.OcpMainPage);
|
|
20
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
21
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
22
|
-
suiteSetup(function () {
|
|
23
|
-
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
24
|
-
shellExecutor.executeCommand('oc project openshift-operators');
|
|
25
|
-
});
|
|
26
|
-
loginTests.loginIntoOcpConsole();
|
|
27
|
-
test('Open Web Terminal', async function () {
|
|
28
|
-
await ocpMainPage.waitOpenMainPage();
|
|
29
|
-
await webTerminal.openWebTerminal();
|
|
30
|
-
});
|
|
31
|
-
test('Check username is correct', function () {
|
|
32
|
-
const userUid = shellExecutor.executeCommand('oc get user $(oc whoami) -o jsonpath={.metadata.uid}').replace(/\n/g, '');
|
|
33
|
-
// label selector for Web Terminal workspaces owned by the currently-logged in user
|
|
34
|
-
const labelSelector = 'console.openshift.io/terminal=true,controller.devfile.io/creator=' + userUid;
|
|
35
|
-
// namespace of this users web terminal
|
|
36
|
-
const namespace = shellExecutor.executeCommand(`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].metadata.namespace}'`);
|
|
37
|
-
// devWorkspace ID for this users web terminal
|
|
38
|
-
const termDwId = shellExecutor.executeCommand(`oc get dw -A -l ${labelSelector} -o jsonpath='{.items[0].status.devworkspaceId}'`);
|
|
39
|
-
// use oc exec to run oc whoami inside this user's terminal
|
|
40
|
-
const user = shellExecutor
|
|
41
|
-
.executeCommand(`oc exec -n ${namespace} deploy/${termDwId} -c web-terminal-tooling -- oc whoami`)
|
|
42
|
-
.replace(/\n/g, '');
|
|
43
|
-
// above should output current user's username:
|
|
44
|
-
(0, chai_1.expect)(user).to.equal(shellExecutor.executeCommand('oc whoami').replace(/\n/g, ''));
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
//# sourceMappingURL=WebTerminalTest.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebTerminalTest.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalTest.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,mEAAwD;AACxD,qEAA8D;AAG9D,6EAA0E;AAG1E,+BAA8B;AAG9B,KAAK,CAAC,oDAAoD,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACjG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,WAAW,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAgB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IACF,MAAM,aAAa,GAAkB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,aAAa,CAAC,CAAC;IAE7E,UAAU,CAAC;QACV,kCAAkC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,aAAa,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,mBAAmB,EAAE,CAAC;IAEjC,IAAI,CAAC,mBAAmB,EAAE,KAAK;QAC9B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE;QACjC,MAAM,OAAO,GAAW,aAAa,CAAC,cAAc,CAAC,sDAAsD,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEhI,mFAAmF;QACnF,MAAM,aAAa,GAAW,mEAAmE,GAAG,OAAO,CAAC;QAC5G,uCAAuC;QACvC,MAAM,SAAS,GAAW,aAAa,CAAC,cAAc,CACrD,mBAAmB,aAAa,+CAA+C,CAC/E,CAAC;QACF,8CAA8C;QAC9C,MAAM,QAAQ,GAAW,aAAa,CAAC,cAAc,CACpD,mBAAmB,aAAa,kDAAkD,CAClF,CAAC;QACF,2DAA2D;QAC3D,MAAM,IAAI,GAAW,aAAa;aAChC,cAAc,CAAC,cAAc,SAAS,WAAW,QAAQ,uCAAuC,CAAC;aACjG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,+CAA+C;QAC/C,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/** *******************************************************************
|
|
7
|
-
* copyright (c) 2024 Red Hat, Inc.
|
|
8
|
-
*
|
|
9
|
-
* This program and the accompanying materials are made
|
|
10
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
11
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
12
|
-
*
|
|
13
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
14
|
-
**********************************************************************/
|
|
15
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
16
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
17
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
-
const chai_1 = require("chai");
|
|
19
|
-
const yaml_1 = __importDefault(require("yaml"));
|
|
20
|
-
suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
22
|
-
const ocpMainPage = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.OcpMainPage);
|
|
23
|
-
const webTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WebTerminalPage);
|
|
24
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
25
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
26
|
-
const defaultWTOProjectNameForAdmin = 'openshift-terminal';
|
|
27
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
28
|
-
const webTerminalToolContainerName = 'web-terminal-tooling';
|
|
29
|
-
const fileForVerificationTerminalCommands = 'result.txt';
|
|
30
|
-
suiteSetup(function () {
|
|
31
|
-
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
32
|
-
});
|
|
33
|
-
suiteTeardown(function () {
|
|
34
|
-
shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${defaultWTOProjectNameForAdmin}`);
|
|
35
|
-
});
|
|
36
|
-
loginTests.loginIntoOcpConsole();
|
|
37
|
-
test('Open Web Terminal after first installation', async function () {
|
|
38
|
-
await ocpMainPage.waitOpenMainPage();
|
|
39
|
-
await driverHelper.refreshPage();
|
|
40
|
-
await webTerminal.clickOnWebTerminalIcon();
|
|
41
|
-
});
|
|
42
|
-
test('Verify first started WTO widget and disabled state Project field under admin user', async function () {
|
|
43
|
-
await webTerminal.waitTerminalWidget();
|
|
44
|
-
(0, chai_1.expect)(await webTerminal.waitDisabledProjectFieldAndGetProjectName()).equal(defaultWTOProjectNameForAdmin);
|
|
45
|
-
});
|
|
46
|
-
test('Check starting Web Terminal under admin', async function () {
|
|
47
|
-
kubernetesCommandLineToolsExecutor.namespace = await webTerminal.getAdminProjectName();
|
|
48
|
-
await webTerminal.clickOnStartWebTerminalButton();
|
|
49
|
-
await webTerminal.waitTerminalIsStarted();
|
|
50
|
-
await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
|
|
51
|
-
const devWorkspaceYaml = shellExecutor.executeArbitraryShellScript(`oc get dw -n ${kubernetesCommandLineToolsExecutor.namespace} -o yaml`);
|
|
52
|
-
kubernetesCommandLineToolsExecutor.workspaceName = yaml_1.default.parse(devWorkspaceYaml).items[0].metadata.name;
|
|
53
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
54
|
-
const commandResult = kubernetesCommandLineToolsExecutor.execInContainerCommand(`cat /home/user/${fileForVerificationTerminalCommands}`, webTerminalToolContainerName);
|
|
55
|
-
(0, chai_1.expect)(commandResult).contains('admin');
|
|
56
|
-
});
|
|
57
|
-
test('Verify help command under admin user', async function () {
|
|
58
|
-
const expectedStrings = [
|
|
59
|
-
'OpenShift CLI',
|
|
60
|
-
'Kubernetes CLI',
|
|
61
|
-
'Kustomize CLI (built-in to kubectl)',
|
|
62
|
-
'Helm CLI',
|
|
63
|
-
'KNative CLI',
|
|
64
|
-
'Tekton CLI',
|
|
65
|
-
'Submariner CLI',
|
|
66
|
-
'KubeVirt CLI',
|
|
67
|
-
'jq'
|
|
68
|
-
];
|
|
69
|
-
await webTerminal.typeAndEnterIntoWebTerminal(`help > ${fileForVerificationTerminalCommands}`);
|
|
70
|
-
// need 5 sec. delay for finishing writing results of help command into txt file. The 5 sec delay is enough for the most cases
|
|
71
|
-
await driverHelper.wait(5000);
|
|
72
|
-
const commandResult = kubernetesCommandLineToolsExecutor.execInContainerCommand(`cat /home/user/${fileForVerificationTerminalCommands}`, webTerminalToolContainerName);
|
|
73
|
-
expectedStrings.forEach((expectedString) => {
|
|
74
|
-
(0, chai_1.expect)(commandResult).to.contain(expectedString);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
test('Verify help command under admin user', async function () {
|
|
78
|
-
await webTerminal.typeAndEnterIntoWebTerminal('wtoctl set timeout 30s');
|
|
79
|
-
await webTerminal.waitTerminalInactivity();
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
//# sourceMappingURL=WebTerminalUnderAdmin.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebTerminalUnderAdmin.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalUnderAdmin.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/** *******************************************************************
|
|
7
|
-
* copyright (c) 2024 Red Hat, Inc.
|
|
8
|
-
*
|
|
9
|
-
* This program and the accompanying materials are made
|
|
10
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
11
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
12
|
-
*
|
|
13
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
14
|
-
**********************************************************************/
|
|
15
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
16
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
17
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
-
const WebTerminalPage_1 = require("../../pageobjects/webterminal/WebTerminalPage");
|
|
19
|
-
const chai_1 = require("chai");
|
|
20
|
-
const yaml_1 = __importDefault(require("yaml"));
|
|
21
|
-
const mocha_1 = require("mocha");
|
|
22
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
23
|
-
suite(`Login to Openshift console and check WebTerminal ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
24
|
-
const webTerminalToolContainerName = 'web-terminal-tooling';
|
|
25
|
-
const testProjectName = 'wto-under-regular-user-test';
|
|
26
|
-
const fileForVerificationTerminalCommands = 'result.txt';
|
|
27
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
28
|
-
const ocpMainPage = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.OcpMainPage);
|
|
29
|
-
const webTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WebTerminalPage);
|
|
30
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
31
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
32
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
33
|
-
suiteSetup(function () {
|
|
34
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
35
|
-
kubernetesCommandLineToolsExecutor.deleteProject(testProjectName);
|
|
36
|
-
});
|
|
37
|
-
suiteTeardown(function () {
|
|
38
|
-
kubernetesCommandLineToolsExecutor.deleteProject(testProjectName);
|
|
39
|
-
});
|
|
40
|
-
(0, mocha_1.afterEach)(function () {
|
|
41
|
-
try {
|
|
42
|
-
shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${testProjectName}`);
|
|
43
|
-
}
|
|
44
|
-
catch (e) {
|
|
45
|
-
console.log(`cannot delete the ${testProjectName} under regular user:`, e);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
loginTests.loginIntoOcpConsole();
|
|
49
|
-
test('Open WebTerminal after first installation', async function () {
|
|
50
|
-
await ocpMainPage.waitOpenMainPage();
|
|
51
|
-
await driverHelper.refreshPage();
|
|
52
|
-
await webTerminal.clickOnWebTerminalIcon();
|
|
53
|
-
});
|
|
54
|
-
test('Check WebTerminal with creating new Openshift Project', async function () {
|
|
55
|
-
kubernetesCommandLineToolsExecutor.namespace = testProjectName;
|
|
56
|
-
await webTerminal.typeProjectName(testProjectName);
|
|
57
|
-
await webTerminal.clickOnStartWebTerminalButton();
|
|
58
|
-
await webTerminal.waitTerminalIsStarted();
|
|
59
|
-
await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
|
|
60
|
-
const devWorkspaceYaml = shellExecutor.executeArbitraryShellScript(`oc get dw -n ${kubernetesCommandLineToolsExecutor.namespace} -o yaml`);
|
|
61
|
-
kubernetesCommandLineToolsExecutor.workspaceName = yaml_1.default.parse(devWorkspaceYaml).items[0].metadata.name;
|
|
62
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
63
|
-
const commandResult = kubernetesCommandLineToolsExecutor.execInContainerCommand(`cat /home/user/${fileForVerificationTerminalCommands}`, webTerminalToolContainerName);
|
|
64
|
-
const currentUserName = await driverHelper.waitAndGetText(selenium_webdriver_1.By.css('span[data-test="username"]'));
|
|
65
|
-
(0, chai_1.expect)(commandResult).contains(currentUserName);
|
|
66
|
-
});
|
|
67
|
-
test('Check running WebTerminal in the existed Project with custom timeout', async function () {
|
|
68
|
-
await webTerminal.findAndSelectProject(testProjectName);
|
|
69
|
-
await webTerminal.clickOnTimeoutButton();
|
|
70
|
-
await webTerminal.clickOnTimeUnitDropDown();
|
|
71
|
-
await webTerminal.selectTimeUnit(WebTerminalPage_1.TimeUnits.Seconds);
|
|
72
|
-
await webTerminal.setTimeoutByEntering(20);
|
|
73
|
-
await webTerminal.clickOnStartWebTerminalButton();
|
|
74
|
-
await webTerminal.waitTerminalIsStarted();
|
|
75
|
-
await webTerminal.waitTerminalInactivity();
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=WebTerminalUnderRegularUser.spec.js.map
|