@eclipse-che/che-e2e 7.121.0-next-e9dc673 → 7.121.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 -121
- package/dist/configs/inversify.config.js.map +0 -1
- package/dist/configs/inversify.types.js +0 -73
- 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 -98
- 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 -186
- 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/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 -256
- 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/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,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/** *******************************************************************
|
|
4
|
-
* copyright (c) 2020-2026 Red Hat, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This program and the accompanying materials are made
|
|
7
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
-
*
|
|
10
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
-
**********************************************************************/
|
|
12
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
-
const chai_1 = require("chai");
|
|
15
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
16
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
17
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
19
|
-
const sampleName = 'Java Lombok';
|
|
20
|
-
suite(`"Create workspace from sample with existing name" test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
22
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
23
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
24
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
26
|
-
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
27
|
-
let projectSection;
|
|
28
|
-
let firstWorkspaceName;
|
|
29
|
-
let secondWorkspaceName;
|
|
30
|
-
suiteSetup('Login', async function () {
|
|
31
|
-
await loginTests.loginIntoChe();
|
|
32
|
-
});
|
|
33
|
-
async function openCreateWorkspacePage() {
|
|
34
|
-
await dashboard.openDashboard();
|
|
35
|
-
await dashboard.waitPage();
|
|
36
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
37
|
-
await dashboard.clickCreateWorkspaceButton();
|
|
38
|
-
await createWorkspace.waitPage();
|
|
39
|
-
}
|
|
40
|
-
async function waitWorkspaceReadiness() {
|
|
41
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
42
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
43
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
44
|
-
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
45
|
-
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, 'lombok-project-sample'), 'Project folder was not imported').not
|
|
46
|
-
.undefined;
|
|
47
|
-
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME), 'Project files were not imported').not.undefined;
|
|
48
|
-
}
|
|
49
|
-
test('Verify "Create New" is on by default and create first workspace from sample', async function () {
|
|
50
|
-
await openCreateWorkspacePage();
|
|
51
|
-
// verify "Create New" checkbox is checked by default
|
|
52
|
-
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked(), '"Create New" checkbox should be checked by default').to.be
|
|
53
|
-
.true;
|
|
54
|
-
// create workspace from sample
|
|
55
|
-
const parentGUID = await browserTabsUtil.getCurrentWindowHandle();
|
|
56
|
-
await createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
57
|
-
await browserTabsUtil.waitAndSwitchToAnotherWindow(parentGUID, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
58
|
-
await waitWorkspaceReadiness();
|
|
59
|
-
firstWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
60
|
-
(0, chai_1.expect)(firstWorkspaceName, 'First workspace name should not be empty').not.empty;
|
|
61
|
-
});
|
|
62
|
-
test('Turn off "Create New" and verify existing workspace opens', async function () {
|
|
63
|
-
await openCreateWorkspacePage();
|
|
64
|
-
// turn off "Create New" checkbox
|
|
65
|
-
await createWorkspace.setCreateNewWorkspaceCheckbox(false);
|
|
66
|
-
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked(), '"Create New" checkbox should be unchecked').to.be.false;
|
|
67
|
-
// click on the same sample
|
|
68
|
-
const parentGUID = await browserTabsUtil.getCurrentWindowHandle();
|
|
69
|
-
await createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
70
|
-
await browserTabsUtil.waitAndSwitchToAnotherWindow(parentGUID, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
71
|
-
await waitWorkspaceReadiness();
|
|
72
|
-
// verify the same workspace was opened (not a new one)
|
|
73
|
-
(0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName(), 'The existing workspace should be opened').to.be.equal(firstWorkspaceName);
|
|
74
|
-
});
|
|
75
|
-
test('Turn on "Create New" and verify new workspace is created without warnings', async function () {
|
|
76
|
-
await openCreateWorkspacePage();
|
|
77
|
-
// turn on "Create New" checkbox
|
|
78
|
-
await createWorkspace.setCreateNewWorkspaceCheckbox(true);
|
|
79
|
-
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked(), '"Create New" checkbox should be checked').to.be.true;
|
|
80
|
-
// click on the same sample
|
|
81
|
-
const parentGUID = await browserTabsUtil.getCurrentWindowHandle();
|
|
82
|
-
await createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
83
|
-
await browserTabsUtil.waitAndSwitchToAnotherWindow(parentGUID, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
84
|
-
await waitWorkspaceReadiness();
|
|
85
|
-
secondWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
86
|
-
(0, chai_1.expect)(secondWorkspaceName, 'Second workspace name should not be empty').not.empty;
|
|
87
|
-
(0, chai_1.expect)(secondWorkspaceName, 'A new workspace with different name should be created').not.to.be.equal(firstWorkspaceName);
|
|
88
|
-
});
|
|
89
|
-
test('Turn off "Create New", verify warning with workspace list, and select second workspace', async function () {
|
|
90
|
-
await openCreateWorkspacePage();
|
|
91
|
-
// turn off "Create New" checkbox
|
|
92
|
-
await createWorkspace.setCreateNewWorkspaceCheckbox(false);
|
|
93
|
-
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked(), '"Create New" checkbox should be unchecked').to.be.false;
|
|
94
|
-
// click on the same sample
|
|
95
|
-
const parentGUID = await browserTabsUtil.getCurrentWindowHandle();
|
|
96
|
-
await createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
97
|
-
await browserTabsUtil.waitAndSwitchToAnotherWindow(parentGUID, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
98
|
-
// wait for existing workspace found alert with list of workspaces
|
|
99
|
-
await dashboard.waitExistingWorkspaceFoundAlert();
|
|
100
|
-
// select the second workspace (created at step 4)
|
|
101
|
-
await dashboard.startExistedWorkspace(secondWorkspaceName);
|
|
102
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
103
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
104
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
105
|
-
// verify the second workspace was opened
|
|
106
|
-
(0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName(), 'The second workspace should be opened').to.be.equal(secondWorkspaceName);
|
|
107
|
-
});
|
|
108
|
-
suiteTeardown('Stop and delete all created workspaces', async function () {
|
|
109
|
-
await workspaceHandlingTests.stopAndRemoveWorkspace(firstWorkspaceName);
|
|
110
|
-
await workspaceHandlingTests.stopAndRemoveWorkspace(secondWorkspaceName);
|
|
111
|
-
});
|
|
112
|
-
suiteTeardown('Unregister running workspace', function () {
|
|
113
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
//# sourceMappingURL=CreateWorkspaceWithExistingNameFromSample.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkspaceWithExistingNameFromSample.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,205 +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 FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
13
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
14
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
15
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
16
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
17
|
-
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
18
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
19
|
-
const Logger_1 = require("../../utils/Logger");
|
|
20
|
-
const chai_1 = require("chai");
|
|
21
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
22
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
23
|
-
suite(`Create a workspace via launching a factory from the ${FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL} repository`, function () {
|
|
24
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
26
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
27
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
28
|
-
const pathToPluginRegistry = '/projects/devspaces/dependencies/che-plugin-registry/';
|
|
29
|
-
const internalRegistry = 'image-registry.openshift-image-registry.svc:5000';
|
|
30
|
-
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
31
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
32
|
-
const viewItems = [];
|
|
33
|
-
const testRepoProjectName = 'devspaces';
|
|
34
|
-
const appVersion = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION
|
|
35
|
-
? BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.')
|
|
36
|
-
: 'next';
|
|
37
|
-
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
38
|
-
let currentNamespace = '';
|
|
39
|
-
let cheClusterNamespace = '';
|
|
40
|
-
let cheClusterName = '';
|
|
41
|
-
let projectSection;
|
|
42
|
-
let kubernetesCommandLineToolsExecutor;
|
|
43
|
-
let workspaceName = '';
|
|
44
|
-
suiteSetup('Login', async function () {
|
|
45
|
-
await loginTests.loginIntoChe();
|
|
46
|
-
});
|
|
47
|
-
test('Navigate to the factory URL', async function () {
|
|
48
|
-
await browserTabsUtil.navigateTo(FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_URL() || 'https://github.com/redhat-developer/devspaces/');
|
|
49
|
-
await createWorkspace.performTrustAuthorPopup();
|
|
50
|
-
});
|
|
51
|
-
test('Obtain workspace name from workspace loader page', async function () {
|
|
52
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
53
|
-
workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
54
|
-
(0, chai_1.expect)(workspaceName, 'Workspace name was not fetched from the loading page').not.undefined;
|
|
55
|
-
});
|
|
56
|
-
test('Registering the running workspace', function () {
|
|
57
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
58
|
-
});
|
|
59
|
-
test('Wait the workspace readiness', async function () {
|
|
60
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
61
|
-
});
|
|
62
|
-
test('Check if a project folder has been created', async function () {
|
|
63
|
-
Logger_1.Logger.debug(`new SideBarView().getContent().getSection: get ${testRepoProjectName}`);
|
|
64
|
-
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
65
|
-
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, testRepoProjectName), 'Project folder was not imported').not
|
|
66
|
-
.undefined;
|
|
67
|
-
});
|
|
68
|
-
test('Accept the project as a trusted one', async function () {
|
|
69
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
70
|
-
});
|
|
71
|
-
test('Remove VSX plugins and set redhat.vscode-xml', function () {
|
|
72
|
-
// modify the openvsx-sync.json file with just one item - for speeding up the build an image
|
|
73
|
-
kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
74
|
-
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
75
|
-
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
76
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
77
|
-
const pathToOpenVSXOriginFile = `${pathToPluginRegistry}openvsx-sync.json`;
|
|
78
|
-
const pathToOpenVSXTmpFile = `${pathToPluginRegistry}temp.json`;
|
|
79
|
-
const editVSCListCommand = `jq "[.[] | select(.id == \\"redhat.vscode-xml\\")]" ${pathToOpenVSXOriginFile} > ${pathToOpenVSXTmpFile} && mv ${pathToOpenVSXTmpFile} ${pathToOpenVSXOriginFile}`;
|
|
80
|
-
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand(editVSCListCommand);
|
|
81
|
-
(0, chai_1.expect)(output.code).to.equals(0);
|
|
82
|
-
const getCheClusterNamespaceCommand = 'oc get checluster --all-namespaces -o json | jq -r ".items[0].metadata.name"';
|
|
83
|
-
const getCheClusterNameSpace = 'oc get checluster --all-namespaces -o json | jq -r ".items[0].metadata.namespace"';
|
|
84
|
-
// get che cluster name and namespace and init variables
|
|
85
|
-
cheClusterName = kubernetesCommandLineToolsExecutor.execInContainerCommand(getCheClusterNamespaceCommand).replace('\n', '');
|
|
86
|
-
cheClusterNamespace = kubernetesCommandLineToolsExecutor.execInContainerCommand(getCheClusterNameSpace).replace('\n', '');
|
|
87
|
-
});
|
|
88
|
-
test('Login podman into official registry', function () {
|
|
89
|
-
const commandToAuthenticateInRegistry = `podman login -u \"${process.env.REGISTRY_LOGIN}\" -p ${process.env.REGISTRY_PASSWORD} registry.redhat.io`;
|
|
90
|
-
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand(commandToAuthenticateInRegistry);
|
|
91
|
-
(0, chai_1.expect)(output).contains('Login Succeeded!');
|
|
92
|
-
});
|
|
93
|
-
test('Build and push custom image', function () {
|
|
94
|
-
currentNamespace = kubernetesCommandLineToolsExecutor.namespace;
|
|
95
|
-
const podmanPushCommand = `podman push ${internalRegistry}/${currentNamespace}/che-plugin-registry:${appVersion}`;
|
|
96
|
-
const commandToBuildCustomVSXImage = `cd ${pathToPluginRegistry} && yes | ./build.sh`;
|
|
97
|
-
const commandLoginIntoInternalRegistry = 'podman login -u $(oc whoami | tr -d :) -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000';
|
|
98
|
-
const retagImageCommand = `podman tag quay.io/devspaces/pluginregistry-rhel9:next ${internalRegistry}/${currentNamespace}/che-plugin-registry:${appVersion}`;
|
|
99
|
-
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand(commandToBuildCustomVSXImage);
|
|
100
|
-
(0, chai_1.expect)(output.code).equals(0);
|
|
101
|
-
const outputRetagCommand = kubernetesCommandLineToolsExecutor.execInContainerCommand(retagImageCommand);
|
|
102
|
-
(0, chai_1.expect)(outputRetagCommand.code).equals(0);
|
|
103
|
-
const loginIntoInternalRegistryOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(commandLoginIntoInternalRegistry);
|
|
104
|
-
(0, chai_1.expect)(loginIntoInternalRegistryOutput).contains('Login Succeeded!');
|
|
105
|
-
const outputPushCommand = kubernetesCommandLineToolsExecutor.execInContainerCommand(podmanPushCommand);
|
|
106
|
-
(0, chai_1.expect)(outputPushCommand.code).equals(0);
|
|
107
|
-
});
|
|
108
|
-
test('Configure Che to use the embedded Eclipse Open VSX server', function () {
|
|
109
|
-
// create secret for using internal registry
|
|
110
|
-
kubernetesCommandLineToolsExecutor.execInContainerCommand(`oc delete secret regcred -n ${cheClusterNamespace} || true`);
|
|
111
|
-
const createRegistrySecretCommand = `oc create secret -n ${cheClusterNamespace} docker-registry regcred --docker-server=${internalRegistry} --docker-username=\$(oc whoami | tr -d :) --docker-password=\$(oc whoami -t)`;
|
|
112
|
-
const createSecretOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(createRegistrySecretCommand);
|
|
113
|
-
(0, chai_1.expect)(createSecretOutput).contains('regcred created');
|
|
114
|
-
// add secret to service account
|
|
115
|
-
const patchPart = '{\\"imagePullSecrets\\": [{\\"name\\": \\"regcred\\"}]}';
|
|
116
|
-
const addSecretToServiceAccountCommand = `oc patch serviceaccount default -n ${cheClusterNamespace} -p "${patchPart}"`;
|
|
117
|
-
const addSecretOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(addSecretToServiceAccountCommand);
|
|
118
|
-
(0, chai_1.expect)(addSecretOutput).contains('default patched');
|
|
119
|
-
// patch che cluster with custom plugin registry
|
|
120
|
-
const patchVSXRegistryCommand = `cd ${pathToPluginRegistry} && ./patch-cluster.sh ${internalRegistry}/${currentNamespace}/che-plugin-registry:${appVersion}`;
|
|
121
|
-
const patchVSXOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(patchVSXRegistryCommand);
|
|
122
|
-
(0, chai_1.expect)(patchVSXOutput).contains('Patched CheCluster ');
|
|
123
|
-
// wait for deployment readiness after patching CHE cluster
|
|
124
|
-
const waitDeploymentReadiness = `oc rollout status deployment plugin-registry -n ${cheClusterNamespace} --timeout=120s`;
|
|
125
|
-
const waitDeploymentOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(waitDeploymentReadiness);
|
|
126
|
-
(0, chai_1.expect)(waitDeploymentOutput).contains('successfully rolled out');
|
|
127
|
-
});
|
|
128
|
-
test('Recreate workspace and check VSX custom plugin ', async function () {
|
|
129
|
-
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
130
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
131
|
-
await browserTabsUtil.navigateTo(FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_URL());
|
|
132
|
-
});
|
|
133
|
-
test('Registering the running workspace', function () {
|
|
134
|
-
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
135
|
-
});
|
|
136
|
-
test('Check Custom VSX plugin', async function () {
|
|
137
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
138
|
-
Logger_1.Logger.debug(`new SideBarView().getContent().getSection: get ${testRepoProjectName}`);
|
|
139
|
-
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
140
|
-
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, testRepoProjectName), 'Project folder was not imported').not
|
|
141
|
-
.undefined;
|
|
142
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
143
|
-
const extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
|
|
144
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
|
|
145
|
-
const sections = await extensionsView?.getContent().getSections();
|
|
146
|
-
if (sections !== undefined) {
|
|
147
|
-
for (const section of sections) {
|
|
148
|
-
let currentItem = [];
|
|
149
|
-
// sometimes the item (not related with custom VSX) can be empty or not extended, but it is not an error for the test
|
|
150
|
-
// we do not need to control none VSX items
|
|
151
|
-
try {
|
|
152
|
-
currentItem = await section.getVisibleItems();
|
|
153
|
-
}
|
|
154
|
-
catch (err) {
|
|
155
|
-
if (err instanceof selenium_webdriver_1.error.ElementNotInteractableError) {
|
|
156
|
-
Logger_1.Logger.error('Current item is not interactable but test will continue');
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
throw err;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (currentItem.length > 0) {
|
|
163
|
-
viewItems?.push(...currentItem);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
(0, chai_1.expect)(viewItems.length).equals(1);
|
|
168
|
-
(0, chai_1.expect)(await viewItems[0].getText()).contains('XML Language Support by Red Hat');
|
|
169
|
-
});
|
|
170
|
-
suiteTeardown('Clean up resources and restore default CHE cluster CR', async function () {
|
|
171
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
172
|
-
try {
|
|
173
|
-
kubernetesCommandLineToolsExecutor.execInContainerCommand(`oc delete secret regcred -n ${cheClusterNamespace}`);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
Logger_1.Logger.error(`Error during deleting the secret: ${error}`);
|
|
177
|
-
}
|
|
178
|
-
try {
|
|
179
|
-
const patch = '[{"op": "remove", "path": "/imagePullSecrets", "value": {"name": "regcred"}}]';
|
|
180
|
-
const commandForRestoreServiceAccount = `oc patch serviceaccount default -n ${cheClusterNamespace} --type=json -p="${patch}"`;
|
|
181
|
-
kubernetesCommandLineToolsExecutor.execInContainerCommand(commandForRestoreServiceAccount);
|
|
182
|
-
}
|
|
183
|
-
catch (error) {
|
|
184
|
-
Logger_1.Logger.error(`Error during restoring the service account: ${error}`);
|
|
185
|
-
}
|
|
186
|
-
try {
|
|
187
|
-
const patchDeployment = '[{"op": "remove", "path": "/spec/components/pluginRegistry/deployment"}]';
|
|
188
|
-
const patchPluginRegistry = '[{"op": "remove", "path": "/spec/components/pluginRegistry/openVSXURL"}]';
|
|
189
|
-
const restoreDefaultDeploymentPluginRegistry = `oc patch checluster ${cheClusterName} --type=json -p="${patchDeployment}" -n ${cheClusterNamespace}`;
|
|
190
|
-
const restoreOpenVSXRegistry = `oc patch checluster ${cheClusterName} --type=json -p="${patchPluginRegistry}" -n ${cheClusterNamespace}`;
|
|
191
|
-
kubernetesCommandLineToolsExecutor.execInContainerCommand(restoreDefaultDeploymentPluginRegistry);
|
|
192
|
-
kubernetesCommandLineToolsExecutor.execInContainerCommand(restoreOpenVSXRegistry);
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
Logger_1.Logger.error(`Error during restoring the VSX registry: ${error}`);
|
|
196
|
-
}
|
|
197
|
-
try {
|
|
198
|
-
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
199
|
-
}
|
|
200
|
-
catch (error) {
|
|
201
|
-
Logger_1.Logger.error(`Cannot delete the workspace by API deleting the workspace: ${error}`);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
//# sourceMappingURL=CustomOpenVSXRegistry.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomOpenVSXRegistry.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CustomOpenVSXRegistry.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/** *******************************************************************
|
|
3
|
-
* copyright (c) 2025 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 inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
-
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
-
const chai_1 = require("chai");
|
|
17
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
18
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
19
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
20
|
-
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
21
|
-
suite(`Extension Activation Test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
22
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
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 driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
26
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
27
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
28
|
-
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
29
|
-
const workspaces = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Workspaces);
|
|
30
|
-
const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
31
|
-
? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
32
|
-
'https://gh.crw-qe.com/test-automation-only/python-hello-world/tree/test-vscode-extensions'
|
|
33
|
-
: FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL ||
|
|
34
|
-
'https://github.com/crw-qe/python-hello-world/tree/test-vscode-extensions';
|
|
35
|
-
const PROJECT_NAME = 'python-hello-world';
|
|
36
|
-
const PYTHON_FILE_NAME = 'hello-world.py';
|
|
37
|
-
const RUN_PYTHON_BUTTON = selenium_webdriver_1.By.xpath('//a[@aria-label="Run Python File"]');
|
|
38
|
-
const TERMINAL_OUTPUT = selenium_webdriver_1.By.className('xterm-screen');
|
|
39
|
-
const OUTPUT_PANEL_TAB = selenium_webdriver_1.By.xpath('//a[contains(@aria-label, "Output")]');
|
|
40
|
-
const PYTHON_OUTPUT_OPTION = selenium_webdriver_1.By.xpath('//option[text()="Python"]');
|
|
41
|
-
const MONACO_SELECT_BOX = selenium_webdriver_1.By.css('select.monaco-select-box');
|
|
42
|
-
const OUTPUT_PANEL_CONTENT = selenium_webdriver_1.By.xpath('//div[contains(@class, "output")]//div[contains(@class, "view-lines")]');
|
|
43
|
-
const WORKSPACE_RESTART_TIMEOUT = 300000;
|
|
44
|
-
let workspaceName = '';
|
|
45
|
-
suiteSetup('Login to DevSpaces', async function () {
|
|
46
|
-
await loginTests.loginIntoChe();
|
|
47
|
-
});
|
|
48
|
-
test('Create and open workspace from factory URL', async function () {
|
|
49
|
-
await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
|
|
50
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
51
|
-
workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
52
|
-
(0, chai_1.expect)(workspaceName, 'Workspace name was not detected').not.empty;
|
|
53
|
-
(0, MochaHooks_1.registerRunningWorkspace)(workspaceName);
|
|
54
|
-
});
|
|
55
|
-
test('Wait for workspace readiness and handle trust dialogs', async function () {
|
|
56
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
57
|
-
await projectAndFileTests.performTrustDialogs();
|
|
58
|
-
});
|
|
59
|
-
test('Open Python file and run it', async function () {
|
|
60
|
-
const projectSection = await projectAndFileTests.getProjectViewSession();
|
|
61
|
-
await projectAndFileTests.openFileAndVerify(projectSection, PROJECT_NAME, PYTHON_FILE_NAME);
|
|
62
|
-
await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
|
|
63
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
64
|
-
});
|
|
65
|
-
test('Check terminal output shows "Hello, world!"', async function () {
|
|
66
|
-
const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
67
|
-
(0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
|
|
68
|
-
});
|
|
69
|
-
test('Check Output panel for Python activation errors', async function () {
|
|
70
|
-
await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
|
|
71
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
72
|
-
await driverHelper.waitAndClick(MONACO_SELECT_BOX);
|
|
73
|
-
await driverHelper.waitAndClick(PYTHON_OUTPUT_OPTION);
|
|
74
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
75
|
-
const outputText = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
76
|
-
(0, chai_1.expect)(outputText).to.not.include('Failed to activate a workspace');
|
|
77
|
-
(0, chai_1.expect)(outputText).to.not.include('Missing required @injectable annotation');
|
|
78
|
-
});
|
|
79
|
-
test('Refresh page and verify extension still works', async function () {
|
|
80
|
-
await browserTabsUtil.refreshPage();
|
|
81
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
82
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
83
|
-
const projectSection = await projectAndFileTests.getProjectViewSession();
|
|
84
|
-
await projectAndFileTests.openFileAndVerify(projectSection, PROJECT_NAME, PYTHON_FILE_NAME);
|
|
85
|
-
await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
|
|
86
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
87
|
-
const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
88
|
-
(0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
|
|
89
|
-
await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
|
|
90
|
-
const outputText = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
91
|
-
(0, chai_1.expect)(outputText).to.not.include('Failed to activate a workspace');
|
|
92
|
-
});
|
|
93
|
-
test('Stop workspace', async function () {
|
|
94
|
-
const currentWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
95
|
-
(0, chai_1.expect)(currentWorkspaceName, 'Workspace name not available').not.empty;
|
|
96
|
-
await dashboard.openDashboard();
|
|
97
|
-
await dashboard.waitPage();
|
|
98
|
-
await dashboard.stopWorkspaceByUI(currentWorkspaceName);
|
|
99
|
-
});
|
|
100
|
-
test('Start workspace after stop', async function () {
|
|
101
|
-
this.timeout(WORKSPACE_RESTART_TIMEOUT + 60000);
|
|
102
|
-
const currentWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
103
|
-
await workspaces.waitWorkspaceWithStoppedStatus(currentWorkspaceName);
|
|
104
|
-
const originalWindowHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
105
|
-
await workspaces.clickOpenButton(currentWorkspaceName);
|
|
106
|
-
await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, WORKSPACE_RESTART_TIMEOUT);
|
|
107
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
108
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
109
|
-
});
|
|
110
|
-
test('Verify Python execution after workspace restart', async function () {
|
|
111
|
-
const projectSection = await projectAndFileTests.getProjectViewSession();
|
|
112
|
-
await projectAndFileTests.openFileAndVerify(projectSection, PROJECT_NAME, PYTHON_FILE_NAME);
|
|
113
|
-
await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
|
|
114
|
-
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
115
|
-
const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
116
|
-
(0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
|
|
117
|
-
});
|
|
118
|
-
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
119
|
-
await dashboard.openDashboard();
|
|
120
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
121
|
-
});
|
|
122
|
-
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
123
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
124
|
-
});
|
|
125
|
-
suiteTeardown('Unregister running workspace', function () {
|
|
126
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
//# sourceMappingURL=ExtensionActivationTest.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionActivationTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/ExtensionActivationTest.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/** *******************************************************************
|
|
3
|
-
* copyright (c) 2020-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 inversify_types_1 = require("../../configs/inversify.types");
|
|
13
|
-
const inversify_config_1 = require("../../configs/inversify.config");
|
|
14
|
-
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
-
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
-
const chai_1 = require("chai");
|
|
17
|
-
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
-
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
19
|
-
suite(`Test image build with persistUserHome enabled (kubedock and podman) ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
20
|
-
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
21
|
-
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
22
|
-
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
23
|
-
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
24
|
-
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
25
|
-
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
26
|
-
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
27
|
-
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
28
|
-
let workspaceName = '';
|
|
29
|
-
let defaultPersistentHomeValue = false;
|
|
30
|
-
const cheClusterName = 'devspaces';
|
|
31
|
-
const testScript = '# Enable Kubedock\n' +
|
|
32
|
-
'export KUBEDOCK_ENABLED=true\n' +
|
|
33
|
-
'echo KUBEDOCK_ENABLED\n' +
|
|
34
|
-
'/entrypoint.sh\n' +
|
|
35
|
-
'cd $PROJECT_SOURCE\n' +
|
|
36
|
-
'export ARCH=$(uname -m)\n' +
|
|
37
|
-
'export DATE=$(date +"%m%d%y")\n' +
|
|
38
|
-
'export USER=$(oc whoami)\n' +
|
|
39
|
-
'export TKN=$(oc whoami -t)\n' +
|
|
40
|
-
'export REG="image-registry.openshift-image-registry.svc:5000"\n' +
|
|
41
|
-
'export PROJECT=$(oc project -q)\n' +
|
|
42
|
-
'export IMG="${REG}/${PROJECT}/hello:${DATE}"\n' +
|
|
43
|
-
'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
|
|
44
|
-
'podman build -t ${IMG} -f Dockerfile.${ARCH}\n' +
|
|
45
|
-
'podman push --tls-verify=false ${IMG}\n';
|
|
46
|
-
const runTestScript = '# Enable Kubedock\n' +
|
|
47
|
-
'export KUBEDOCK_ENABLED=true\n' +
|
|
48
|
-
'echo KUBEDOCK_ENABLED\n' +
|
|
49
|
-
'/entrypoint.sh\n' +
|
|
50
|
-
'export DATE=$(date +"%m%d%y")\n' +
|
|
51
|
-
'export USER=$(oc whoami)\n' +
|
|
52
|
-
'export TKN=$(oc whoami -t)\n' +
|
|
53
|
-
'export REG="image-registry.openshift-image-registry.svc:5000"\n' +
|
|
54
|
-
'export PROJECT=$(oc project -q)\n' +
|
|
55
|
-
'export IMG="${REG}/${PROJECT}/hello:${DATE}"\n' +
|
|
56
|
-
'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
|
|
57
|
-
'podman run --rm ${IMG}';
|
|
58
|
-
const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
59
|
-
? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
60
|
-
'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
|
|
61
|
-
: FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
|
|
62
|
-
suiteSetup(function () {
|
|
63
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
64
|
-
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
65
|
-
// get current value of spec.devEnvironments.persistUserHome.enabled
|
|
66
|
-
const currentValue = shellExecutor
|
|
67
|
-
.executeCommand(`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.persistUserHome.enabled}"`)
|
|
68
|
-
.stdout.trim();
|
|
69
|
-
defaultPersistentHomeValue = currentValue === 'true';
|
|
70
|
-
// set spec.devEnvironments.persistUserHome.enabled to true
|
|
71
|
-
const patchResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
72
|
-
'-p \'{"spec":{"devEnvironments":{"persistUserHome":{"enabled": true}}}}\'');
|
|
73
|
-
(0, chai_1.expect)(patchResult.code).to.equal(0, 'Failed to patch CheCluster to enable persistUserHome');
|
|
74
|
-
});
|
|
75
|
-
suiteSetup('Login', async function () {
|
|
76
|
-
await loginTests.loginIntoChe();
|
|
77
|
-
});
|
|
78
|
-
test(`Create and open new workspace from factory:${factoryUrl}`, async function () {
|
|
79
|
-
await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
|
|
80
|
-
});
|
|
81
|
-
test('Obtain workspace name from workspace loader page', async function () {
|
|
82
|
-
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
83
|
-
workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
84
|
-
(0, chai_1.expect)(workspaceName, 'Workspace name was not fetched from the loading page').not.undefined;
|
|
85
|
-
});
|
|
86
|
-
test('Register running workspace', function () {
|
|
87
|
-
(0, MochaHooks_1.registerRunningWorkspace)(workspaceName);
|
|
88
|
-
});
|
|
89
|
-
test('Wait workspace readiness', async function () {
|
|
90
|
-
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
91
|
-
});
|
|
92
|
-
test('Check the project files were imported', async function () {
|
|
93
|
-
const projectSection = await projectAndFileTests.getProjectViewSession();
|
|
94
|
-
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, 'Dockerfile.ppc64le'), 'Files not imported').not.undefined;
|
|
95
|
-
await projectAndFileTests.performTrustDialogs();
|
|
96
|
-
});
|
|
97
|
-
test('Create and check container runs using kubedock and podman with persistUserHome', function () {
|
|
98
|
-
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
99
|
-
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
100
|
-
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
101
|
-
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand(testScript);
|
|
102
|
-
(0, chai_1.expect)(output, 'Podman test script failed').contains('Successfully tagged');
|
|
103
|
-
const runOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(runTestScript);
|
|
104
|
-
(0, chai_1.expect)(runOutput, 'Podman test script failed').contains('Hello from Kubedock!');
|
|
105
|
-
});
|
|
106
|
-
suiteTeardown(function () {
|
|
107
|
-
// restore spec.devEnvironments.persistUserHome.enabled to original value
|
|
108
|
-
const restoreResult = shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
109
|
-
`-p '{"spec":{"devEnvironments":{"persistUserHome":{"enabled": ${defaultPersistentHomeValue}}}}}'`);
|
|
110
|
-
(0, chai_1.expect)(restoreResult.code).to.equal(0, 'Failed to restore CheCluster persistUserHome setting');
|
|
111
|
-
});
|
|
112
|
-
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
113
|
-
await dashboard.openDashboard();
|
|
114
|
-
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
115
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
116
|
-
});
|
|
117
|
-
suiteTeardown('Unregister running workspace', function () {
|
|
118
|
-
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=KubedockPodmanPersistUserHomeTest.spec.js.map
|