@eclipse-che/che-e2e 7.48.2-dev-b683f50 → 7.50.0-dev-25a3c8c
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/dist/TestConstants.js +216 -0
- package/dist/TestConstants.js.map +1 -0
- package/dist/TimeoutConstants.js +184 -0
- package/dist/TimeoutConstants.js.map +1 -0
- package/dist/driver/CheReporter.js +180 -0
- package/dist/driver/CheReporter.js.map +1 -0
- package/dist/driver/ChromeDriver.js +75 -0
- package/dist/driver/ChromeDriver.js.map +1 -0
- package/dist/driver/IDriver.js +3 -0
- package/dist/driver/IDriver.js.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/inversify.config.js +130 -0
- package/dist/inversify.config.js.map +1 -0
- package/dist/inversify.types.js +75 -0
- package/dist/inversify.types.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +65 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
- package/dist/pageobjects/dashboard/Dashboard.js +115 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
- package/dist/pageobjects/dashboard/Workspaces.js +157 -0
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +140 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +99 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
- package/dist/pageobjects/ide/ContextMenu.js +66 -0
- package/dist/pageobjects/ide/ContextMenu.js.map +1 -0
- package/dist/pageobjects/ide/DebugView.js +98 -0
- package/dist/pageobjects/ide/DebugView.js.map +1 -0
- package/dist/pageobjects/ide/DialogWindow.js +102 -0
- package/dist/pageobjects/ide/DialogWindow.js.map +1 -0
- package/dist/pageobjects/ide/Editor.js +464 -0
- package/dist/pageobjects/ide/Editor.js.map +1 -0
- package/dist/pageobjects/ide/Ide.js +336 -0
- package/dist/pageobjects/ide/Ide.js.map +1 -0
- package/dist/pageobjects/ide/LeftToolBar.js +81 -0
- package/dist/pageobjects/ide/LeftToolBar.js.map +1 -0
- package/dist/pageobjects/ide/NavigationBar.js +57 -0
- package/dist/pageobjects/ide/NavigationBar.js.map +1 -0
- package/dist/pageobjects/ide/NotificationCenter.js +76 -0
- package/dist/pageobjects/ide/NotificationCenter.js.map +1 -0
- package/dist/pageobjects/ide/OpenDialogWidget.js +100 -0
- package/dist/pageobjects/ide/OpenDialogWidget.js.map +1 -0
- package/dist/pageobjects/ide/OpenEditors.js +73 -0
- package/dist/pageobjects/ide/OpenEditors.js.map +1 -0
- package/dist/pageobjects/ide/OpenWorkspaceWidget.js +62 -0
- package/dist/pageobjects/ide/OpenWorkspaceWidget.js.map +1 -0
- package/dist/pageobjects/ide/PreviewWidget.js +134 -0
- package/dist/pageobjects/ide/PreviewWidget.js.map +1 -0
- package/dist/pageobjects/ide/ProjectTree.js +276 -0
- package/dist/pageobjects/ide/ProjectTree.js.map +1 -0
- package/dist/pageobjects/ide/QuickOpenContainer.js +70 -0
- package/dist/pageobjects/ide/QuickOpenContainer.js.map +1 -0
- package/dist/pageobjects/ide/RightToolBar.js +51 -0
- package/dist/pageobjects/ide/RightToolBar.js.map +1 -0
- package/dist/pageobjects/ide/Terminal.js +184 -0
- package/dist/pageobjects/ide/Terminal.js.map +1 -0
- package/dist/pageobjects/ide/TopMenu.js +109 -0
- package/dist/pageobjects/ide/TopMenu.js.map +1 -0
- package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js +128 -0
- package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js.map +1 -0
- package/dist/pageobjects/ide/plugins/GitPlugin.js +120 -0
- package/dist/pageobjects/ide/plugins/GitPlugin.js.map +1 -0
- package/dist/pageobjects/ide/plugins/KubernetesPlugin.js +107 -0
- package/dist/pageobjects/ide/plugins/KubernetesPlugin.js.map +1 -0
- package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js +99 -0
- package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js.map +1 -0
- package/dist/pageobjects/ide/plugins/PluginsView.js +166 -0
- package/dist/pageobjects/ide/plugins/PluginsView.js.map +1 -0
- package/dist/pageobjects/login/ICheLoginPage.js +12 -0
- package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
- package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
- package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
- package/dist/tests/devfiles/CSlashCPlusPlus.spec.js +74 -0
- package/dist/tests/devfiles/CSlashCPlusPlus.spec.js.map +1 -0
- package/dist/tests/devfiles/DevfileSmoke.spec.js +48 -0
- package/dist/tests/devfiles/DevfileSmoke.spec.js.map +1 -0
- package/dist/tests/devfiles/DotNetCore.spec.js +82 -0
- package/dist/tests/devfiles/DotNetCore.spec.js.map +1 -0
- package/dist/tests/devfiles/Go.spec.js +73 -0
- package/dist/tests/devfiles/Go.spec.js.map +1 -0
- package/dist/tests/devfiles/JavaMaven.spec.js +61 -0
- package/dist/tests/devfiles/JavaMaven.spec.js.map +1 -0
- package/dist/tests/devfiles/JavaSpringBoot.spec.js +67 -0
- package/dist/tests/devfiles/JavaSpringBoot.spec.js.map +1 -0
- package/dist/tests/devfiles/JavaVertx.spec.js +61 -0
- package/dist/tests/devfiles/JavaVertx.spec.js.map +1 -0
- package/dist/tests/devfiles/NodeJS.spec.js +65 -0
- package/dist/tests/devfiles/NodeJS.spec.js.map +1 -0
- package/dist/tests/devfiles/PHPSimple.spec.js +75 -0
- package/dist/tests/devfiles/PHPSimple.spec.js.map +1 -0
- package/dist/tests/devfiles/Python.spec.js +59 -0
- package/dist/tests/devfiles/Python.spec.js.map +1 -0
- package/dist/tests/devfiles/PythonDjango.spec.js +62 -0
- package/dist/tests/devfiles/PythonDjango.spec.js.map +1 -0
- package/dist/tests/devfiles/Quarkus.spec.js +70 -0
- package/dist/tests/devfiles/Quarkus.spec.js.map +1 -0
- package/dist/tests/devfiles/Scala.spec.js +67 -0
- package/dist/tests/devfiles/Scala.spec.js.map +1 -0
- package/dist/tests/e2e/FactoryUrl.spec.js +45 -0
- package/dist/tests/e2e/FactoryUrl.spec.js.map +1 -0
- package/dist/tests/e2e/GitPublishBranch.spec.js +88 -0
- package/dist/tests/e2e/GitPublishBranch.spec.js.map +1 -0
- package/dist/tests/e2e/GitSelfSignCert.spec.js +83 -0
- package/dist/tests/e2e/GitSelfSignCert.spec.js.map +1 -0
- package/dist/tests/e2e/GitSsh.spec.js +117 -0
- package/dist/tests/e2e/GitSsh.spec.js.map +1 -0
- package/dist/tests/e2e/OpenshiftConnector.spec.js +122 -0
- package/dist/tests/e2e/OpenshiftConnector.spec.js.map +1 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +54 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js +52 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +52 -0
- package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js +276 -0
- package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/HappyPath.spec.js +309 -0
- package/dist/tests/e2e_happy_path/HappyPath.spec.js.map +1 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +43 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
- package/dist/tests/load_test/LoadTest.spec.js +44 -0
- package/dist/tests/load_test/LoadTest.spec.js.map +1 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
- package/dist/tests/login/Login.spec.js +28 -0
- package/dist/tests/login/Login.spec.js.map +1 -0
- package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js +123 -0
- package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/InstallPluginUsingUI.spec.js +69 -0
- package/dist/tests/plugins/InstallPluginUsingUI.spec.js.map +1 -0
- package/dist/tests/plugins/JavaPlugin.spec.js +86 -0
- package/dist/tests/plugins/JavaPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/PhpPlugin.spec.js +94 -0
- package/dist/tests/plugins/PhpPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/PythonPlugin.spec.js +76 -0
- package/dist/tests/plugins/PythonPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/TypescriptPlugin.spec.js +139 -0
- package/dist/tests/plugins/TypescriptPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js +76 -0
- package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js +89 -0
- package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/VscodeValePlugin.spec.js +77 -0
- package/dist/tests/plugins/VscodeValePlugin.spec.js.map +1 -0
- package/dist/tests/plugins/VscodeXmlPlugin.spec.js +90 -0
- package/dist/tests/plugins/VscodeXmlPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/VscodeYamlPlugin.spec.js +87 -0
- package/dist/tests/plugins/VscodeYamlPlugin.spec.js.map +1 -0
- package/dist/testsLibrary/CodeExecutionTests.js +232 -0
- package/dist/testsLibrary/CodeExecutionTests.js.map +1 -0
- package/dist/testsLibrary/LanguageServerTests.js +230 -0
- package/dist/testsLibrary/LanguageServerTests.js.map +1 -0
- package/dist/testsLibrary/ProjectAndFileTests.js +105 -0
- package/dist/testsLibrary/ProjectAndFileTests.js.map +1 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js +91 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
- package/dist/utils/AnimationChecker.js +45 -0
- package/dist/utils/AnimationChecker.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +115 -0
- package/dist/utils/BrowserTabsUtil.js.map +1 -0
- package/dist/utils/DriverHelper.js +616 -0
- package/dist/utils/DriverHelper.js.map +1 -0
- package/dist/utils/Logger.js +84 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/PreferencesHandler.js +142 -0
- package/dist/utils/PreferencesHandler.js.map +1 -0
- package/dist/utils/Sanitizer.js +29 -0
- package/dist/utils/Sanitizer.js.map +1 -0
- package/dist/utils/ScreenCatcher.js +107 -0
- package/dist/utils/ScreenCatcher.js.map +1 -0
- package/dist/utils/VCS/CheGitApi.js +42 -0
- package/dist/utils/VCS/CheGitApi.js.map +1 -0
- package/dist/utils/VCS/github/GitHubUtil.js +126 -0
- package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
- package/dist/utils/WorkspaceNameHandler.js +60 -0
- package/dist/utils/WorkspaceNameHandler.js.map +1 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +34 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +35 -0
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/IApiUrlResolver.js +12 -0
- package/dist/utils/workspace/IApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js +359 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/WorkspaceStatus.js +19 -0
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
- package/driver/CheReporter.ts +2 -2
- package/index.ts +2 -1
- package/inversify.config.ts +5 -4
- package/inversify.types.ts +5 -3
- package/package.json +2 -2
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +3 -3
- package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +3 -3
- package/tests/e2e/FactoryUrl.spec.ts +2 -2
- package/tests/e2e/GitPublishBranch.spec.ts +1 -1
- package/tests/e2e/GitSelfSignCert.spec.ts +1 -1
- package/tests/e2e/GitSsh.spec.ts +1 -1
- package/tests/e2e/OpenshiftConnector.spec.ts +1 -1
- package/tests/load_test/LoadTest.spec.ts +1 -1
- package/utils/requestHandlers/CheApiRequestHandler.ts +6 -0
- package/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +6 -3
- package/utils/workspace/ApiUrlResolver.ts +27 -0
- package/utils/workspace/IApiUrlResolver.ts +15 -0
- package/utils/workspace/TestWorkspaceUtil.ts +157 -29
- package/utils/workspace/WorkspaceStatus.ts +3 -3
- package/utils/workspace/ITestWorkspaceUtil.ts +0 -26
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019 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
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
12
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
|
+
};
|
|
17
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
19
|
+
};
|
|
20
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
21
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
22
|
+
};
|
|
23
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
|
+
};
|
|
26
|
+
var TestWorkspaceUtil_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.TestWorkspaceUtil = void 0;
|
|
29
|
+
const TestConstants_1 = require("../../TestConstants");
|
|
30
|
+
const inversify_1 = require("inversify");
|
|
31
|
+
const DriverHelper_1 = require("../DriverHelper");
|
|
32
|
+
const ApiUrlResolver_1 = require("./ApiUrlResolver");
|
|
33
|
+
require("reflect-metadata");
|
|
34
|
+
const WorkspaceStatus_1 = require("./WorkspaceStatus");
|
|
35
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
36
|
+
const CheApiRequestHandler_1 = require("../requestHandlers/CheApiRequestHandler");
|
|
37
|
+
const inversify_types_1 = require("../../inversify.types");
|
|
38
|
+
const Logger_1 = require("../Logger");
|
|
39
|
+
const axios_1 = __importDefault(require("axios"));
|
|
40
|
+
let TestWorkspaceUtil = TestWorkspaceUtil_1 = class TestWorkspaceUtil {
|
|
41
|
+
constructor(driverHelper, processRequestHandler, apiUrlResolver) {
|
|
42
|
+
this.driverHelper = driverHelper;
|
|
43
|
+
this.processRequestHandler = processRequestHandler;
|
|
44
|
+
this.apiUrlResolver = apiUrlResolver;
|
|
45
|
+
this.attempts = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS;
|
|
46
|
+
this.polling = TestConstants_1.TestConstants.TS_SELENIUM_WORKSPACE_STATUS_POLLING;
|
|
47
|
+
}
|
|
48
|
+
async waitWorkspaceStatus(namespace, workspaceName, expectedWorkspaceStatus) {
|
|
49
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.waitWorkspaceStatus');
|
|
50
|
+
let workspaceStatus = '';
|
|
51
|
+
let expectedStatus = false;
|
|
52
|
+
for (let i = 0; i < this.attempts; i++) {
|
|
53
|
+
const response = await this.processRequestHandler.get(this.apiUrlResolver.getWorkspaceApiUrl(namespace, workspaceName));
|
|
54
|
+
if (response.status !== 200) {
|
|
55
|
+
throw new Error(`Can not get status of a workspace. Code: ${response.status} Data: ${response.data}`);
|
|
56
|
+
}
|
|
57
|
+
workspaceStatus = await response.data.status.phase;
|
|
58
|
+
if (workspaceStatus === expectedWorkspaceStatus) {
|
|
59
|
+
expectedStatus = true;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
await this.driverHelper.wait(this.polling);
|
|
63
|
+
}
|
|
64
|
+
if (!expectedStatus) {
|
|
65
|
+
let waitTime = this.attempts * this.polling;
|
|
66
|
+
throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${workspaceStatus}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async stopWorkspaceByName(namespace, workspaceName) {
|
|
70
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceByName');
|
|
71
|
+
const stopWorkspaceApiUrl = this.apiUrlResolver.getWorkspaceApiUrl(namespace, workspaceName);
|
|
72
|
+
let stopWorkspaceResponse;
|
|
73
|
+
try {
|
|
74
|
+
stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [{ 'op': 'replace', 'path': '/spec/started', 'value': false }]);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
|
|
78
|
+
throw err;
|
|
79
|
+
}
|
|
80
|
+
if (stopWorkspaceResponse.status !== 200) {
|
|
81
|
+
throw new Error(`Cannot stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
|
|
82
|
+
}
|
|
83
|
+
await this.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus_1.WorkspaceStatus.STOPPED);
|
|
84
|
+
}
|
|
85
|
+
// delete a worksapce without stopping phase (similar with force deleting)
|
|
86
|
+
async deleteWorkspaceByName(namespace, workspaceName) {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
Logger_1.Logger.debug(`TestWorkspaceUtil.deleteWorkspaceByName ${workspaceName}`);
|
|
89
|
+
const deleteWorkspaceApiUrl = this.apiUrlResolver.getWorkspaceApiUrl(namespace, workspaceName);
|
|
90
|
+
let deleteWorkspaceResponse;
|
|
91
|
+
let deleteWorkspaceStatus = false;
|
|
92
|
+
try {
|
|
93
|
+
deleteWorkspaceResponse = await this.processRequestHandler.delete(deleteWorkspaceApiUrl);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
|
|
97
|
+
Logger_1.Logger.error(`The workspace :${workspaceName} not found`);
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
Logger_1.Logger.error(`Delete workspace call failed. URL used: ${deleteWorkspaceStatus}`);
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
if (deleteWorkspaceResponse.status !== 204) {
|
|
104
|
+
throw new Error(`Can not delete workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
|
|
105
|
+
}
|
|
106
|
+
for (let i = 0; i < this.attempts; i++) {
|
|
107
|
+
try {
|
|
108
|
+
deleteWorkspaceResponse = await this.processRequestHandler.get(deleteWorkspaceApiUrl);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if (axios_1.default.isAxiosError(error) && ((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {
|
|
112
|
+
deleteWorkspaceStatus = true;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (!deleteWorkspaceStatus) {
|
|
118
|
+
let waitTime = this.attempts * this.polling;
|
|
119
|
+
throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms.`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// stop workspace before deleting with checking stopping phase
|
|
123
|
+
async stopAndDeleteWorkspaceByName(namespace, workspaceName) {
|
|
124
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.stopAndDeleteWorkspaceByName');
|
|
125
|
+
await this.stopWorkspaceByName(namespace, workspaceName);
|
|
126
|
+
await this.deleteWorkspaceByName(namespace, workspaceName);
|
|
127
|
+
}
|
|
128
|
+
// stop all run workspaces in the namespace
|
|
129
|
+
async stopAllRunningWorkspaces(namespace) {
|
|
130
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.stopAllRunProjects');
|
|
131
|
+
let response = await this.processRequestHandler.get(this.apiUrlResolver.getWorkspacesApiUrl(namespace));
|
|
132
|
+
for (let i = 0; i < response.data.items.length; i++) {
|
|
133
|
+
Logger_1.Logger.info('The project is being stopped: ' + response.data.items[i].metadata.name);
|
|
134
|
+
await this.stopWorkspaceByName(namespace, response.data.items[i].metadata.name);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// stop all run workspaces, check statused and remove the workspaces
|
|
138
|
+
async stopAndDeleteAllRunningWorkspaces(namespace) {
|
|
139
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.stopAndDeleteAllRunProjects');
|
|
140
|
+
let response = await this.processRequestHandler.get(this.apiUrlResolver.getWorkspacesApiUrl(namespace));
|
|
141
|
+
await this.stopAllRunningWorkspaces(namespace);
|
|
142
|
+
for (let i = 0; i < response.data.items.length; i++) {
|
|
143
|
+
Logger_1.Logger.info('The project is being deleted: ' + response.data.items[i].metadata.name);
|
|
144
|
+
await this.deleteWorkspaceByName(namespace, response.data.items[i].metadata.name);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// stop all run workspaces without stopping and waiting for of 'Stopped' phase
|
|
148
|
+
// similar with 'force' deleting
|
|
149
|
+
async deleteAllWorkspaces(namespace) {
|
|
150
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.deleteAllRunProjects');
|
|
151
|
+
let response = await this.processRequestHandler.get(this.apiUrlResolver.getWorkspacesApiUrl(namespace));
|
|
152
|
+
for (let i = 0; i < response.data.items.length; i++) {
|
|
153
|
+
Logger_1.Logger.info('The project is being deleted .......: ' + response.data.items[i].metadata.name);
|
|
154
|
+
await this.deleteWorkspaceByName(namespace, response.data.items[i].metadata.name);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
159
|
+
*/
|
|
160
|
+
async waitPluginAdding(namespace, workspaceName, pluginName) {
|
|
161
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.waitPluginAdding');
|
|
162
|
+
const workspaceStatusApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${namespace}:${workspaceName}`;
|
|
163
|
+
const attempts = TestConstants_1.TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS;
|
|
164
|
+
const polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING;
|
|
165
|
+
for (let i = 0; i < attempts; i++) {
|
|
166
|
+
const response = await this.processRequestHandler.get(workspaceStatusApiUrl);
|
|
167
|
+
if (response.status !== 200) {
|
|
168
|
+
await this.driverHelper.wait(polling);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const machines = JSON.stringify(response.data.runtime.machines);
|
|
172
|
+
const isPluginPresent = machines.search(pluginName) > 0;
|
|
173
|
+
if (isPluginPresent) {
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
if (i === attempts - 1) {
|
|
177
|
+
throw new selenium_webdriver_1.error.TimeoutError(`Exceeded maximum tries attempts, the '${pluginName}' plugin is not present in the workspace runtime.`);
|
|
178
|
+
}
|
|
179
|
+
await this.driverHelper.wait(polling);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
184
|
+
*/
|
|
185
|
+
async getListOfWorkspaceId() {
|
|
186
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.getListOfWorkspaceId');
|
|
187
|
+
const getAllWorkspacesResponse = await this.processRequestHandler.get(TestWorkspaceUtil_1.WORKSPACE_API_URL);
|
|
188
|
+
let stringified = JSON.stringify(getAllWorkspacesResponse.data);
|
|
189
|
+
let arrayOfWorkspaces = JSON.parse(stringified);
|
|
190
|
+
let wsList = [];
|
|
191
|
+
for (let entry of arrayOfWorkspaces) {
|
|
192
|
+
wsList.push(entry.id);
|
|
193
|
+
}
|
|
194
|
+
return wsList;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
198
|
+
*/
|
|
199
|
+
async getIdOfRunningWorkspace(wsName) {
|
|
200
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspace');
|
|
201
|
+
const getWorkspacesByNameResponse = await this.processRequestHandler.get(`${TestWorkspaceUtil_1.WORKSPACE_API_URL}/:${wsName}`);
|
|
202
|
+
return getWorkspacesByNameResponse.data.id;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
206
|
+
*/
|
|
207
|
+
async getIdOfRunningWorkspaces() {
|
|
208
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.getIdOfRunningWorkspaces');
|
|
209
|
+
try {
|
|
210
|
+
const getAllWorkspacesResponse = await this.processRequestHandler.get(TestWorkspaceUtil_1.WORKSPACE_API_URL);
|
|
211
|
+
let stringified = JSON.stringify(getAllWorkspacesResponse.data);
|
|
212
|
+
let arrayOfWorkspaces = JSON.parse(stringified);
|
|
213
|
+
let idOfRunningWorkspace = new Array();
|
|
214
|
+
for (let entry of arrayOfWorkspaces) {
|
|
215
|
+
if (entry.status === 'RUNNING') {
|
|
216
|
+
idOfRunningWorkspace.push(entry.id);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return idOfRunningWorkspace;
|
|
220
|
+
}
|
|
221
|
+
catch (err) {
|
|
222
|
+
console.log(`Getting id of running workspaces failed. URL used: ${TestWorkspaceUtil_1.WORKSPACE_API_URL}`);
|
|
223
|
+
throw err;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
228
|
+
*/
|
|
229
|
+
async removeWorkspaceById(id) {
|
|
230
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.removeWorkspaceById');
|
|
231
|
+
const workspaceIdUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
|
|
232
|
+
try {
|
|
233
|
+
const deleteWorkspaceResponse = await this.processRequestHandler.delete(workspaceIdUrl);
|
|
234
|
+
if (deleteWorkspaceResponse.status !== 204) {
|
|
235
|
+
throw new Error(`Can not remove workspace. Code: ${deleteWorkspaceResponse.status} Data: ${deleteWorkspaceResponse.data}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch (err) {
|
|
239
|
+
console.log(`Removing of workspace failed.`);
|
|
240
|
+
throw err;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
245
|
+
*/
|
|
246
|
+
async stopWorkspaceById(id) {
|
|
247
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.stopWorkspaceById');
|
|
248
|
+
const stopWorkspaceApiUrl = `${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${id}`;
|
|
249
|
+
let stopWorkspaceResponse;
|
|
250
|
+
try {
|
|
251
|
+
stopWorkspaceResponse = await this.processRequestHandler.delete(`${stopWorkspaceApiUrl}`);
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
console.log(`Stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
|
|
255
|
+
throw err;
|
|
256
|
+
}
|
|
257
|
+
if (stopWorkspaceResponse.status !== 200) {
|
|
258
|
+
throw new Error(`Can not stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
|
|
259
|
+
}
|
|
260
|
+
let stopped = false;
|
|
261
|
+
let wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
|
|
262
|
+
for (let i = 0; i < TestConstants_1.TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS; i++) {
|
|
263
|
+
wsStatus = await this.processRequestHandler.get(stopWorkspaceApiUrl);
|
|
264
|
+
if (wsStatus.data.status === WorkspaceStatus_1.WorkspaceStatus.STOPPED) {
|
|
265
|
+
stopped = true;
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
await this.driverHelper.wait(TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING);
|
|
269
|
+
}
|
|
270
|
+
if (!stopped) {
|
|
271
|
+
let waitTime = TestConstants_1.TestConstants.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS * TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING;
|
|
272
|
+
throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Currnet status is: ${wsStatus.data.status}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
277
|
+
*/
|
|
278
|
+
async cleanUpAllWorkspaces() {
|
|
279
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.cleanUpAllWorkspaces');
|
|
280
|
+
let listOfRunningWorkspaces = await this.getIdOfRunningWorkspaces();
|
|
281
|
+
for (const entry of listOfRunningWorkspaces) {
|
|
282
|
+
await this.stopWorkspaceById(entry);
|
|
283
|
+
}
|
|
284
|
+
let listAllWorkspaces = await this.getListOfWorkspaceId();
|
|
285
|
+
for (const entry of listAllWorkspaces) {
|
|
286
|
+
await this.removeWorkspaceById(entry);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
291
|
+
*/
|
|
292
|
+
async cleanUpRunningWorkspace(workspaceName) {
|
|
293
|
+
if (workspaceName === undefined || workspaceName.length === 0) {
|
|
294
|
+
Logger_1.Logger.warn(`Could nod delete workspace because workspaceName is undefined or empty`);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
Logger_1.Logger.debug(`TestWorkspaceUtil.cleanUpRunningWorkspace ${workspaceName}`);
|
|
298
|
+
const workspaceID = await this.getIdOfRunningWorkspace(workspaceName);
|
|
299
|
+
if (workspaceID === undefined || workspaceID.length === 0) {
|
|
300
|
+
Logger_1.Logger.error(`Could nod delete workspace with name ${workspaceName} because workspaceID is undefined or empty`);
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
Logger_1.Logger.trace(`TestWorkspaceUtil.cleanUpRunningWorkspace Stopping workspace:${workspaceName} with ID:${workspaceID}`);
|
|
304
|
+
await this.stopWorkspaceById(workspaceID);
|
|
305
|
+
Logger_1.Logger.trace(`TestWorkspaceUtil.cleanUpRunningWorkspace Deleting workspace ${workspaceName}`);
|
|
306
|
+
await this.removeWorkspaceById(workspaceID);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
310
|
+
*/
|
|
311
|
+
async createWsFromDevFile(customTemplate) {
|
|
312
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.createWsFromDevFile');
|
|
313
|
+
try {
|
|
314
|
+
await this.processRequestHandler.post(TestWorkspaceUtil_1.WORKSPACE_API_URL + '/devfile', customTemplate);
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
console.error(error);
|
|
318
|
+
throw error;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
323
|
+
*/
|
|
324
|
+
async getBaseDevfile() {
|
|
325
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.getBaseDevfile');
|
|
326
|
+
const baseDevfile = {
|
|
327
|
+
apiVersion: '1.0.0',
|
|
328
|
+
metadata: {
|
|
329
|
+
name: 'test-workspace'
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
return baseDevfile;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* @deprecated Method deprecated. Works with CHE server only
|
|
336
|
+
*/
|
|
337
|
+
async startWorkspace(workspaceId) {
|
|
338
|
+
Logger_1.Logger.debug('TestWorkspaceUtil.startWorkspace');
|
|
339
|
+
try {
|
|
340
|
+
await this.processRequestHandler.post(`${TestWorkspaceUtil_1.WORKSPACE_API_URL}/${workspaceId}/runtime`);
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
console.error(error);
|
|
344
|
+
throw error;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
TestWorkspaceUtil.WORKSPACE_API_URL = 'dashboard/api/namespace';
|
|
349
|
+
TestWorkspaceUtil = TestWorkspaceUtil_1 = __decorate([
|
|
350
|
+
inversify_1.injectable(),
|
|
351
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
352
|
+
__param(1, inversify_1.inject(inversify_types_1.CLASSES.CheApiRequestHandler)),
|
|
353
|
+
__param(2, inversify_1.inject(inversify_types_1.CLASSES.ApiUrlResolver)),
|
|
354
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
355
|
+
CheApiRequestHandler_1.CheApiRequestHandler,
|
|
356
|
+
ApiUrlResolver_1.ApiUrlResolver])
|
|
357
|
+
], TestWorkspaceUtil);
|
|
358
|
+
exports.TestWorkspaceUtil = TestWorkspaceUtil;
|
|
359
|
+
//# sourceMappingURL=TestWorkspaceUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019 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
|
+
exports.WorkspaceStatus = void 0;
|
|
13
|
+
var WorkspaceStatus;
|
|
14
|
+
(function (WorkspaceStatus) {
|
|
15
|
+
WorkspaceStatus["RUNNING"] = "Running";
|
|
16
|
+
WorkspaceStatus["STOPPED"] = "Stopped";
|
|
17
|
+
WorkspaceStatus["STARTING"] = "Starting";
|
|
18
|
+
})(WorkspaceStatus = exports.WorkspaceStatus || (exports.WorkspaceStatus = {}));
|
|
19
|
+
//# sourceMappingURL=WorkspaceStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceStatus.js","sourceRoot":"","sources":["../../../utils/workspace/WorkspaceStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAEvE,IAAY,eAIZ;AAJA,WAAY,eAAe;IACxB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACzB,CAAC,EAJY,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI3B"}
|
package/driver/CheReporter.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { TestConstants } from '../TestConstants';
|
|
|
17
17
|
import { logging } from 'selenium-webdriver';
|
|
18
18
|
import { DriverHelper } from '../utils/DriverHelper';
|
|
19
19
|
import { ScreenCatcher } from '../utils/ScreenCatcher';
|
|
20
|
-
import {
|
|
20
|
+
import { TestWorkspaceUtil } from '../utils/workspace/TestWorkspaceUtil';
|
|
21
21
|
// import { PreferencesHandler } from '../utils/PreferencesHandler';
|
|
22
22
|
import { CheApiRequestHandler } from '../utils/requestHandlers/CheApiRequestHandler';
|
|
23
23
|
import { TimeoutConstants } from '../TimeoutConstants';
|
|
@@ -31,7 +31,7 @@ const screenCatcher: ScreenCatcher = e2eContainer.get(CLASSES.ScreenCatcher);
|
|
|
31
31
|
const sanitizer: Sanitizer = e2eContainer.get(CLASSES.Sanitizer);
|
|
32
32
|
let methodIndex: number = 0;
|
|
33
33
|
let deleteScreencast: boolean = true;
|
|
34
|
-
let testWorkspaceUtil:
|
|
34
|
+
let testWorkspaceUtil: TestWorkspaceUtil = e2eContainer.get(CLASSES.WorkspaceUtil);
|
|
35
35
|
// let preferencesHandler: PreferencesHandler = e2eContainer.get(CLASSES.PreferencesHandler);
|
|
36
36
|
|
|
37
37
|
class CheReporter extends mocha.reporters.Spec {
|
package/index.ts
CHANGED
|
@@ -20,7 +20,8 @@ export * from './utils/Sanitizer';
|
|
|
20
20
|
export * from './utils/ScreenCatcher';
|
|
21
21
|
export * from './utils/VCS/CheGitApi';
|
|
22
22
|
export * from './utils/VCS/github/GitHubUtil';
|
|
23
|
-
export * from './utils/workspace/
|
|
23
|
+
export * from './utils/workspace/ApiUrlResolver';
|
|
24
|
+
export * from './utils/workspace/IApiUrlResolver';
|
|
24
25
|
export * from './utils/WorkspaceNameHandler';
|
|
25
26
|
export * from './utils/workspace/TestWorkspaceUtil';
|
|
26
27
|
export * from './utils/workspace/WorkspaceStatus';
|
package/inversify.config.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { Container } from 'inversify';
|
|
|
12
12
|
import { IDriver } from './driver/IDriver';
|
|
13
13
|
import { ChromeDriver } from './driver/ChromeDriver';
|
|
14
14
|
import { TYPES, CLASSES } from './inversify.types';
|
|
15
|
-
import { ITestWorkspaceUtil } from './utils/workspace/ITestWorkspaceUtil';
|
|
16
15
|
import { TestWorkspaceUtil } from './utils/workspace/TestWorkspaceUtil';
|
|
17
16
|
import { IOcpLoginPage } from './pageobjects/login/IOcpLoginPage';
|
|
18
17
|
import { OcpUserLoginPage } from './pageobjects/login/OcpUserLoginPage';
|
|
@@ -70,13 +69,14 @@ import { AnimationChecker } from './utils/AnimationChecker';
|
|
|
70
69
|
import { WorkspaceNameHandler } from './utils/WorkspaceNameHandler';
|
|
71
70
|
import { Sanitizer } from './utils/Sanitizer';
|
|
72
71
|
import { NavigationBar } from './pageobjects/ide/NavigationBar';
|
|
72
|
+
import { ApiUrlResolver } from './utils/workspace/ApiUrlResolver';
|
|
73
|
+
import { IApiUrlResolver } from './utils/workspace/IApiUrlResolver';
|
|
74
|
+
|
|
73
75
|
|
|
74
76
|
const e2eContainer: Container = new Container({ defaultScope: 'Transient' });
|
|
75
77
|
|
|
76
78
|
e2eContainer.bind<IDriver>(TYPES.Driver).to(ChromeDriver).inSingletonScope();
|
|
77
|
-
e2eContainer.bind<ITestWorkspaceUtil>(TYPES.WorkspaceUtil).to(TestWorkspaceUtil);
|
|
78
79
|
e2eContainer.bind<IOcpLoginPage>(TYPES.OcpLogin).to(OcpUserLoginPage);
|
|
79
|
-
|
|
80
80
|
e2eContainer.bind<IAuthorizationHeaderHandler>(TYPES.IAuthorizationHeaderHandler).to(CheMultiuserAuthorizationHeaderHandler);
|
|
81
81
|
e2eContainer.bind<ITokenHandler>(TYPES.ITokenHandler).to(CheMultiuserTokenHandler);
|
|
82
82
|
|
|
@@ -132,5 +132,6 @@ e2eContainer.bind<GitOauthAppsSettings>(CLASSES.GitOauthAppsSettings).to(GitOaut
|
|
|
132
132
|
e2eContainer.bind<AnimationChecker>(CLASSES.AnimationChecker).to(AnimationChecker);
|
|
133
133
|
e2eContainer.bind<Sanitizer>(CLASSES.Sanitizer).to(Sanitizer);
|
|
134
134
|
e2eContainer.bind<NavigationBar>(CLASSES.NavigationBar).to(NavigationBar);
|
|
135
|
-
|
|
135
|
+
e2eContainer.bind<IApiUrlResolver>(CLASSES.ApiUrlResolver).to(ApiUrlResolver);
|
|
136
|
+
e2eContainer.bind<TestWorkspaceUtil>(CLASSES.WorkspaceUtil).to(TestWorkspaceUtil);
|
|
136
137
|
export { e2eContainer };
|
package/inversify.types.ts
CHANGED
|
@@ -13,12 +13,13 @@ const TYPES = {
|
|
|
13
13
|
Driver: Symbol.for('Driver'),
|
|
14
14
|
CheLogin: Symbol.for('CheLogin'),
|
|
15
15
|
OcpLogin: Symbol.for('OcpLogin'),
|
|
16
|
-
WorkspaceUtil: Symbol.for('WorkspaceUtil'),
|
|
17
16
|
IAuthorizationHeaderHandler: Symbol.for('IAuthorizationHeaderHandler'),
|
|
18
|
-
ITokenHandler: Symbol.for('ITokenHandler')
|
|
17
|
+
ITokenHandler: Symbol.for('ITokenHandler'),
|
|
18
|
+
IApiUrlResolver: Symbol.for('IApiUrlResolver')
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
const CLASSES = {
|
|
22
|
+
WorkspaceUtil: 'WorkspaceUtil',
|
|
22
23
|
DriverHelper: 'DriverHelper',
|
|
23
24
|
Dashboard: 'Dashboard',
|
|
24
25
|
Workspaces: 'Workspaces',
|
|
@@ -66,7 +67,8 @@ const CLASSES = {
|
|
|
66
67
|
GitOauthAppsSettings: 'GitOauthAppsSettings',
|
|
67
68
|
AnimationChecker: 'AnimationChecker',
|
|
68
69
|
Sanitizer: 'Sanitizer',
|
|
69
|
-
NavigationBar: 'NavigationBar'
|
|
70
|
+
NavigationBar: 'NavigationBar',
|
|
71
|
+
ApiUrlResolver: 'ApiUrlResolver'
|
|
70
72
|
};
|
|
71
73
|
|
|
72
74
|
export { TYPES, CLASSES };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.50.0-dev-25a3c8c",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"typescript": "3.9.9"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@eclipse-che/api": "
|
|
52
|
+
"@eclipse-che/api": "latest",
|
|
53
53
|
"inversify": "5.0.1",
|
|
54
54
|
"reflect-metadata": "0.1.13"
|
|
55
55
|
},
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
import { DriverHelper } from '../../../utils/DriverHelper';
|
|
11
11
|
import { injectable, inject } from 'inversify';
|
|
12
|
-
import { CLASSES
|
|
12
|
+
import { CLASSES } from '../../../inversify.types';
|
|
13
13
|
import 'reflect-metadata';
|
|
14
14
|
import { TestConstants } from '../../../TestConstants';
|
|
15
15
|
import { By } from 'selenium-webdriver';
|
|
16
16
|
import { Ide } from '../../ide/Ide';
|
|
17
|
-
import {
|
|
17
|
+
import { TestWorkspaceUtil } from '../../../utils/workspace/TestWorkspaceUtil';
|
|
18
18
|
import { WorkspaceStatus } from '../../../utils/workspace/WorkspaceStatus';
|
|
19
19
|
import { Logger } from '../../../utils/Logger';
|
|
20
20
|
import { TimeoutConstants } from '../../../TimeoutConstants';
|
|
@@ -29,7 +29,7 @@ export class WorkspaceDetails {
|
|
|
29
29
|
private static readonly WORKSPACE_DETAILS_LOADER_CSS: string = 'workspace-details-overview md-progress-linear';
|
|
30
30
|
|
|
31
31
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
32
|
-
@inject(
|
|
32
|
+
@inject(CLASSES.WorkspaceUtil) private readonly testWorkspaceUtil: TestWorkspaceUtil) { }
|
|
33
33
|
|
|
34
34
|
async waitLoaderDisappearance(attempts: number = TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS, polling: number = TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
|
|
35
35
|
Logger.debug('WorkspaceDetails.waitLoaderDisappearance');
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
import { DriverHelper } from '../../../utils/DriverHelper';
|
|
11
11
|
import { injectable, inject } from 'inversify';
|
|
12
12
|
import 'reflect-metadata';
|
|
13
|
-
import { CLASSES
|
|
13
|
+
import { CLASSES } from '../../../inversify.types';
|
|
14
14
|
import { By } from 'selenium-webdriver';
|
|
15
15
|
import { WorkspaceDetails } from './WorkspaceDetails';
|
|
16
|
-
import {
|
|
16
|
+
import { TestWorkspaceUtil } from '../../../utils/workspace/TestWorkspaceUtil';
|
|
17
17
|
import { WorkspaceStatus } from '../../../utils/workspace/WorkspaceStatus';
|
|
18
18
|
import { Logger } from '../../../utils/Logger';
|
|
19
19
|
import { TimeoutConstants } from '../../../TimeoutConstants';
|
|
@@ -23,7 +23,7 @@ import { TimeoutConstants } from '../../../TimeoutConstants';
|
|
|
23
23
|
export class WorkspaceDetailsPlugins {
|
|
24
24
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
25
25
|
@inject(CLASSES.WorkspaceDetails) private readonly workspaceDetails: WorkspaceDetails,
|
|
26
|
-
@inject(
|
|
26
|
+
@inject(CLASSES.WorkspaceUtil) private readonly testWorkspaceUtil: TestWorkspaceUtil) { }
|
|
27
27
|
|
|
28
28
|
async waitPluginListItem(pluginName: string) {
|
|
29
29
|
Logger.debug(`WorkspaceDetailsPlugins.waitPluginListItem ${pluginName}`);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// **********************************************************************/
|
|
10
10
|
|
|
11
11
|
import { e2eContainer } from '../../inversify.config';
|
|
12
|
-
import { CLASSES
|
|
12
|
+
import { CLASSES } from '../../inversify.types';
|
|
13
13
|
import { TestConstants } from '../../TestConstants';
|
|
14
14
|
import { ProjectAndFileTests } from '../../testsLibrary/ProjectAndFileTests';
|
|
15
15
|
import CheReporter from '../../driver/CheReporter';
|
|
@@ -20,7 +20,7 @@ import { TestWorkspaceUtil } from '../../utils/workspace/TestWorkspaceUtil';
|
|
|
20
20
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
21
21
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
22
22
|
const workspaceNameHandler: WorkspaceNameHandler = e2eContainer.get(CLASSES.WorkspaceNameHandler);
|
|
23
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
23
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
24
24
|
|
|
25
25
|
const factoryUrl : string = `${TestConstants.TS_SELENIUM_BASE_URL}/f?url=https://raw.githubusercontent.com/eclipse/che-devfile-registry/master/devfiles/java-maven/devfile.yaml`;
|
|
26
26
|
const workspaceSampleName: string = 'console-java-simple';
|
|
@@ -34,7 +34,7 @@ const topMenu: TopMenu = e2eContainer.get(CLASSES.TopMenu);
|
|
|
34
34
|
const loginPage: ICheLoginPage = e2eContainer.get<ICheLoginPage>(TYPES.CheLogin);
|
|
35
35
|
const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
|
|
36
36
|
const gitPlugin: GitPlugin = e2eContainer.get(CLASSES.GitPlugin);
|
|
37
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
37
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
38
38
|
const workspaceNameHandler: WorkspaceNameHandler = e2eContainer.get(CLASSES.WorkspaceNameHandler);
|
|
39
39
|
|
|
40
40
|
const workspacePrefixUrl: string = `${TestConstants.TS_SELENIUM_BASE_URL}/dashboard/#/ide/${TestConstants.TS_SELENIUM_USERNAME}/`;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
const loginPage: ICheLoginPage = e2eContainer.get<ICheLoginPage>(TYPES.CheLogin);
|
|
34
34
|
const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
|
|
35
35
|
const gitPlugin: GitPlugin = e2eContainer.get(CLASSES.GitPlugin);
|
|
36
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
36
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
37
37
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
38
38
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
39
39
|
const editor: Editor = e2eContainer.get(CLASSES.Editor);
|
package/tests/e2e/GitSsh.spec.ts
CHANGED
|
@@ -39,7 +39,7 @@ const gitHubUtils: GitHubUtil = e2eContainer.get<GitHubUtil>(CLASSES.GitHubUtil)
|
|
|
39
39
|
const cheGitAPI: CheGitApi = e2eContainer.get(CLASSES.CheGitApi);
|
|
40
40
|
const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
|
|
41
41
|
const gitPlugin: GitPlugin = e2eContainer.get(CLASSES.GitPlugin);
|
|
42
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
42
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
43
43
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
44
44
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
45
45
|
const workspaceNameHandler: WorkspaceNameHandler = e2eContainer.get(CLASSES.WorkspaceNameHandler);
|
|
@@ -31,7 +31,7 @@ import CheReporter from '../../driver/CheReporter';
|
|
|
31
31
|
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
32
32
|
const ide: Ide = e2eContainer.get(CLASSES.Ide);
|
|
33
33
|
const loginPage: ICheLoginPage = e2eContainer.get<ICheLoginPage>(TYPES.CheLogin);
|
|
34
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
34
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
35
35
|
const openshiftPlugin: OpenshiftPlugin = e2eContainer.get(CLASSES.OpenshiftPlugin);
|
|
36
36
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
37
37
|
const quickOpenContainer: QuickOpenContainer = e2eContainer.get(CLASSES.QuickOpenContainer);
|
|
@@ -22,7 +22,7 @@ const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUti
|
|
|
22
22
|
const ide: Ide = e2eContainer.get(CLASSES.Ide);
|
|
23
23
|
const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
|
|
24
24
|
const cheLoginPage: ICheLoginPage = e2eContainer.get<ICheLoginPage>(TYPES.CheLogin);
|
|
25
|
-
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(
|
|
25
|
+
const testWorkspaceUtils: TestWorkspaceUtil = e2eContainer.get<TestWorkspaceUtil>(CLASSES.WorkspaceUtil);
|
|
26
26
|
const workspaceNameHandler: WorkspaceNameHandler = e2eContainer.get(CLASSES.WorkspaceNameHandler);
|
|
27
27
|
|
|
28
28
|
const workspaceName: string = workspaceNameHandler.generateWorkspaceName('wksp-test-', 5);
|