@eclipse-che/che-e2e 7.73.0 → 7.74.0-dev-41d1364
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +10 -0
- package/.eslintrc.js +183 -0
- package/.prettierignore +10 -0
- package/.prettierrc.json +10 -0
- package/README.md +47 -47
- package/configs/inversify.config.ts +14 -10
- package/configs/inversify.types.ts +29 -29
- package/configs/mocharc.ts +21 -24
- package/constants/API_TEST_CONSTANTS.ts +67 -0
- package/constants/BASE_TEST_CONSTANTS.ts +80 -0
- package/constants/CHROME_DRIVER_CONSTANTS.ts +54 -0
- package/constants/FACTORY_TEST_CONSTANTS.ts +61 -0
- package/constants/MONACO_CONSTANTS.ts +25 -0
- package/constants/OAUTH_CONSTANTS.ts +67 -0
- package/constants/PLUGIN_TEST_CONSTANTS.ts +15 -0
- package/constants/REPORTER_CONSTANTS.ts +53 -0
- package/constants/TIMEOUT_CONSTANTS.ts +131 -0
- package/dist/configs/inversify.config.js +14 -8
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +2 -2
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/configs/mocharc.js +13 -16
- package/dist/configs/mocharc.js.map +1 -1
- package/dist/constants/{APITestConstants.js → API_TEST_CONSTANTS.js} +13 -13
- package/dist/constants/API_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{BaseTestConstants.js → BASE_TEST_CONSTANTS.js} +17 -16
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{ChromeDriverConstants.js → CHROME_DRIVER_CONSTANTS.js} +14 -14
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +1 -0
- package/dist/constants/{FactoryTestConstants.js → FACTORY_TEST_CONSTANTS.js} +15 -14
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{MonacoConstants.js → MONACO_CONSTANTS.js} +8 -8
- package/dist/constants/MONACO_CONSTANTS.js.map +1 -0
- package/dist/constants/{OAuthConstants.js → OAUTH_CONSTANTS.js} +15 -15
- package/dist/constants/OAUTH_CONSTANTS.js.map +1 -0
- package/dist/constants/{PluginsTestConstants.js → PLUGIN_TEST_CONSTANTS.js} +7 -7
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/{ReporterConstants.js → REPORTER_CONSTANTS.js} +13 -13
- package/dist/constants/REPORTER_CONSTANTS.js.map +1 -0
- package/dist/constants/{TimeoutConstants.js → TIMEOUT_CONSTANTS.js} +24 -24
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -0
- package/dist/driver/ChromeDriver.js +12 -16
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +18 -18
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +27 -27
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/dashboard/Workspaces.js +42 -42
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +44 -33
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
- package/dist/pageobjects/git-providers/OauthPage.js +37 -35
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +10 -10
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -1
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js +2 -2
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +2 -2
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js +10 -10
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +1 -1
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +6 -6
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpLoginPage.js +23 -23
- package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +7 -7
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +7 -7
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js +11 -11
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +1 -1
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +10 -10
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpApplicationPage.js +7 -7
- package/dist/pageobjects/openshift/OcpApplicationPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js +9 -9
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpMainPage.js +15 -15
- package/dist/pageobjects/openshift/OcpMainPage.js.map +1 -1
- package/dist/specs/MochaHooks.js +27 -24
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +17 -13
- package/dist/specs/SmokeTest.spec.js.map +1 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js +10 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +1 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +31 -18
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +18 -12
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -1
- package/dist/specs/api/PodOverridesAPI.spec.js +12 -2
- package/dist/specs/api/PodOverridesAPI.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +12 -8
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +13 -9
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +47 -43
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +17 -10
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -1
- package/dist/specs/factory/Factory.spec.js +28 -26
- package/dist/specs/factory/Factory.spec.js.map +1 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +41 -36
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +37 -35
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +18 -5
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/dist/tests-library/LoginTests.js +7 -7
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/tests-library/ProjectAndFileTests.js +9 -7
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +61 -78
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/BrowserTabsUtil.js +29 -24
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/utils/CheReporter.js +44 -44
- package/dist/utils/CheReporter.js.map +1 -1
- package/dist/utils/DevWorkspaceConfigurationHelper.js +19 -10
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -1
- package/dist/utils/DevfilesRegistryHelper.js +25 -19
- package/dist/utils/DevfilesRegistryHelper.js.map +1 -1
- package/dist/utils/DriverHelper.js +126 -128
- package/dist/utils/DriverHelper.js.map +1 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +53 -46
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -1
- package/dist/utils/Logger.js +62 -39
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/ScreenCatcher.js +18 -12
- package/dist/utils/ScreenCatcher.js.map +1 -1
- package/dist/utils/ShellExecutor.js +9 -0
- package/dist/utils/ShellExecutor.js.map +1 -1
- package/dist/utils/StringUtil.js +17 -9
- package/dist/utils/StringUtil.js.map +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +36 -34
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +10 -6
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -1
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +2 -2
- package/dist/utils/workspace/ApiUrlResolver.js +5 -5
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
- package/dist/utils/workspace/ITestWorkspaceUtil.js +2 -2
- package/dist/utils/workspace/TestWorkspaceUtil.js +36 -30
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/dist/utils/workspace/WorkspaceStatus.js +2 -2
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -1
- package/driver/ChromeDriver.ts +45 -51
- package/driver/IDriver.ts +3 -3
- package/index.ts +9 -9
- package/package.json +59 -49
- package/pageobjects/dashboard/CreateWorkspace.ts +65 -56
- package/pageobjects/dashboard/Dashboard.ts +101 -100
- package/pageobjects/dashboard/Workspaces.ts +197 -166
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +151 -127
- package/pageobjects/git-providers/OauthPage.ts +177 -166
- package/pageobjects/ide/CheCodeLocatorLoader.ts +49 -46
- package/pageobjects/login/interfaces/ICheLoginPage.ts +3 -3
- package/pageobjects/login/interfaces/IOcpLoginPage.ts +3 -3
- package/pageobjects/login/kubernetes/DexLoginPage.ts +32 -31
- package/pageobjects/login/kubernetes/KubernetesLoginPage.ts +16 -15
- package/pageobjects/login/openshift/OcpLoginPage.ts +62 -55
- package/pageobjects/login/openshift/OcpRedHatLoginPage.ts +30 -25
- package/pageobjects/login/openshift/OcpUserLoginPage.ts +16 -19
- package/pageobjects/login/openshift/RedHatLoginPage.ts +49 -44
- package/pageobjects/login/openshift/RegularUserOcpCheLoginPage.ts +39 -35
- package/pageobjects/openshift/OcpApplicationPage.ts +21 -20
- package/pageobjects/openshift/OcpImportFromGitPage.ts +70 -68
- package/pageobjects/openshift/OcpMainPage.ts +69 -68
- package/resources/pod-overrides-airgap.yaml +37 -0
- package/specs/MochaHooks.ts +59 -50
- package/specs/SmokeTest.spec.ts +43 -36
- package/specs/api/ContainerOverridesAPI.spec.ts +33 -26
- package/specs/api/DevfileAcceptanceTestAPI.spec.ts +107 -94
- package/specs/api/EmptyWorkspaceAPI.spec.ts +62 -57
- package/specs/api/PodOverridesAPI.spec.ts +42 -32
- package/specs/dashboard-samples/EmptyWorkspace.spec.ts +31 -27
- package/specs/dashboard-samples/Quarkus.spec.ts +34 -30
- package/specs/dashboard-samples/RecommendedExtensions.spec.ts +192 -170
- package/specs/devconsole-intergration/DevConsoleIntegration.spec.ts +62 -55
- package/specs/factory/Factory.spec.ts +178 -166
- package/specs/factory/NoSetupRepoFactory.spec.ts +227 -210
- package/specs/factory/RefusedOAuthFactory.spec.ts +219 -203
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +64 -50
- package/tests-library/LoginTests.ts +34 -32
- package/tests-library/ProjectAndFileTests.ts +21 -18
- package/tests-library/WorkspaceHandlingTests.ts +98 -108
- package/tsconfig.json +15 -15
- package/utils/BrowserTabsUtil.ts +104 -98
- package/utils/CheReporter.ts +142 -148
- package/utils/DevWorkspaceConfigurationHelper.ts +70 -61
- package/utils/DevfilesRegistryHelper.ts +67 -58
- package/utils/DriverHelper.ts +726 -701
- package/utils/KubernetesCommandLineToolsExecutor.ts +196 -172
- package/utils/Logger.ts +104 -75
- package/utils/ScreenCatcher.ts +59 -48
- package/utils/ShellExecutor.ts +19 -11
- package/utils/StringUtil.ts +40 -32
- package/utils/request-handlers/CheApiRequestHandler.ts +92 -87
- package/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +32 -21
- package/utils/request-handlers/headers/IAuthorizationHeaderHandler.ts +3 -3
- package/utils/workspace/ApiUrlResolver.ts +31 -26
- package/utils/workspace/ITestWorkspaceUtil.ts +31 -31
- package/utils/workspace/TestWorkspaceUtil.ts +153 -142
- package/utils/workspace/WorkspaceStatus.ts +5 -5
- package/constants/APITestConstants.ts +0 -56
- package/constants/BaseTestConstants.ts +0 -65
- package/constants/ChromeDriverConstants.ts +0 -46
- package/constants/FactoryTestConstants.ts +0 -51
- package/constants/MonacoConstants.ts +0 -22
- package/constants/OAuthConstants.ts +0 -57
- package/constants/PluginsTestConstants.ts +0 -15
- package/constants/ReporterConstants.ts +0 -45
- package/constants/TimeoutConstants.ts +0 -113
- package/dist/constants/APITestConstants.js.map +0 -1
- package/dist/constants/BaseTestConstants.js.map +0 -1
- package/dist/constants/ChromeDriverConstants.js.map +0 -1
- package/dist/constants/FactoryTestConstants.js.map +0 -1
- package/dist/constants/MonacoConstants.js.map +0 -1
- package/dist/constants/OAuthConstants.js.map +0 -1
- package/dist/constants/PluginsTestConstants.js.map +0 -1
- package/dist/constants/ReporterConstants.js.map +0 -1
- package/dist/constants/TimeoutConstants.js.map +0 -1
- package/tslint.json +0 -126
package/dist/utils/StringUtil.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -20,34 +20,42 @@ const inversify_1 = require("inversify");
|
|
|
20
20
|
const Logger_1 = require("./Logger");
|
|
21
21
|
let StringUtil = class StringUtil {
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* method extracts a test repo name from git clone https url;
|
|
24
24
|
* it splits the url into string[] by "/" or ".", deletes empty elements and elements that contains just "git", "main" or "tree" word, than returns the last one;
|
|
25
25
|
* please, avoid to call the test repo as just "git" or to use dots in the name, like: github.com/user/git.git, github.com/user/name.with.dots.
|
|
26
26
|
* @param url git https url (which using for "git clone")
|
|
27
27
|
* @return project name
|
|
28
28
|
*/
|
|
29
29
|
static getProjectNameFromGitUrl(url) {
|
|
30
|
-
Logger_1.Logger.debug(`${
|
|
30
|
+
Logger_1.Logger.debug(`${url}`);
|
|
31
31
|
if (url.includes('?')) {
|
|
32
32
|
url = url.substring(0, url.indexOf('?'));
|
|
33
33
|
}
|
|
34
34
|
if (url.includes('/tree/')) {
|
|
35
35
|
url = url.split('/').slice(0, -2).join('/');
|
|
36
36
|
}
|
|
37
|
-
const projectName = url
|
|
38
|
-
|
|
37
|
+
const projectName = url
|
|
38
|
+
.split(/[\/.]/)
|
|
39
|
+
.filter((e) => !['git', ''].includes(e))
|
|
40
|
+
.reverse()[0];
|
|
41
|
+
Logger_1.Logger.debug(`${projectName}`);
|
|
39
42
|
return projectName;
|
|
40
43
|
}
|
|
41
44
|
static sanitizeTitle(arg) {
|
|
42
|
-
return arg
|
|
45
|
+
return arg
|
|
46
|
+
.replace(/\//g, '+')
|
|
47
|
+
.replace(/,/g, '.')
|
|
48
|
+
.replace(/:/g, '-')
|
|
49
|
+
.replace(/['"]/g, '')
|
|
50
|
+
.replace(/[^a-z0-9+\-.()\[\]_]/gi, '_');
|
|
43
51
|
}
|
|
44
52
|
/**
|
|
45
|
-
*
|
|
53
|
+
* replaces ${ENV}, $ENV to "$ENV"
|
|
46
54
|
* @param command string command with environmental variables in unsupported format
|
|
47
55
|
* @return updated command with environmental variables in supported format
|
|
48
56
|
*/
|
|
49
57
|
static updateCommandEnvsToShStyle(command) {
|
|
50
|
-
return command.replace(/[{}]/g, '').replace(/(?<!")\${?[a-zA-Z0-9_+\-\s]+\b}?/gm,
|
|
58
|
+
return command.replace(/[{}]/g, '').replace(/(?<!")\${?[a-zA-Z0-9_+\-\s]+\b}?/gm, '"$&"');
|
|
51
59
|
}
|
|
52
60
|
};
|
|
53
61
|
StringUtil = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../utils/StringUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;AAExE,yCAAuC;AACvC,qCAAkC;AAGlC,IAAa,UAAU,GAAvB,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../utils/StringUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;AAExE,yCAAuC;AACvC,qCAAkC;AAGlC,IAAa,UAAU,GAAvB,MAAa,UAAU;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAW;QAC1C,eAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC3B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,MAAM,WAAW,GAAW,GAAG;aAC7B,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACxD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;QAC/B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAW;QAC/B,OAAO,GAAG;aACR,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IAEH,MAAM,CAAC,0BAA0B,CAAC,OAAe;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;CACD,CAAA;AA1CY,UAAU;IADtB,sBAAU,EAAE;GACA,UAAU,CA0CtB;AA1CY,gCAAU"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -29,74 +29,76 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
29
29
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
30
30
|
const inversify_1 = require("inversify");
|
|
31
31
|
const Logger_1 = require("../Logger");
|
|
32
|
-
const
|
|
32
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
33
33
|
let CheApiRequestHandler = class CheApiRequestHandler {
|
|
34
34
|
constructor(headerHandler) {
|
|
35
35
|
this.headerHandler = headerHandler;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* this method adds a request interceptor into axios request interceptors list and returns an ID of the interceptor
|
|
39
39
|
*/
|
|
40
40
|
static enableRequestInterceptor() {
|
|
41
|
-
Logger_1.Logger.debug(
|
|
42
|
-
return axios_1.default.interceptors.request.use(request => {
|
|
41
|
+
Logger_1.Logger.debug();
|
|
42
|
+
return axios_1.default.interceptors.request.use((request) => {
|
|
43
43
|
try {
|
|
44
|
-
|
|
45
|
-
if (
|
|
44
|
+
const REQUEST_CENSORED = JSON.parse(JSON.stringify(request));
|
|
45
|
+
if (REQUEST_CENSORED === undefined) {
|
|
46
46
|
Logger_1.Logger.error('JSON.parse returned an undefined object, cannot process request');
|
|
47
47
|
return request;
|
|
48
48
|
}
|
|
49
|
-
if (
|
|
50
|
-
Logger_1.Logger.warn('
|
|
49
|
+
if (REQUEST_CENSORED.headers === undefined) {
|
|
50
|
+
Logger_1.Logger.warn('request does not contain any headers object');
|
|
51
51
|
return request;
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Logger_1.Logger.info(
|
|
53
|
+
REQUEST_CENSORED.headers.Authorization = 'CENSORED';
|
|
54
|
+
REQUEST_CENSORED.headers.Cookie = 'CENSORED';
|
|
55
|
+
Logger_1.Logger.info('request:\n' + JSON.stringify(REQUEST_CENSORED));
|
|
56
56
|
}
|
|
57
57
|
catch (err) {
|
|
58
|
-
Logger_1.Logger.error(
|
|
58
|
+
Logger_1.Logger.error('request: Failed to deep clone AxiosRequestConfig:' + err);
|
|
59
59
|
}
|
|
60
60
|
return request;
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
64
|
+
* this method adds a response interceptor into axios response interceptors list and returns an ID of the interceptor
|
|
65
65
|
*/
|
|
66
66
|
static enableResponseInterceptor() {
|
|
67
|
-
Logger_1.Logger.debug(
|
|
68
|
-
return axios_1.default.interceptors.response.use(response => {
|
|
67
|
+
Logger_1.Logger.debug();
|
|
68
|
+
return axios_1.default.interceptors.response.use((response) => {
|
|
69
69
|
try {
|
|
70
|
-
|
|
70
|
+
const RESPONSE_CENSORED = JSON.parse(JSON.stringify(response, (key, value) => {
|
|
71
71
|
switch (key) {
|
|
72
|
-
case 'request':
|
|
73
|
-
|
|
72
|
+
case 'request':
|
|
73
|
+
return 'CENSORED';
|
|
74
|
+
default:
|
|
75
|
+
return value;
|
|
74
76
|
}
|
|
75
77
|
}));
|
|
76
|
-
if (
|
|
78
|
+
if (RESPONSE_CENSORED === undefined) {
|
|
77
79
|
Logger_1.Logger.error('JSON.parse returned an undefined object, cannot process response');
|
|
78
80
|
return response;
|
|
79
81
|
}
|
|
80
|
-
if (
|
|
81
|
-
Logger_1.Logger.warn('
|
|
82
|
+
if (RESPONSE_CENSORED.config === undefined) {
|
|
83
|
+
Logger_1.Logger.warn('response does not contain any config object');
|
|
82
84
|
return response;
|
|
83
85
|
}
|
|
84
|
-
if (
|
|
85
|
-
Logger_1.Logger.warn('
|
|
86
|
+
if (RESPONSE_CENSORED.config.headers === undefined) {
|
|
87
|
+
Logger_1.Logger.warn('response does not contain any config.headers object');
|
|
86
88
|
return response;
|
|
87
89
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
|
|
90
|
+
RESPONSE_CENSORED.config.headers.Authorization = 'CENSORED';
|
|
91
|
+
RESPONSE_CENSORED.config.headers.Cookie = 'CENSORED';
|
|
92
|
+
if (RESPONSE_CENSORED.data.access_token !== null) {
|
|
93
|
+
RESPONSE_CENSORED.data.access_token = 'CENSORED';
|
|
92
94
|
}
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
+
if (RESPONSE_CENSORED.data.refresh_token !== null) {
|
|
96
|
+
RESPONSE_CENSORED.data.refresh_token = 'CENSORED';
|
|
95
97
|
}
|
|
96
|
-
Logger_1.Logger.info(
|
|
98
|
+
Logger_1.Logger.info('response:\n' + JSON.stringify(RESPONSE_CENSORED));
|
|
97
99
|
}
|
|
98
100
|
catch (err) {
|
|
99
|
-
Logger_1.Logger.error(
|
|
101
|
+
Logger_1.Logger.error('response: Failed to deep clone AxiosResponse:' + err);
|
|
100
102
|
}
|
|
101
103
|
return response;
|
|
102
104
|
});
|
|
@@ -114,7 +116,7 @@ let CheApiRequestHandler = class CheApiRequestHandler {
|
|
|
114
116
|
return await axios_1.default.patch(this.assembleUrl(relativeUrl), patchParams, await this.headerHandler.get());
|
|
115
117
|
}
|
|
116
118
|
assembleUrl(relativeUrl) {
|
|
117
|
-
return `${
|
|
119
|
+
return `${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL}/${relativeUrl}`;
|
|
118
120
|
}
|
|
119
121
|
};
|
|
120
122
|
CheApiRequestHandler = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheApiRequestHandler.js","sourceRoot":"","sources":["../../../utils/request-handlers/CheApiRequestHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;AAExE,kDAAiE;AACjE,mEAAsD;AACtD,yCAA+C;AAE/C,sCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"CheApiRequestHandler.js","sourceRoot":"","sources":["../../../utils/request-handlers/CheApiRequestHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,29 +17,33 @@ const inversify_1 = require("inversify");
|
|
|
17
17
|
const DriverHelper_1 = require("../../DriverHelper");
|
|
18
18
|
const inversify_types_1 = require("../../../configs/inversify.types");
|
|
19
19
|
const Logger_1 = require("../../Logger");
|
|
20
|
-
const
|
|
20
|
+
const BASE_TEST_CONSTANTS_1 = require("../../../constants/BASE_TEST_CONSTANTS");
|
|
21
21
|
let CheMultiuserAuthorizationHeaderHandler = class CheMultiuserAuthorizationHeaderHandler {
|
|
22
22
|
constructor(driverHelper) {
|
|
23
23
|
this.driverHelper = driverHelper;
|
|
24
24
|
this.authorizationToken = '';
|
|
25
|
-
this.cookiesType =
|
|
25
|
+
this.cookiesType = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM === BASE_TEST_CONSTANTS_1.Platform.OPENSHIFT ? '_oauth_proxy' : '_oauth2_proxy';
|
|
26
26
|
}
|
|
27
27
|
async get() {
|
|
28
28
|
try {
|
|
29
|
-
|
|
29
|
+
const token = await this.driverHelper.getDriver().manage().getCookie(this.cookiesType);
|
|
30
30
|
if (this.authorizationToken !== token.value) {
|
|
31
31
|
this.authorizationToken = token.value;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
catch (err) {
|
|
35
35
|
if (this.authorizationToken.length > 0) {
|
|
36
|
-
Logger_1.Logger.warn(
|
|
36
|
+
Logger_1.Logger.warn('could not obtain _oauth_proxy cookie from chromedriver, browser session may have been killed. Using stored value.');
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
throw new Error(
|
|
39
|
+
throw new Error('Could not obtain _oauth_proxy cookie from chromedriver, browser session may have been killed. No stored token present!');
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
headers: {
|
|
44
|
+
cookie: `${this.cookiesType}=${this.authorizationToken}`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
43
47
|
}
|
|
44
48
|
};
|
|
45
49
|
CheMultiuserAuthorizationHeaderHandler = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheMultiuserAuthorizationHeaderHandler.js","sourceRoot":"","sources":["../../../../utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,yCAA+C;AAC/C,qDAAkD;AAClD,sEAA2D;AAC3D,yCAAsC;AAEtC,
|
|
1
|
+
{"version":3,"file":"CheMultiuserAuthorizationHeaderHandler.js","sourceRoot":"","sources":["../../../../utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,yCAA+C;AAC/C,qDAAkD;AAClD,sEAA2D;AAC3D,yCAAsC;AAEtC,gFAAuF;AAGvF,IAAa,sCAAsC,GAAnD,MAAa,sCAAsC;IAIlD,YAEkB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QALpC,uBAAkB,GAAW,EAAE,CAAC;QACvB,gBAAW,GAAW,yCAAmB,CAAC,WAAW,KAAK,8BAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IAK9H,CAAC;IAEJ,KAAK,CAAC,GAAG;QACR,IAAI;YACH,MAAM,KAAK,GAAqB,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzG,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC,KAAK,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC;aACtC;SACD;QAAC,OAAO,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,eAAM,CAAC,IAAI,CACV,mHAAmH,CACnH,CAAC;aACF;iBAAM;gBACN,MAAM,IAAI,KAAK,CACd,wHAAwH,CACxH,CAAC;aACF;SACD;QAED,OAAO;YACN,OAAO,EAAE;gBACR,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;aACxD;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAjCY,sCAAsC;IADlD,sBAAU,EAAE;IAMV,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCACE,2BAAY;GANhC,sCAAsC,CAiClD;AAjCY,wFAAsC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -14,8 +14,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var ApiUrlResolver_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.ApiUrlResolver = void 0;
|
|
17
|
-
|
|
18
|
-
*
|
|
17
|
+
/** *******************************************************************
|
|
18
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
19
19
|
*
|
|
20
20
|
* This program and the accompanying materials are made
|
|
21
21
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -40,15 +40,15 @@ let ApiUrlResolver = ApiUrlResolver_1 = class ApiUrlResolver {
|
|
|
40
40
|
return `${ApiUrlResolver_1.DASHBOARD_API_URL}/${namespace}/devworkspaces`;
|
|
41
41
|
}
|
|
42
42
|
async obtainUserNamespace() {
|
|
43
|
-
Logger_1.Logger.debug(
|
|
43
|
+
Logger_1.Logger.debug(`${this.userNamespace}`);
|
|
44
44
|
if (this.userNamespace.length === 0) {
|
|
45
|
-
Logger_1.Logger.trace(
|
|
45
|
+
Logger_1.Logger.trace('USER_NAMESPACE.length = 0, calling kubernetes API');
|
|
46
46
|
const kubernetesResponse = await this.processRequestHandler.get(ApiUrlResolver_1.KUBERNETES_API_URL);
|
|
47
47
|
if (kubernetesResponse.status !== 200) {
|
|
48
48
|
throw new Error(`Cannot get user namespace from kubernetes API. Code: ${kubernetesResponse.status} Data: ${kubernetesResponse.data}`);
|
|
49
49
|
}
|
|
50
50
|
this.userNamespace = kubernetesResponse.data[0].name;
|
|
51
|
-
Logger_1.Logger.debug(`
|
|
51
|
+
Logger_1.Logger.debug(`kubeapi success: ${this.userNamespace}`);
|
|
52
52
|
}
|
|
53
53
|
return this.userNamespace;
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiUrlResolver.js","sourceRoot":"","sources":["../../../utils/workspace/ApiUrlResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,mEAAwD;AACxD,sCAAmC;AACnC,mFAAgF;AAIhF,IAAa,cAAc,sBAA3B,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"ApiUrlResolver.js","sourceRoot":"","sources":["../../../utils/workspace/ApiUrlResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,mEAAwD;AACxD,sCAAmC;AACnC,mFAAgF;AAIhF,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAM1B,YAEkB,qBAA2C;QAA3C,0BAAqB,GAArB,qBAAqB,CAAsB;QAJrD,kBAAa,GAAW,EAAE,CAAC;IAKhC,CAAC;IAEJ,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC7C,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,IAAI,aAAa,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACxB,MAAM,SAAS,GAAW,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3D,OAAO,GAAG,gBAAc,CAAC,iBAAiB,IAAI,SAAS,gBAAgB,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAChC,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,eAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClE,MAAM,kBAAkB,GAAkB,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAc,CAAC,kBAAkB,CAAC,CAAC;YAClH,IAAI,kBAAkB,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtC,MAAM,IAAI,KAAK,CACd,wDAAwD,kBAAkB,CAAC,MAAM,UAAU,kBAAkB,CAAC,IAAI,EAAE,CACpH,CAAC;aACF;YACD,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,eAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SACvD;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;CACD,CAAA;AAlCwB,gCAAiB,GAAW,yBAAyB,CAAC;AACtD,iCAAkB,GAAW,0BAA0B,CAAC;AAFpE,cAAc;IAD1B,sBAAU,EAAE;IAQV,WAAA,kBAAM,CAAC,yBAAO,CAAC,oBAAoB,CAAC,CAAA;qCACG,2CAAoB;GARjD,cAAc,CAmC1B;AAnCY,wCAAc"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -35,17 +35,17 @@ const inversify_types_1 = require("../../configs/inversify.types");
|
|
|
35
35
|
const Logger_1 = require("../Logger");
|
|
36
36
|
const axios_1 = __importDefault(require("axios"));
|
|
37
37
|
const ApiUrlResolver_1 = require("./ApiUrlResolver");
|
|
38
|
-
const
|
|
38
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
39
39
|
let TestWorkspaceUtil = class TestWorkspaceUtil {
|
|
40
40
|
constructor(driverHelper, processRequestHandler, apiUrlResolver) {
|
|
41
41
|
this.driverHelper = driverHelper;
|
|
42
42
|
this.processRequestHandler = processRequestHandler;
|
|
43
43
|
this.apiUrlResolver = apiUrlResolver;
|
|
44
|
-
this.polling =
|
|
45
|
-
this.attempts =
|
|
44
|
+
this.polling = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING;
|
|
45
|
+
this.attempts = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT / this.polling;
|
|
46
46
|
}
|
|
47
47
|
async waitWorkspaceStatus(workspaceName, expectedWorkspaceStatus) {
|
|
48
|
-
Logger_1.Logger.debug(
|
|
48
|
+
Logger_1.Logger.debug();
|
|
49
49
|
let workspaceStatus = '';
|
|
50
50
|
let expectedStatus = false;
|
|
51
51
|
for (let i = 0; i < this.attempts; i++) {
|
|
@@ -61,31 +61,37 @@ let TestWorkspaceUtil = class TestWorkspaceUtil {
|
|
|
61
61
|
await this.driverHelper.wait(this.polling);
|
|
62
62
|
}
|
|
63
63
|
if (!expectedStatus) {
|
|
64
|
-
|
|
64
|
+
const waitTime = this.attempts * this.polling;
|
|
65
65
|
throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not stopped in ${waitTime} ms. Current status is: ${workspaceStatus}`);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
async stopWorkspaceByName(workspaceName) {
|
|
69
|
-
Logger_1.Logger.debug(
|
|
69
|
+
Logger_1.Logger.debug(`${workspaceName}`);
|
|
70
70
|
const stopWorkspaceApiUrl = await this.apiUrlResolver.getWorkspaceApiUrl(workspaceName);
|
|
71
71
|
let stopWorkspaceResponse;
|
|
72
72
|
try {
|
|
73
|
-
stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [
|
|
73
|
+
stopWorkspaceResponse = await this.processRequestHandler.patch(stopWorkspaceApiUrl, [
|
|
74
|
+
{
|
|
75
|
+
op: 'replace',
|
|
76
|
+
path: '/spec/started',
|
|
77
|
+
value: false
|
|
78
|
+
}
|
|
79
|
+
]);
|
|
74
80
|
}
|
|
75
81
|
catch (err) {
|
|
76
|
-
Logger_1.Logger.error(`
|
|
82
|
+
Logger_1.Logger.error(`stop workspace call failed. URL used: ${stopWorkspaceApiUrl}`);
|
|
77
83
|
throw err;
|
|
78
84
|
}
|
|
79
85
|
if (stopWorkspaceResponse.status !== 200) {
|
|
80
86
|
throw new Error(`Cannot stop workspace. Code: ${stopWorkspaceResponse.status} Data: ${stopWorkspaceResponse.data}`);
|
|
81
87
|
}
|
|
82
88
|
await this.waitWorkspaceStatus(workspaceName, WorkspaceStatus_1.WorkspaceStatus.STOPPED);
|
|
83
|
-
Logger_1.Logger.debug(
|
|
89
|
+
Logger_1.Logger.debug(`${workspaceName} stopped successfully`);
|
|
84
90
|
}
|
|
85
91
|
// delete a workspace without stopping phase (similar with force deleting)
|
|
86
92
|
async deleteWorkspaceByName(workspaceName) {
|
|
87
93
|
var _a, _b;
|
|
88
|
-
Logger_1.Logger.debug(
|
|
94
|
+
Logger_1.Logger.debug(`${workspaceName}`);
|
|
89
95
|
const deleteWorkspaceApiUrl = await this.apiUrlResolver.getWorkspaceApiUrl(workspaceName);
|
|
90
96
|
let deleteWorkspaceResponse;
|
|
91
97
|
let deleteWorkspaceStatus = false;
|
|
@@ -94,10 +100,10 @@ let TestWorkspaceUtil = class TestWorkspaceUtil {
|
|
|
94
100
|
}
|
|
95
101
|
catch (error) {
|
|
96
102
|
if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
|
|
97
|
-
Logger_1.Logger.error(`
|
|
103
|
+
Logger_1.Logger.error(`the workspace :${workspaceName} not found`);
|
|
98
104
|
throw error;
|
|
99
105
|
}
|
|
100
|
-
Logger_1.Logger.error(`
|
|
106
|
+
Logger_1.Logger.error(`delete workspace call failed. URL used: ${deleteWorkspaceStatus}`);
|
|
101
107
|
throw error;
|
|
102
108
|
}
|
|
103
109
|
if (deleteWorkspaceResponse.status !== 204) {
|
|
@@ -110,48 +116,48 @@ let TestWorkspaceUtil = class TestWorkspaceUtil {
|
|
|
110
116
|
catch (error) {
|
|
111
117
|
if (axios_1.default.isAxiosError(error) && ((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {
|
|
112
118
|
deleteWorkspaceStatus = true;
|
|
113
|
-
Logger_1.Logger.debug(
|
|
119
|
+
Logger_1.Logger.debug(`${workspaceName} deleted successfully`);
|
|
114
120
|
break;
|
|
115
121
|
}
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
if (!deleteWorkspaceStatus) {
|
|
119
|
-
|
|
125
|
+
const waitTime = this.attempts * this.polling;
|
|
120
126
|
throw new selenium_webdriver_1.error.TimeoutError(`The workspace was not deleted in ${waitTime} ms.`);
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
129
|
// stop workspace before deleting with checking stopping phase
|
|
124
130
|
async stopAndDeleteWorkspaceByName(workspaceName) {
|
|
125
|
-
Logger_1.Logger.debug(
|
|
131
|
+
Logger_1.Logger.debug();
|
|
126
132
|
await this.stopWorkspaceByName(workspaceName);
|
|
127
133
|
await this.deleteWorkspaceByName(workspaceName);
|
|
128
134
|
}
|
|
129
135
|
// stop all run workspaces in the namespace
|
|
130
|
-
async stopAllRunningWorkspaces(
|
|
131
|
-
Logger_1.Logger.debug(
|
|
132
|
-
|
|
136
|
+
async stopAllRunningWorkspaces() {
|
|
137
|
+
Logger_1.Logger.debug();
|
|
138
|
+
const response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
|
|
133
139
|
for (let i = 0; i < response.data.items.length; i++) {
|
|
134
|
-
Logger_1.Logger.info('
|
|
140
|
+
Logger_1.Logger.info('the project is being stopped: ' + response.data.items[i].metadata.name);
|
|
135
141
|
await this.stopWorkspaceByName(response.data.items[i].metadata.name);
|
|
136
142
|
}
|
|
137
143
|
}
|
|
138
144
|
// stop all run workspaces, check statuses and remove the workspaces
|
|
139
|
-
async stopAndDeleteAllRunningWorkspaces(
|
|
140
|
-
Logger_1.Logger.debug(
|
|
141
|
-
|
|
142
|
-
await this.stopAllRunningWorkspaces(
|
|
145
|
+
async stopAndDeleteAllRunningWorkspaces() {
|
|
146
|
+
Logger_1.Logger.debug();
|
|
147
|
+
const response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
|
|
148
|
+
await this.stopAllRunningWorkspaces();
|
|
143
149
|
for (let i = 0; i < response.data.items.length; i++) {
|
|
144
|
-
Logger_1.Logger.info('
|
|
150
|
+
Logger_1.Logger.info('the project is being deleted: ' + response.data.items[i].metadata.name);
|
|
145
151
|
await this.deleteWorkspaceByName(response.data.items[i].metadata.name);
|
|
146
152
|
}
|
|
147
153
|
}
|
|
148
154
|
// stop all run workspaces without stopping and waiting for of 'Stopped' phase
|
|
149
155
|
// similar with 'force' deleting
|
|
150
|
-
async deleteAllWorkspaces(
|
|
151
|
-
Logger_1.Logger.debug(
|
|
152
|
-
|
|
156
|
+
async deleteAllWorkspaces() {
|
|
157
|
+
Logger_1.Logger.debug();
|
|
158
|
+
const response = await this.processRequestHandler.get(await this.apiUrlResolver.getWorkspacesApiUrl());
|
|
153
159
|
for (let i = 0; i < response.data.items.length; i++) {
|
|
154
|
-
Logger_1.Logger.info('
|
|
160
|
+
Logger_1.Logger.info('the project is being deleted .......: ' + response.data.items[i].metadata.name);
|
|
155
161
|
await this.deleteWorkspaceByName(response.data.items[i].metadata.name);
|
|
156
162
|
}
|
|
157
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,kDAA+C;AAC/C,uDAAoD;AACpD,2DAA2C;AAC3C,mFAAgF;AAChF,mEAAwD;AACxD,sCAAmC;AACnC,kDAA6C;AAE7C,qDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
*
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2019-2023 Red Hat, Inc.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made
|
|
6
6
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceStatus.js","sourceRoot":"","sources":["../../../utils/workspace/WorkspaceStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,IAAY,eAIX;AAJD,WAAY,eAAe;
|
|
1
|
+
{"version":3,"file":"WorkspaceStatus.js","sourceRoot":"","sources":["../../../utils/workspace/WorkspaceStatus.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,IAAY,eAIX;AAJD,WAAY,eAAe;IAC1B,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACtB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
|