@eclipse-che/che-e2e 7.68.0 → 7.69.0-dev-ac76de0
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/configs/inversify.config.ts +2 -2
- package/configs/inversify.types.ts +1 -2
- package/configs/mocharc.ts +2 -2
- package/constants/TestConstants.ts +10 -13
- package/index.ts +5 -5
- package/package.json +4 -3
- package/specs/api/DevfileAcceptanceTestAPI.spec.ts +90 -33
- package/specs/api/EmptyWorkspaceAPI.spec.ts +3 -3
- package/specs/devconsole-intergration/DevConsoleIntegration.spec.ts +2 -2
- package/specs/factory/Factory.spec.ts +2 -2
- package/specs/factory/NoSetupRepoFactory.spec.ts +2 -2
- package/specs/factory/RefusedOAuthFactory.spec.ts +2 -2
- package/utils/CheReporter.ts +3 -4
- package/utils/DevfilesRegistryHelper.ts +77 -0
- package/utils/KubernetesCommandLineToolsExecutor.ts +20 -7
- package/utils/ScreenCatcher.ts +3 -4
- package/utils/{vsc/GitUtil.ts → StringUtil.ts} +19 -15
- package/constants/DevfilesRegistryConstants.ts +0 -26
- package/dist/configs/inversify.config.js +0 -70
- package/dist/configs/inversify.config.js.map +0 -1
- package/dist/configs/inversify.types.js +0 -45
- package/dist/configs/inversify.types.js.map +0 -1
- package/dist/configs/mocharc.js +0 -27
- package/dist/configs/mocharc.js.map +0 -1
- package/dist/constants/DevfilesRegistryConstants.js +0 -32
- package/dist/constants/DevfilesRegistryConstants.js.map +0 -1
- package/dist/constants/TestConstants.js +0 -207
- package/dist/constants/TestConstants.js.map +0 -1
- package/dist/constants/TimeoutConstants.js +0 -184
- package/dist/constants/TimeoutConstants.js.map +0 -1
- package/dist/driver/ChromeDriver.js +0 -79
- 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 -69
- package/dist/index.js.map +0 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -98
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
- package/dist/pageobjects/dashboard/Dashboard.js +0 -135
- package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
- package/dist/pageobjects/dashboard/Workspaces.js +0 -184
- package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -140
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
- package/dist/pageobjects/git-providers/OauthPage.js +0 -150
- package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -70
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
- package/dist/pageobjects/login/ICheLoginPage.js +0 -12
- package/dist/pageobjects/login/ICheLoginPage.js.map +0 -1
- package/dist/pageobjects/login/IOcpLoginPage.js +0 -12
- package/dist/pageobjects/login/IOcpLoginPage.js.map +0 -1
- package/dist/pageobjects/login/OcpRedHatLoginPage.js +0 -67
- package/dist/pageobjects/login/OcpRedHatLoginPage.js.map +0 -1
- package/dist/pageobjects/login/OcpUserLoginPage.js +0 -53
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +0 -1
- package/dist/pageobjects/login/RedHatLoginPage.js +0 -77
- package/dist/pageobjects/login/RedHatLoginPage.js.map +0 -1
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +0 -68
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +0 -1
- package/dist/pageobjects/openshift/CheLoginPage.js +0 -55
- package/dist/pageobjects/openshift/CheLoginPage.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 -91
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
- package/dist/pageobjects/openshift/OcpLoginPage.js +0 -92
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +0 -1
- package/dist/pageobjects/openshift/OcpMainPage.js +0 -108
- package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
- package/dist/specs/MochaHooks.js +0 -89
- package/dist/specs/MochaHooks.js.map +0 -1
- package/dist/specs/SmokeTest.spec.js +0 -49
- package/dist/specs/SmokeTest.spec.js.map +0 -1
- package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -37
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -40
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -61
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
- package/dist/specs/api/PodOverridesAPI.spec.js +0 -43
- package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -48
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -50
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/RecomendedExtentions.spec.js +0 -161
- package/dist/specs/dashboard-samples/RecomendedExtentions.spec.js.map +0 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -75
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
- package/dist/specs/factory/Factory.spec.js +0 -160
- package/dist/specs/factory/Factory.spec.js.map +0 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -228
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -220
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -66
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
- package/dist/tests-library/LoginTests.js +0 -70
- package/dist/tests-library/LoginTests.js.map +0 -1
- package/dist/tests-library/ProjectAndFileTests.js +0 -56
- package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +0 -160
- package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
- package/dist/utils/BrowserTabsUtil.js +0 -111
- package/dist/utils/BrowserTabsUtil.js.map +0 -1
- package/dist/utils/CheReporter.js +0 -172
- package/dist/utils/CheReporter.js.map +0 -1
- package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -72
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
- package/dist/utils/DriverHelper.js +0 -591
- package/dist/utils/DriverHelper.js.map +0 -1
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -162
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
- package/dist/utils/Logger.js +0 -89
- package/dist/utils/Logger.js.map +0 -1
- package/dist/utils/Sanitizer.js +0 -29
- package/dist/utils/Sanitizer.js.map +0 -1
- package/dist/utils/ScreenCatcher.js +0 -107
- package/dist/utils/ScreenCatcher.js.map +0 -1
- package/dist/utils/ShellExecutor.js +0 -18
- package/dist/utils/ShellExecutor.js.map +0 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -126
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -49
- 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/vsc/GitUtil.js +0 -57
- package/dist/utils/vsc/GitUtil.js.map +0 -1
- package/dist/utils/workspace/ApiUrlResolver.js +0 -64
- 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 -167
- 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
- package/utils/Sanitizer.ts +0 -19
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*********************************************************************
|
|
3
|
-
* Copyright (c) 2019-2023 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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.ProjectAndFileTests = void 0;
|
|
25
|
-
require("reflect-metadata");
|
|
26
|
-
const inversify_1 = require("inversify");
|
|
27
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
28
|
-
const DriverHelper_1 = require("../utils/DriverHelper");
|
|
29
|
-
const inversify_types_1 = require("../configs/inversify.types");
|
|
30
|
-
const Logger_1 = require("../utils/Logger");
|
|
31
|
-
const TimeoutConstants_1 = require("../constants/TimeoutConstants");
|
|
32
|
-
let ProjectAndFileTests = class ProjectAndFileTests {
|
|
33
|
-
constructor(driverHelper) {
|
|
34
|
-
this.driverHelper = driverHelper;
|
|
35
|
-
}
|
|
36
|
-
async waitWorkspaceReadinessForCheCodeEditor() {
|
|
37
|
-
Logger_1.Logger.debug(`${this.constructor.name}.${this.waitWorkspaceReadinessForCheCodeEditor.name} - Waiting for editor.`);
|
|
38
|
-
try {
|
|
39
|
-
const start = new Date().getTime();
|
|
40
|
-
await this.driverHelper.getDriver().wait(selenium_webdriver_1.until.elementLocated(selenium_webdriver_1.By.className('monaco-workbench')), TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
|
|
41
|
-
const end = new Date().getTime();
|
|
42
|
-
Logger_1.Logger.debug(`${this.constructor.name}.${this.waitWorkspaceReadinessForCheCodeEditor.name} - editor was opened in ${end - start} seconds.`);
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
Logger_1.Logger.error(`ProjectAndFileTestsCheCode.waitWorkspaceReadinessForCheCodeEditor - waiting for workspace readiness failed: ${err}`);
|
|
46
|
-
throw err;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
ProjectAndFileTests = __decorate([
|
|
51
|
-
inversify_1.injectable(),
|
|
52
|
-
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
53
|
-
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
54
|
-
], ProjectAndFileTests);
|
|
55
|
-
exports.ProjectAndFileTests = ProjectAndFileTests;
|
|
56
|
-
//# sourceMappingURL=ProjectAndFileTests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectAndFileTests.js","sourceRoot":"","sources":["../../tests-library/ProjectAndFileTests.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAA+C;AAC/C,wDAAqD;AACrD,gEAAqD;AACrD,4CAAyC;AACzC,oEAAiE;AAGjE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAE5B,YACmD,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAEjF,KAAK,CAAC,sCAAsC;QACxC,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,sCAAsC,CAAC,IAAI,wBAAwB,CAAC,CAAC;QACnH,IAAI;YACA,MAAM,KAAK,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,0BAAK,CAAC,cAAc,CAAC,uBAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,mCAAgB,CAAC,mCAAmC,CAAC,CAAC;YACvJ,MAAM,GAAG,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACzC,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,sCAAsC,CAAC,IAAI,2BAA2B,GAAG,GAAG,KAAK,WAAW,CAAC,CAAC;SAC/I;QAAC,OAAO,GAAG,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,+GAA+G,GAAG,EAAE,CAAC,CAAC;YACnI,MAAM,GAAG,CAAC;SACb;IACL,CAAC;CACJ,CAAA;AAjBY,mBAAmB;IAD/B,sBAAU,EAAE;IAIJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAAgC,2BAAY;GAHpE,mBAAmB,CAiB/B;AAjBY,kDAAmB"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*********************************************************************
|
|
3
|
-
* Copyright (c) 2019-2023 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 WorkspaceHandlingTests_1;
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.WorkspaceHandlingTests = void 0;
|
|
26
|
-
require("reflect-metadata");
|
|
27
|
-
const inversify_1 = require("inversify");
|
|
28
|
-
const inversify_types_1 = require("../configs/inversify.types");
|
|
29
|
-
const Dashboard_1 = require("../pageobjects/dashboard/Dashboard");
|
|
30
|
-
const CreateWorkspace_1 = require("../pageobjects/dashboard/CreateWorkspace");
|
|
31
|
-
const Workspaces_1 = require("../pageobjects/dashboard/Workspaces");
|
|
32
|
-
const BrowserTabsUtil_1 = require("../utils/BrowserTabsUtil");
|
|
33
|
-
const Logger_1 = require("../utils/Logger");
|
|
34
|
-
const ApiUrlResolver_1 = require("../utils/workspace/ApiUrlResolver");
|
|
35
|
-
const TimeoutConstants_1 = require("../constants/TimeoutConstants");
|
|
36
|
-
const DriverHelper_1 = require("../utils/DriverHelper");
|
|
37
|
-
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
38
|
-
const TestConstants_1 = require("../constants/TestConstants");
|
|
39
|
-
let WorkspaceHandlingTests = WorkspaceHandlingTests_1 = class WorkspaceHandlingTests {
|
|
40
|
-
constructor(dashboard, createWorkspace, workspaces, browserTabsUtil, apiUrlResolver, driverHelper) {
|
|
41
|
-
this.dashboard = dashboard;
|
|
42
|
-
this.createWorkspace = createWorkspace;
|
|
43
|
-
this.workspaces = workspaces;
|
|
44
|
-
this.browserTabsUtil = browserTabsUtil;
|
|
45
|
-
this.apiUrlResolver = apiUrlResolver;
|
|
46
|
-
this.driverHelper = driverHelper;
|
|
47
|
-
}
|
|
48
|
-
static getWorkspaceName() {
|
|
49
|
-
return WorkspaceHandlingTests_1.workspaceName;
|
|
50
|
-
}
|
|
51
|
-
setWindowHandle(guid) {
|
|
52
|
-
WorkspaceHandlingTests_1.parentGUID = guid;
|
|
53
|
-
}
|
|
54
|
-
getWindowHandle() {
|
|
55
|
-
return WorkspaceHandlingTests_1.parentGUID;
|
|
56
|
-
}
|
|
57
|
-
createAndOpenWorkspace(stack) {
|
|
58
|
-
test(`Create and open new workspace, stack:${stack}`, async () => {
|
|
59
|
-
await this.dashboard.clickWorkspacesButton();
|
|
60
|
-
await this.dashboard.waitPage();
|
|
61
|
-
Logger_1.Logger.debug(`Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.`);
|
|
62
|
-
await this.apiUrlResolver.getWorkspacesApiUrl();
|
|
63
|
-
await this.dashboard.clickCreateWorkspaceButton();
|
|
64
|
-
await this.createWorkspace.waitPage();
|
|
65
|
-
WorkspaceHandlingTests_1.parentGUID = await this.browserTabsUtil.getCurrentWindowHandle();
|
|
66
|
-
await this.createWorkspace.clickOnSampleNoEditorSelection(stack);
|
|
67
|
-
await this.browserTabsUtil.waitAndSwitchToAnotherWindow(WorkspaceHandlingTests_1.parentGUID, TimeoutConstants_1.TimeoutConstants.TS_IDE_LOAD_TIMEOUT);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
createAndOpenWorkspaceFromGitRepository(factoryUrl) {
|
|
71
|
-
test(`Create and open new workspace from factory:${factoryUrl}`, async () => {
|
|
72
|
-
await this.dashboard.waitPage();
|
|
73
|
-
Logger_1.Logger.debug(`Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.`);
|
|
74
|
-
await this.apiUrlResolver.getWorkspacesApiUrl();
|
|
75
|
-
await this.dashboard.clickCreateWorkspaceButton();
|
|
76
|
-
await this.createWorkspace.waitPage();
|
|
77
|
-
WorkspaceHandlingTests_1.parentGUID = await this.browserTabsUtil.getCurrentWindowHandle();
|
|
78
|
-
await this.createWorkspace.importFromGitUsingUI(factoryUrl);
|
|
79
|
-
await this.browserTabsUtil.waitAndSwitchToAnotherWindow(WorkspaceHandlingTests_1.parentGUID, TimeoutConstants_1.TimeoutConstants.TS_IDE_LOAD_TIMEOUT);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
openExistingWorkspace(workspaceName) {
|
|
83
|
-
test('Open and start existing workspace', async () => {
|
|
84
|
-
await this.dashboard.waitPage();
|
|
85
|
-
Logger_1.Logger.debug(`Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.`);
|
|
86
|
-
await this.apiUrlResolver.getWorkspacesApiUrl();
|
|
87
|
-
await this.dashboard.clickWorkspacesButton();
|
|
88
|
-
await this.workspaces.waitPage();
|
|
89
|
-
await this.workspaces.clickOpenButton(workspaceName);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
obtainWorkspaceNameFromStartingPage() {
|
|
93
|
-
test('Obtain workspace name from workspace loader page', async () => {
|
|
94
|
-
const timeout = TimeoutConstants_1.TimeoutConstants.TS_IDE_LOAD_TIMEOUT;
|
|
95
|
-
const polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING;
|
|
96
|
-
const attempts = Math.ceil(timeout / polling);
|
|
97
|
-
for (let i = 0; i < attempts; i++) {
|
|
98
|
-
try {
|
|
99
|
-
let startingWorkspaceLineContent = await this.driverHelper.getDriver().findElement(WorkspaceHandlingTests_1.WORKSPACE_NAME_LOCATOR).getText();
|
|
100
|
-
Logger_1.Logger.trace(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage obtained starting workspace getText():${startingWorkspaceLineContent}`);
|
|
101
|
-
// cutting away leading text
|
|
102
|
-
WorkspaceHandlingTests_1.workspaceName = startingWorkspaceLineContent.substring('Starting workspace '.length).trim();
|
|
103
|
-
Logger_1.Logger.trace(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage trimmed workspace name from getText():${WorkspaceHandlingTests_1.workspaceName}`);
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
if (err instanceof selenium_webdriver_1.error.StaleElementReferenceError) {
|
|
108
|
-
Logger_1.Logger.trace(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element possibly detached from DOM. Retrying.`);
|
|
109
|
-
await this.driverHelper.wait(polling);
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
if (err instanceof selenium_webdriver_1.error.NoSuchElementError) {
|
|
113
|
-
Logger_1.Logger.trace(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.`);
|
|
114
|
-
await this.driverHelper.wait(polling);
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
Logger_1.Logger.error(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Obtaining workspace name failed with an unexpected error:${err}`);
|
|
118
|
-
throw err;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (WorkspaceHandlingTests_1.workspaceName !== '' && WorkspaceHandlingTests_1.workspaceName !== 'undefined') {
|
|
122
|
-
Logger_1.Logger.info(`Obtained workspace name from workspace loader page: ${WorkspaceHandlingTests_1.workspaceName}`);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
Logger_1.Logger.error(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage failed to obtain workspace name:${WorkspaceHandlingTests_1.workspaceName}`);
|
|
126
|
-
throw new selenium_webdriver_1.error.InvalidArgumentError(`WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage failed to obtain workspace name:${WorkspaceHandlingTests_1.workspaceName}`);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
async stopWorkspace(workspaceName) {
|
|
130
|
-
await this.dashboard.openDashboard();
|
|
131
|
-
await this.dashboard.stopWorkspaceByUI(workspaceName);
|
|
132
|
-
}
|
|
133
|
-
async removeWorkspace(workspaceName) {
|
|
134
|
-
await this.dashboard.openDashboard();
|
|
135
|
-
await this.dashboard.deleteStoppedWorkspaceByUI(workspaceName);
|
|
136
|
-
}
|
|
137
|
-
async stopAndRemoveWorkspace(workspaceName) {
|
|
138
|
-
await this.dashboard.openDashboard();
|
|
139
|
-
await this.dashboard.stopAndRemoveWorkspaceByUI(workspaceName);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
WorkspaceHandlingTests.WORKSPACE_NAME_LOCATOR = selenium_webdriver_1.By.xpath(`//h1[contains(.,'Starting workspace ')]`);
|
|
143
|
-
WorkspaceHandlingTests.workspaceName = 'undefined';
|
|
144
|
-
WorkspaceHandlingTests = WorkspaceHandlingTests_1 = __decorate([
|
|
145
|
-
inversify_1.injectable(),
|
|
146
|
-
__param(0, inversify_1.inject(inversify_types_1.CLASSES.Dashboard)),
|
|
147
|
-
__param(1, inversify_1.inject(inversify_types_1.CLASSES.CreateWorkspace)),
|
|
148
|
-
__param(2, inversify_1.inject(inversify_types_1.CLASSES.Workspaces)),
|
|
149
|
-
__param(3, inversify_1.inject(inversify_types_1.CLASSES.BrowserTabsUtil)),
|
|
150
|
-
__param(4, inversify_1.inject(inversify_types_1.CLASSES.ApiUrlResolver)),
|
|
151
|
-
__param(5, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
152
|
-
__metadata("design:paramtypes", [Dashboard_1.Dashboard,
|
|
153
|
-
CreateWorkspace_1.CreateWorkspace,
|
|
154
|
-
Workspaces_1.Workspaces,
|
|
155
|
-
BrowserTabsUtil_1.BrowserTabsUtil,
|
|
156
|
-
ApiUrlResolver_1.ApiUrlResolver,
|
|
157
|
-
DriverHelper_1.DriverHelper])
|
|
158
|
-
], WorkspaceHandlingTests);
|
|
159
|
-
exports.WorkspaceHandlingTests = WorkspaceHandlingTests;
|
|
160
|
-
//# sourceMappingURL=WorkspaceHandlingTests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../tests-library/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*********************************************************************
|
|
3
|
-
* Copyright (c) 2019-2023 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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.BrowserTabsUtil = void 0;
|
|
25
|
-
const inversify_1 = require("inversify");
|
|
26
|
-
const inversify_types_1 = require("../configs/inversify.types");
|
|
27
|
-
const DriverHelper_1 = require("./DriverHelper");
|
|
28
|
-
const Logger_1 = require("./Logger");
|
|
29
|
-
const TimeoutConstants_1 = require("../constants/TimeoutConstants");
|
|
30
|
-
const TestConstants_1 = require("../constants/TestConstants");
|
|
31
|
-
let BrowserTabsUtil = class BrowserTabsUtil {
|
|
32
|
-
constructor(driverHelper) {
|
|
33
|
-
this.driverHelper = driverHelper;
|
|
34
|
-
}
|
|
35
|
-
async switchToWindow(windowHandle) {
|
|
36
|
-
Logger_1.Logger.debug('BrowserTabsUtil.switchToWindow');
|
|
37
|
-
await this.driverHelper.getDriver().switchTo().window(windowHandle);
|
|
38
|
-
}
|
|
39
|
-
async getAllWindowHandles() {
|
|
40
|
-
Logger_1.Logger.debug('BrowserTabsUtil.getAllWindowHandles');
|
|
41
|
-
return (await this.driverHelper.getDriver()).getAllWindowHandles();
|
|
42
|
-
}
|
|
43
|
-
async getCurrentWindowHandle() {
|
|
44
|
-
Logger_1.Logger.debug('BrowserTabsUtil.getCurrentWindowHandle');
|
|
45
|
-
return await this.driverHelper.getDriver().getWindowHandle();
|
|
46
|
-
}
|
|
47
|
-
async navigateTo(url) {
|
|
48
|
-
Logger_1.Logger.debug(`BrowserTabsUtil.navigateTo ${url}`);
|
|
49
|
-
await this.driverHelper.getDriver().navigate().to(url);
|
|
50
|
-
}
|
|
51
|
-
async navigateAndWaitToUrl(url, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_WAIT_FOR_URL) {
|
|
52
|
-
Logger_1.Logger.trace(`BrowserTabsUtil.navigateAndWaitToUrl ${url}`);
|
|
53
|
-
await this.navigateTo(url);
|
|
54
|
-
await this.waitURL(url, timeout);
|
|
55
|
-
}
|
|
56
|
-
async waitAndSwitchToAnotherWindow(currentWindowHandle, timeout) {
|
|
57
|
-
Logger_1.Logger.debug('BrowserTabsUtil.waitAndSwitchToAnotherWindow');
|
|
58
|
-
await this.driverHelper.waitUntilTrue(async () => {
|
|
59
|
-
const windowHandles = await this.getAllWindowHandles();
|
|
60
|
-
return windowHandles.length > 1;
|
|
61
|
-
}, timeout);
|
|
62
|
-
const windowHandles = await this.getAllWindowHandles();
|
|
63
|
-
for (const windowHandle of windowHandles) {
|
|
64
|
-
if (windowHandle !== currentWindowHandle) {
|
|
65
|
-
await this.switchToWindow(windowHandle);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
async refreshPage() {
|
|
70
|
-
Logger_1.Logger.debug('BrowserTabsUtil.refreshPage');
|
|
71
|
-
await (await this.driverHelper.getDriver()).navigate().refresh();
|
|
72
|
-
}
|
|
73
|
-
async getCurrentUrl() {
|
|
74
|
-
return await this.driverHelper.getDriver().getCurrentUrl();
|
|
75
|
-
}
|
|
76
|
-
async waitURL(expectedUrl, timeout) {
|
|
77
|
-
Logger_1.Logger.trace(`BrowserTabsUtil.waitURL ${expectedUrl}`);
|
|
78
|
-
await this.driverHelper.getDriver().wait(async () => {
|
|
79
|
-
const currentUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
80
|
-
const urlEquals = currentUrl === expectedUrl;
|
|
81
|
-
if (urlEquals) {
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}, timeout);
|
|
85
|
-
}
|
|
86
|
-
async maximize() {
|
|
87
|
-
Logger_1.Logger.trace(`BrowserTabsUtil.maximize`);
|
|
88
|
-
if (TestConstants_1.TestConstants.TS_SELENIUM_LAUNCH_FULLSCREEN) {
|
|
89
|
-
Logger_1.Logger.debug(`TS_SELENIUM_LAUNCH_FULLSCREEN is set to true, maximizing window.`);
|
|
90
|
-
await this.driverHelper.getDriver().manage().window().maximize();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async closeAllTabsExceptCurrent() {
|
|
94
|
-
Logger_1.Logger.trace(`${this.constructor.name}.${this.closeAllTabsExceptCurrent.name}`);
|
|
95
|
-
const allTabsHandles = await this.getAllWindowHandles();
|
|
96
|
-
const currentTabHandle = await this.getCurrentWindowHandle();
|
|
97
|
-
allTabsHandles.splice(allTabsHandles.indexOf(currentTabHandle), 1);
|
|
98
|
-
for (const tabHandle of allTabsHandles) {
|
|
99
|
-
await this.switchToWindow(tabHandle);
|
|
100
|
-
await this.driverHelper.getDriver().close();
|
|
101
|
-
}
|
|
102
|
-
await this.switchToWindow(currentTabHandle);
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
BrowserTabsUtil = __decorate([
|
|
106
|
-
inversify_1.injectable(),
|
|
107
|
-
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
108
|
-
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
109
|
-
], BrowserTabsUtil);
|
|
110
|
-
exports.BrowserTabsUtil = BrowserTabsUtil;
|
|
111
|
-
//# sourceMappingURL=BrowserTabsUtil.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserTabsUtil.js","sourceRoot":"","sources":["../../utils/BrowserTabsUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
/*********************************************************************
|
|
22
|
-
* Copyright (c) 2019-2023 Red Hat, Inc.
|
|
23
|
-
*
|
|
24
|
-
* This program and the accompanying materials are made
|
|
25
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
26
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
27
|
-
*
|
|
28
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
29
|
-
**********************************************************************/
|
|
30
|
-
const mocha = __importStar(require("mocha"));
|
|
31
|
-
const inversify_types_1 = require("../configs/inversify.types");
|
|
32
|
-
const fs = __importStar(require("fs"));
|
|
33
|
-
const rm = __importStar(require("rimraf"));
|
|
34
|
-
const TestConstants_1 = require("../constants/TestConstants");
|
|
35
|
-
const TimeoutConstants_1 = require("../constants/TimeoutConstants");
|
|
36
|
-
const Logger_1 = require("./Logger");
|
|
37
|
-
const inversify_config_1 = require("../configs/inversify.config");
|
|
38
|
-
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
39
|
-
const screenCatcher = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ScreenCatcher);
|
|
40
|
-
const sanitizer = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Sanitizer);
|
|
41
|
-
let methodIndex = 0;
|
|
42
|
-
let deleteScreencast = true;
|
|
43
|
-
let testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
44
|
-
class CheReporter extends mocha.reporters.Spec {
|
|
45
|
-
constructor(runner, options) {
|
|
46
|
-
super(runner, options);
|
|
47
|
-
runner.on('start', async () => {
|
|
48
|
-
let launchInformation = `################## Launch Information ##################
|
|
49
|
-
|
|
50
|
-
TS_SELENIUM_BASE_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL}
|
|
51
|
-
TS_SELENIUM_HEADLESS: ${TestConstants_1.TestConstants.TS_SELENIUM_HEADLESS}
|
|
52
|
-
TS_SELENIUM_OCP_USERNAME: ${TestConstants_1.TestConstants.TS_SELENIUM_OCP_USERNAME}
|
|
53
|
-
TS_SELENIUM_EDITOR: ${TestConstants_1.TestConstants.TS_SELENIUM_EDITOR}
|
|
54
|
-
|
|
55
|
-
TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: ${TestConstants_1.TestConstants.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME}
|
|
56
|
-
TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: ${TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS}
|
|
57
|
-
TS_SELENIUM_REPORT_FOLDER: ${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}
|
|
58
|
-
TS_SELENIUM_EXECUTION_SCREENCAST: ${TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST}
|
|
59
|
-
DELETE_SCREENCAST_IF_TEST_PASS: ${TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS}
|
|
60
|
-
TS_SELENIUM_REMOTE_DRIVER_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_REMOTE_DRIVER_URL}
|
|
61
|
-
DELETE_WORKSPACE_ON_FAILED_TEST: ${TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST}
|
|
62
|
-
TS_SELENIUM_LOG_LEVEL: ${TestConstants_1.TestConstants.TS_SELENIUM_LOG_LEVEL}
|
|
63
|
-
TS_SELENIUM_LAUNCH_FULLSCREEN: ${TestConstants_1.TestConstants.TS_SELENIUM_LAUNCH_FULLSCREEN}
|
|
64
|
-
|
|
65
|
-
TS_COMMON_DASHBOARD_WAIT_TIMEOUT: ${TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT}
|
|
66
|
-
TS_SELENIUM_START_WORKSPACE_TIMEOUT: ${TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT}
|
|
67
|
-
TS_WAIT_LOADER_PRESENCE_TIMEOUT: ${TimeoutConstants_1.TimeoutConstants.TS_WAIT_LOADER_PRESENCE_TIMEOUT}
|
|
68
|
-
|
|
69
|
-
TS_SAMPLE_LIST: ${TestConstants_1.TestConstants.TS_SAMPLE_LIST}
|
|
70
|
-
|
|
71
|
-
${process.env.MOCHA_DIRECTORY ? 'MOCHA_DIRECTORY: ' + process.env.MOCHA_DIRECTORY : 'MOCHA_DRIRECTORY is not set'}
|
|
72
|
-
${process.env.USERSTORY ? 'USERSTORY: ' + process.env.USERSTORY : 'USERSTORY is not set'}
|
|
73
|
-
`;
|
|
74
|
-
if (TestConstants_1.TestConstants.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES) {
|
|
75
|
-
launchInformation += `\n TS_SELENIUM_PRINT_TIMEOUT_VARIABLES is set to true: \n`;
|
|
76
|
-
Object.entries(TimeoutConstants_1.TimeoutConstants).forEach(([key, value]) => launchInformation += `\n ${key}: ${value}`);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
launchInformation += `\n to output timeout variables, set TS_SELENIUM_PRINT_TIMEOUT_VARIABLES to true`;
|
|
80
|
-
}
|
|
81
|
-
launchInformation += `\n ######################################################## \n`;
|
|
82
|
-
console.log(launchInformation);
|
|
83
|
-
rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
84
|
-
});
|
|
85
|
-
runner.on('test', async function (test) {
|
|
86
|
-
if (!TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
methodIndex = methodIndex + 1;
|
|
90
|
-
const currentMethodIndex = methodIndex;
|
|
91
|
-
let iterationIndex = 1;
|
|
92
|
-
while (!(test.state === 'passed' || test.state === 'failed')) {
|
|
93
|
-
await screenCatcher.catchMethodScreen(test.title, currentMethodIndex, iterationIndex);
|
|
94
|
-
iterationIndex = iterationIndex + 1;
|
|
95
|
-
await driverHelper.wait(TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
runner.on('pass', async (test) => {
|
|
99
|
-
if (TestConstants_1.TestConstants.TS_LOAD_TESTS) {
|
|
100
|
-
const loadTestReportFolder = TestConstants_1.TestConstants.TS_SELENIUM_LOAD_TEST_REPORT_FOLDER;
|
|
101
|
-
const loadTestFilePath = loadTestReportFolder + '/load-test-results.txt';
|
|
102
|
-
const report = test.title + ': ' + test.duration + '\r';
|
|
103
|
-
if (!fs.existsSync(loadTestReportFolder)) {
|
|
104
|
-
fs.mkdirSync(loadTestReportFolder);
|
|
105
|
-
}
|
|
106
|
-
fs.appendFileSync(loadTestFilePath, report);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
runner.on('end', async function () {
|
|
110
|
-
// ensure that fired events done
|
|
111
|
-
await driverHelper.wait(5000);
|
|
112
|
-
// close driver
|
|
113
|
-
await driverHelper.getDriver().quit();
|
|
114
|
-
// delete screencast folder if conditions matched
|
|
115
|
-
if (deleteScreencast && TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS) {
|
|
116
|
-
rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
runner.on('fail', async function (test) {
|
|
120
|
-
Logger_1.Logger.error(`CheReporter runner.on.fail: ${test.fullTitle()} failed after ${test.duration}ms`);
|
|
121
|
-
// raise flag for keeping the screencast
|
|
122
|
-
deleteScreencast = false;
|
|
123
|
-
Logger_1.Logger.trace(`FullTitle:${test.fullTitle()}`);
|
|
124
|
-
const testFullTitle = sanitizer.sanitize(test.fullTitle());
|
|
125
|
-
Logger_1.Logger.trace(`FullTitleSanitized:${testFullTitle}`);
|
|
126
|
-
Logger_1.Logger.trace(`TestTitle:${test.title}`);
|
|
127
|
-
const testTitle = sanitizer.sanitize(test.title);
|
|
128
|
-
Logger_1.Logger.trace(`TestTitleSanitized:${testTitle}`);
|
|
129
|
-
const testReportDirPath = `${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}/${testFullTitle}`;
|
|
130
|
-
const screenshotFileName = `${testReportDirPath}/screenshot-${testTitle}.png`;
|
|
131
|
-
const pageSourceFileName = `${testReportDirPath}/pagesource-${testTitle}.html`;
|
|
132
|
-
const browserLogsFileName = `${testReportDirPath}/browserlogs-${testTitle}.txt`;
|
|
133
|
-
// create reporter dir if not exist
|
|
134
|
-
const reportDirExists = fs.existsSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
135
|
-
if (!reportDirExists) {
|
|
136
|
-
fs.mkdirSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
137
|
-
}
|
|
138
|
-
// create dir for failed test report if not exist
|
|
139
|
-
const testReportDirExists = fs.existsSync(testReportDirPath);
|
|
140
|
-
if (!testReportDirExists) {
|
|
141
|
-
fs.mkdirSync(testReportDirPath);
|
|
142
|
-
}
|
|
143
|
-
// take screenshot and write to file
|
|
144
|
-
const screenshot = await driverHelper.getDriver().takeScreenshot();
|
|
145
|
-
const screenshotStream = fs.createWriteStream(screenshotFileName);
|
|
146
|
-
screenshotStream.write(Buffer.from(screenshot, 'base64'));
|
|
147
|
-
screenshotStream.end();
|
|
148
|
-
// take page source and write to file
|
|
149
|
-
const pageSource = await driverHelper.getDriver().getPageSource();
|
|
150
|
-
const pageSourceStream = fs.createWriteStream(pageSourceFileName);
|
|
151
|
-
pageSourceStream.write(Buffer.from(pageSource));
|
|
152
|
-
pageSourceStream.end();
|
|
153
|
-
// take browser console logs and write to file
|
|
154
|
-
const browserLogsEntries = await driverHelper.getDriver().manage().logs().get('browser');
|
|
155
|
-
let browserLogs = '';
|
|
156
|
-
browserLogsEntries.forEach(log => {
|
|
157
|
-
browserLogs += `\"${log.level}\" \"${log.type}\" \"${log.message}\"\n`;
|
|
158
|
-
});
|
|
159
|
-
const browserLogsStream = fs.createWriteStream(browserLogsFileName);
|
|
160
|
-
browserLogsStream.write(Buffer.from(browserLogs));
|
|
161
|
-
browserLogsStream.end();
|
|
162
|
-
// stop and remove running workspace
|
|
163
|
-
if (TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST) {
|
|
164
|
-
Logger_1.Logger.warn('Property DELETE_WORKSPACE_ON_FAILED_TEST se to true - trying to stop and delete running workspace.');
|
|
165
|
-
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(CheReporter.latestWorkspace);
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
CheReporter.latestWorkspace = '';
|
|
171
|
-
module.exports = CheReporter;
|
|
172
|
-
//# sourceMappingURL=CheReporter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheReporter.js","sourceRoot":"","sources":["../../utils/CheReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.DevWorkspaceConfigurationHelper = void 0;
|
|
26
|
-
const main_1 = require("@eclipse-che/che-devworkspace-generator/lib/main");
|
|
27
|
-
const yaml_1 = __importDefault(require("yaml"));
|
|
28
|
-
const axios = __importStar(require("axios"));
|
|
29
|
-
const Logger_1 = require("./Logger");
|
|
30
|
-
const TestConstants_1 = require("../constants/TestConstants");
|
|
31
|
-
const ShellExecutor_1 = require("./ShellExecutor");
|
|
32
|
-
class DevWorkspaceConfigurationHelper {
|
|
33
|
-
constructor(params) {
|
|
34
|
-
this.generator = new main_1.Main();
|
|
35
|
-
// check if all undefined
|
|
36
|
-
if (!(params.editorPath || params.editorEntry || params.editorContent)) {
|
|
37
|
-
params.editorEntry = 'che-incubator/che-code/latest';
|
|
38
|
-
}
|
|
39
|
-
// check if one or both has value
|
|
40
|
-
if (TestConstants_1.TestConstants.TS_API_TEST_UDI_IMAGE || params.defaultComponentImage) {
|
|
41
|
-
params.injectDefaultComponent = 'true';
|
|
42
|
-
// check if not explicitly passed than assign value from the constants
|
|
43
|
-
if (!params.defaultComponentImage) {
|
|
44
|
-
params.defaultComponentImage = TestConstants_1.TestConstants.TS_API_TEST_UDI_IMAGE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// assign value from the constants if not explicitly passed
|
|
48
|
-
if (TestConstants_1.TestConstants.TS_API_TEST_PLUGIN_REGISTRY_URL && !params.pluginRegistryUrl) {
|
|
49
|
-
params.pluginRegistryUrl = TestConstants_1.TestConstants.TS_API_TEST_PLUGIN_REGISTRY_URL;
|
|
50
|
-
}
|
|
51
|
-
if (TestConstants_1.TestConstants.TS_API_TEST_CHE_CODE_EDITOR_DEVFILE_URI && !params.editorContent) {
|
|
52
|
-
params.editorContent = ShellExecutor_1.ShellExecutor.curl(TestConstants_1.TestConstants.TS_API_TEST_CHE_CODE_EDITOR_DEVFILE_URI).stdout;
|
|
53
|
-
}
|
|
54
|
-
this.params = params;
|
|
55
|
-
}
|
|
56
|
-
async generateDevfileContext() {
|
|
57
|
-
Logger_1.Logger.debug(`${this.constructor.name}.${this.generateDevfileContext.name}`);
|
|
58
|
-
if (!this.params.projects) {
|
|
59
|
-
this.params.projects = [];
|
|
60
|
-
}
|
|
61
|
-
return await this.generator.generateDevfileContext(Object.assign(Object.assign({}, this.params), { projects: this.params.projects }), axios.default);
|
|
62
|
-
}
|
|
63
|
-
// write templates and then DevWorkspace in a single file
|
|
64
|
-
async getDevWorkspaceConfigurationYamlAsString(context) {
|
|
65
|
-
Logger_1.Logger.debug(`${this.constructor.name}.${this.getDevWorkspaceConfigurationYamlAsString.name}`);
|
|
66
|
-
const allContentArray = context.devWorkspaceTemplates.map((template) => yaml_1.default.stringify(template));
|
|
67
|
-
allContentArray.push(yaml_1.default.stringify(context.devWorkspace));
|
|
68
|
-
return allContentArray.join('---\n');
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.DevWorkspaceConfigurationHelper = DevWorkspaceConfigurationHelper;
|
|
72
|
-
//# sourceMappingURL=DevWorkspaceConfigurationHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevWorkspaceConfigurationHelper.js","sourceRoot":"","sources":["../../utils/DevWorkspaceConfigurationHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAqF;AAGrF,gDAAwB;AACxB,6CAA+B;AAC/B,qCAAkC;AAClC,8DAA2D;AAC3D,mDAAgD;AAwBhD,MAAa,+BAA+B;IAIxC,YAAY,MAAsB;QAH1B,cAAS,GAAc,IAAI,WAAS,EAAE,CAAC;QAI3C,yBAAyB;QACzB,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACpE,MAAM,CAAC,WAAW,GAAG,+BAA+B,CAAC;SACxD;QACD,iCAAiC;QACjC,IAAI,6BAAa,CAAC,qBAAqB,IAAI,MAAM,CAAC,qBAAqB,EAAE;YACrE,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACvC,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBAC/B,MAAM,CAAC,qBAAqB,GAAG,6BAAa,CAAC,qBAAqB,CAAC;aACtE;SACJ;QACD,2DAA2D;QAC3D,IAAI,6BAAa,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC5E,MAAM,CAAC,iBAAiB,GAAG,6BAAa,CAAC,+BAA+B,CAAC;SAC5E;QACD,IAAI,6BAAa,CAAC,uCAAuC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAChF,MAAM,CAAC,aAAa,GAAG,6BAAa,CAAC,IAAI,CAAC,6BAAa,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC;SAC3G;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SAC7B;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,sBAAsB,iCAEvC,IAAI,CAAC,MAAM,KACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,KAElC,KAAK,CAAC,OAAc,CACvB,CAAC;IACN,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,wCAAwC,CAAC,OAAuB;QAClE,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,eAAe,GAAU,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAC5D,CAAC,QAAsC,EAAE,EAAE,CAAC,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACvE,CAAC;QACF,eAAe,CAAC,IAAI,CAAC,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3D,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACJ;AAnDD,0EAmDC"}
|