@eclipse-che/che-e2e 7.64.0-dev-20514b2 → 7.64.0-dev-db63138
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/README.md +11 -37
- package/build/dockerfiles/entrypoint.sh +1 -1
- package/configs/inversify.config.ts +11 -26
- package/configs/inversify.types.ts +3 -33
- package/configs/mocharc.ts +9 -3
- package/configs/sh-scripts/initDefaultValues.sh +0 -5
- package/constants/TestConstants.ts +34 -96
- package/dist/configs/inversify.config.js +8 -23
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +3 -33
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/configs/mocharc.js +11 -4
- package/dist/configs/mocharc.js.map +1 -1
- package/dist/constants/TestConstants.js +31 -86
- package/dist/constants/TestConstants.js.map +1 -1
- package/dist/driver/ChromeDriver.js +1 -1
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +3 -11
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +16 -1
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/dashboard/Workspaces.js +1 -3
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
- package/dist/pageobjects/git-providers/OauthPage.js +150 -0
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +65 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -0
- package/dist/pageobjects/login/OcpRedHatLoginPage.js +67 -0
- package/dist/pageobjects/login/OcpRedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RedHatLoginPage.js +78 -0
- package/dist/pageobjects/login/RedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +3 -21
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/CheLoginPage.js +0 -33
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpLoginPage.js +0 -14
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
- package/dist/specs/MochaHooks.js +2 -2
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/devfiles/EmptyWorkspace.spec.js +1 -0
- package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/devfiles/Quarkus.spec.js +50 -0
- package/dist/specs/devfiles/Quarkus.spec.js.map +1 -0
- package/dist/specs/factory/Factory.spec.js +160 -0
- package/dist/specs/factory/Factory.spec.js.map +1 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +228 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +220 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +66 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -0
- package/dist/tests-library/LoginTests.js +10 -2
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +3 -6
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/BrowserTabsUtil.js +2 -21
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/utils/DriverHelper.js +11 -73
- package/dist/utils/DriverHelper.js.map +1 -1
- package/dist/utils/Logger.js +5 -0
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/Sanitizer.js.map +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/vsc/GitUtil.js +41 -0
- package/dist/utils/vsc/GitUtil.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +0 -3
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
- package/dist/utils/workspace/TestWorkspaceUtil.js +2 -192
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/driver/ChromeDriver.ts +1 -1
- package/index.ts +37 -0
- package/package.json +9 -5
- package/pageobjects/dashboard/CreateWorkspace.ts +4 -15
- package/pageobjects/dashboard/Dashboard.ts +29 -4
- package/pageobjects/dashboard/Workspaces.ts +1 -3
- package/pageobjects/git-providers/OauthPage.ts +156 -0
- package/pageobjects/ide/CheCodeLocatorLoader.ts +69 -0
- package/pageobjects/login/OcpRedHatLoginPage.ts +49 -0
- package/pageobjects/login/RedHatLoginPage.ts +62 -0
- package/pageobjects/login/RegularUserOcpCheLoginPage.ts +1 -20
- package/pageobjects/openshift/CheLoginPage.ts +6 -55
- package/pageobjects/openshift/OcpLoginPage.ts +0 -21
- package/specs/MochaHooks.ts +2 -2
- package/specs/devfiles/EmptyWorkspace.spec.ts +1 -0
- package/specs/devfiles/Quarkus.spec.ts +52 -0
- package/specs/factory/Factory.spec.ts +199 -0
- package/specs/factory/NoSetupRepoFactory.spec.ts +272 -0
- package/specs/factory/RefusedOAuthFactory.spec.ts +260 -0
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +74 -0
- package/tests-library/LoginTests.ts +9 -1
- package/tests-library/WorkspaceHandlingTests.ts +3 -7
- package/utils/BrowserTabsUtil.ts +2 -24
- package/utils/DriverHelper.ts +9 -84
- package/utils/Logger.ts +5 -0
- package/utils/Sanitizer.ts +0 -1
- package/utils/request-handlers/CheApiRequestHandler.ts +1 -1
- package/utils/vsc/GitUtil.ts +28 -0
- package/utils/workspace/ApiUrlResolver.ts +0 -4
- package/utils/workspace/ITestWorkspaceUtil.ts +1 -56
- package/utils/workspace/TestWorkspaceUtil.ts +2 -243
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +0 -97
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +0 -1
- package/dist/pageobjects/login/MultiUserLoginPage.js +0 -49
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +0 -1
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +0 -74
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +0 -1
- package/dist/pageobjects/third-parties/GitLoginPage.js +0 -85
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +0 -1
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +0 -110
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +0 -1
- package/dist/specs/login/LinkCheAndOcpUsers.spec.js +0 -40
- package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +0 -1
- package/dist/utils/WorkspaceNameHandler.js +0 -60
- package/dist/utils/WorkspaceNameHandler.js.map +0 -1
- package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js +0 -50
- package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
- package/dist/utils/request-handlers/tokens/ITokenHandler.js +0 -12
- package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +0 -1
- package/dist/utils/vsc/CheGitApi.js +0 -42
- package/dist/utils/vsc/CheGitApi.js.map +0 -1
- package/dist/utils/vsc/github/GitHubUtil.js +0 -126
- package/dist/utils/vsc/github/GitHubUtil.js.map +0 -1
- package/files/devfiles/plugins/GitHubPullRequestPlugin.yaml +0 -11
- package/files/devfiles/plugins/InstallPluginUsingUI.yaml +0 -3
- package/files/devfiles/plugins/Java11PluginTest.yaml +0 -17
- package/files/devfiles/plugins/PhpPluginTest.yaml +0 -47
- package/files/devfiles/plugins/PythonPluginTest.yaml +0 -14
- package/files/devfiles/plugins/TypescriptNodeDebug2PluginTest.yaml +0 -49
- package/files/devfiles/plugins/VscodeKubernetesPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeShellcheckPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeValePlugin.yaml +0 -42
- package/files/devfiles/plugins/VscodeXmlPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeYamlPlugin.yaml +0 -12
- package/files/happy-path/containers-happy-path.yaml +0 -127
- package/files/happy-path/happy-path-workspace.yaml +0 -95
- package/files/happy-path/petclinic-classpath.txt +0 -49
- package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +0 -95
- package/pageobjects/login/MultiUserLoginPage.ts +0 -33
- package/pageobjects/login/UpdateAccountInformationPage.ts +0 -70
- package/pageobjects/third-parties/GitLoginPage.ts +0 -81
- package/pageobjects/third-parties/GitOauthAppsSettings.ts +0 -110
- package/specs/login/LinkCheAndOcpUsers.spec.ts +0 -49
- package/utils/WorkspaceNameHandler.ts +0 -48
- package/utils/request-handlers/tokens/CheMultiuserTokenHandler.ts +0 -41
- package/utils/request-handlers/tokens/ITokenHandler.ts +0 -14
- package/utils/vsc/CheGitApi.ts +0 -22
- package/utils/vsc/github/GitHubUtil.ts +0 -110
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OauthPage = void 0;
|
|
16
|
+
/*********************************************************************
|
|
17
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
18
|
+
*
|
|
19
|
+
* This program and the accompanying materials are made
|
|
20
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
21
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
22
|
+
*
|
|
23
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
24
|
+
**********************************************************************/
|
|
25
|
+
const inversify_1 = require("inversify");
|
|
26
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
27
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
28
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
29
|
+
const TestConstants_1 = require("../../constants/TestConstants");
|
|
30
|
+
const Logger_1 = require("../../utils/Logger");
|
|
31
|
+
const TimeoutConstants_1 = require("../../constants/TimeoutConstants");
|
|
32
|
+
let OauthPage = class OauthPage {
|
|
33
|
+
constructor(driverHelper) {
|
|
34
|
+
this.driverHelper = driverHelper;
|
|
35
|
+
switch (TestConstants_1.TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER) {
|
|
36
|
+
case TestConstants_1.GitProviderType.BITBUCKET:
|
|
37
|
+
{
|
|
38
|
+
this.loginForm = selenium_webdriver_1.By.id('j_username');
|
|
39
|
+
this.passwordForm = selenium_webdriver_1.By.id('j_password');
|
|
40
|
+
this.approveButton = selenium_webdriver_1.By.xpath('//*[@id="approve"]');
|
|
41
|
+
this.submitButton = selenium_webdriver_1.By.xpath('//*[@id="submit"]');
|
|
42
|
+
this.denyAccessButton = selenium_webdriver_1.By.xpath('//*[@id="deny"]');
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
case TestConstants_1.GitProviderType.GITLAB:
|
|
46
|
+
{
|
|
47
|
+
this.loginForm = TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? selenium_webdriver_1.By.id('username') : selenium_webdriver_1.By.id('user_login');
|
|
48
|
+
this.passwordForm = TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? selenium_webdriver_1.By.id('password') : selenium_webdriver_1.By.id('user_password');
|
|
49
|
+
this.submitButton = TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? selenium_webdriver_1.By.xpath('//input[@data-qa-selector="sign_in_button"]') : selenium_webdriver_1.By.xpath('//button[@data-qa-selector="sign_in_button"]');
|
|
50
|
+
this.approveButton = selenium_webdriver_1.By.xpath('//*[@value="Authorize"]');
|
|
51
|
+
this.denyAccessButton = selenium_webdriver_1.By.xpath('//input[@value="Deny"]');
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
case TestConstants_1.GitProviderType.GITHUB:
|
|
55
|
+
{
|
|
56
|
+
this.loginForm = selenium_webdriver_1.By.id('login_field');
|
|
57
|
+
this.passwordForm = selenium_webdriver_1.By.id('password');
|
|
58
|
+
this.approveButton = selenium_webdriver_1.By.xpath('//*[@id="js-oauth-authorize-btn"]');
|
|
59
|
+
this.submitButton = selenium_webdriver_1.By.xpath('//*[@value="Sign in"]');
|
|
60
|
+
this.denyAccessButton = selenium_webdriver_1.By.xpath('//button[contains(., "Cancel")]');
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
default: {
|
|
64
|
+
throw new Error(`Invalid git provider. The value should be ${TestConstants_1.GitProviderType.GITHUB}, ${TestConstants_1.GitProviderType.GITLAB} or ${TestConstants_1.GitProviderType.BITBUCKET}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async waitLoginPage() {
|
|
69
|
+
Logger_1.Logger.debug('OauthPage.waitLoginPage');
|
|
70
|
+
// for gitlab server https://gitlab.cee.redhat.com
|
|
71
|
+
if (!TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN &&
|
|
72
|
+
TestConstants_1.TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER === TestConstants_1.GitProviderType.GITLAB) {
|
|
73
|
+
{
|
|
74
|
+
Logger_1.Logger.debug(`OauthPage.login - go to ${TestConstants_1.TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER} Standard login section`);
|
|
75
|
+
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath('//a[@data-qa-selector="standard_tab"]'));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
await this.driverHelper.waitVisibility(this.loginForm, TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM * 3);
|
|
79
|
+
}
|
|
80
|
+
async enterUserName(userName) {
|
|
81
|
+
Logger_1.Logger.debug(`this.enterUserName "${userName}"`);
|
|
82
|
+
await this.driverHelper.enterValue(this.loginForm, userName);
|
|
83
|
+
}
|
|
84
|
+
async enterPassword(password) {
|
|
85
|
+
Logger_1.Logger.debug(`OauthPage.enterPassword`);
|
|
86
|
+
await this.driverHelper.enterValue(this.passwordForm, password);
|
|
87
|
+
}
|
|
88
|
+
async clickOnLoginButton() {
|
|
89
|
+
Logger_1.Logger.debug('OauthPage.clickOnLoginButton');
|
|
90
|
+
await this.driverHelper.waitAndClick(this.submitButton);
|
|
91
|
+
}
|
|
92
|
+
async waitClosingLoginPage() {
|
|
93
|
+
Logger_1.Logger.debug('OauthPage.waitClosingLoginPage');
|
|
94
|
+
await this.driverHelper.waitDisappearance(this.loginForm);
|
|
95
|
+
}
|
|
96
|
+
async waitOauthPage() {
|
|
97
|
+
Logger_1.Logger.debug('OauthPage.waitOauthPage');
|
|
98
|
+
await this.driverHelper.waitVisibility(this.approveButton);
|
|
99
|
+
}
|
|
100
|
+
async clickOnApproveButton() {
|
|
101
|
+
Logger_1.Logger.debug('OauthPage.clickOnApproveButton');
|
|
102
|
+
await this.driverHelper.waitAndClick(this.approveButton);
|
|
103
|
+
}
|
|
104
|
+
async clickOnDenyAccessButton() {
|
|
105
|
+
Logger_1.Logger.debug('OauthPage.clickOnDenyAccessButton');
|
|
106
|
+
await this.driverHelper.waitAndClick(this.denyAccessButton);
|
|
107
|
+
}
|
|
108
|
+
async waitDisappearanceOauthPage() {
|
|
109
|
+
Logger_1.Logger.debug('OauthPage.waitDisappearanceOauthPage');
|
|
110
|
+
await this.driverHelper.waitDisappearance(this.approveButton);
|
|
111
|
+
}
|
|
112
|
+
async login() {
|
|
113
|
+
Logger_1.Logger.debug('OauthPage.login');
|
|
114
|
+
await this.waitLoginPage();
|
|
115
|
+
await this.enterUserName(TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_USERNAME);
|
|
116
|
+
await this.enterPassword(TestConstants_1.TestConstants.TS_SELENIUM_GIT_PROVIDER_PASSWORD);
|
|
117
|
+
await this.clickOnLoginButton();
|
|
118
|
+
await this.waitClosingLoginPage();
|
|
119
|
+
}
|
|
120
|
+
async confirmAccess() {
|
|
121
|
+
Logger_1.Logger.debug('OauthPage.confirmAccess');
|
|
122
|
+
try {
|
|
123
|
+
await this.clickOnApproveButton();
|
|
124
|
+
await this.waitDisappearanceOauthPage();
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
Logger_1.Logger.debug('OauthPage.confirmAccess - access was not confirmed, retrying to click conformation button');
|
|
128
|
+
// workaround for github oauth conformation page (bot security)
|
|
129
|
+
await this.driverHelper.getAction()
|
|
130
|
+
.move({
|
|
131
|
+
origin: await this.driverHelper.waitPresence(this.approveButton)
|
|
132
|
+
})
|
|
133
|
+
.click()
|
|
134
|
+
.perform();
|
|
135
|
+
await this.waitDisappearanceOauthPage();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async denyAccess() {
|
|
139
|
+
Logger_1.Logger.debug('OauthPage.denyAccess');
|
|
140
|
+
await this.clickOnDenyAccessButton();
|
|
141
|
+
await this.waitDisappearanceOauthPage();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
OauthPage = __decorate([
|
|
145
|
+
inversify_1.injectable(),
|
|
146
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
147
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
148
|
+
], OauthPage);
|
|
149
|
+
exports.OauthPage = OauthPage;
|
|
150
|
+
//# sourceMappingURL=OauthPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OauthPage.js","sourceRoot":"","sources":["../../../pageobjects/git-providers/OauthPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CheCodeLocatorLoader = void 0;
|
|
7
|
+
/*********************************************************************
|
|
8
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
9
|
+
*
|
|
10
|
+
* This program and the accompanying materials are made
|
|
11
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
12
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
15
|
+
**********************************************************************/
|
|
16
|
+
const loader_1 = require("monaco-page-objects/out/locators/loader");
|
|
17
|
+
const vscode_extension_tester_locators_1 = require("vscode-extension-tester-locators");
|
|
18
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
19
|
+
const clone_deep_1 = __importDefault(require("clone-deep"));
|
|
20
|
+
const TestConstants_1 = require("../../constants/TestConstants");
|
|
21
|
+
/**
|
|
22
|
+
* This class allows us to change or add some specific locators base on "monaco-page-object" and "vscode-extension-tester-locators".
|
|
23
|
+
* Use method webLocatorDiff(). To change place locator into field "locators", to add - "extras".
|
|
24
|
+
* To see full locators list check "node_modules/vscode-extension-tester-locators/out/lib".
|
|
25
|
+
*/
|
|
26
|
+
class CheCodeLocatorLoader extends loader_1.LocatorLoader {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, vscode_extension_tester_locators_1.getLocatorsPath());
|
|
29
|
+
this.webCheCodeLocators = this.mergeLocators();
|
|
30
|
+
}
|
|
31
|
+
webLocatorDiff() {
|
|
32
|
+
return {
|
|
33
|
+
locators: {
|
|
34
|
+
WelcomeContent: {
|
|
35
|
+
text: selenium_webdriver_1.By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust")]'),
|
|
36
|
+
button: selenium_webdriver_1.By.xpath('//a[contains(., "trust")]')
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
merge(target, obj) {
|
|
42
|
+
for (const key in obj) {
|
|
43
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
let oldVal = obj[key];
|
|
47
|
+
let newVal = target[key];
|
|
48
|
+
if (typeof (newVal) === 'object' && typeof (oldVal) === 'object') {
|
|
49
|
+
target[key] = this.merge(newVal, oldVal);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
target[key] = clone_deep_1.default(oldVal);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return target;
|
|
56
|
+
}
|
|
57
|
+
mergeLocators() {
|
|
58
|
+
const target = super.loadLocators();
|
|
59
|
+
this.merge(target, this.webLocatorDiff().locators);
|
|
60
|
+
this.merge(target, this.webLocatorDiff().extras);
|
|
61
|
+
return target;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.CheCodeLocatorLoader = CheCodeLocatorLoader;
|
|
65
|
+
//# sourceMappingURL=CheCodeLocatorLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheCodeLocatorLoader.js","sourceRoot":"","sources":["../../../pageobjects/ide/CheCodeLocatorLoader.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;wEAQwE;AACxE,oEAAwE;AACxE,uFAAmE;AAEnE,2DAAwC;AACxC,4DAA+B;AAC/B,iEAA8D;AAE9D;;;;GAIG;AAEH,MAAa,oBAAqB,SAAQ,sBAAa;IAGnD;QACI,KAAK,CAAC,6BAAa,CAAC,4CAA4C,EAAE,6BAAa,CAAC,4CAA4C,EAAE,kDAAe,EAAE,CAAC,CAAC;QACjJ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAc,CAAC;IAC/D,CAAC;IAEO,cAAc;QAClB,OAAO;YACH,QAAQ,EAAE;gBACN,cAAc,EAAE;oBACZ,IAAI,EAAE,uBAAE,CAAC,KAAK,CAAC,iEAAiE,CAAC;oBACjF,MAAM,EAAE,uBAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC;iBAChD;aACJ;SACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,MAAW,EAAE,GAAQ;QAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACjD,SAAS;aACZ;YAED,IAAI,MAAM,GAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,MAAM,GAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;gBAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAC5C;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAK,CAAC,MAAM,CAAC,CAAC;aAC/B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,aAAa;QACjB,MAAM,MAAM,GAAa,KAAK,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,QAAoB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,MAAkB,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA7CD,oDA6CC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OcpRedHatLoginPage = void 0;
|
|
16
|
+
/*********************************************************************
|
|
17
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
18
|
+
*
|
|
19
|
+
* This program and the accompanying materials are made
|
|
20
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
21
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
22
|
+
*
|
|
23
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
24
|
+
**********************************************************************/
|
|
25
|
+
require("reflect-metadata");
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const RedHatLoginPage_1 = require("./RedHatLoginPage");
|
|
28
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
29
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
30
|
+
const TimeoutConstants_1 = require("../../constants/TimeoutConstants");
|
|
31
|
+
const OcpLoginPage_1 = require("../openshift/OcpLoginPage");
|
|
32
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
33
|
+
const Logger_1 = require("../../utils/Logger");
|
|
34
|
+
let OcpRedHatLoginPage = class OcpRedHatLoginPage {
|
|
35
|
+
constructor(ocpLogin, redHatLogin, driverHelper) {
|
|
36
|
+
this.ocpLogin = ocpLogin;
|
|
37
|
+
this.redHatLogin = redHatLogin;
|
|
38
|
+
this.driverHelper = driverHelper;
|
|
39
|
+
this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR = `//div[@class='panel-login']`;
|
|
40
|
+
this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR = `${this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR}/div[contains(@class, 'panel-content')]/form/button`;
|
|
41
|
+
}
|
|
42
|
+
async login() {
|
|
43
|
+
Logger_1.Logger.debug('OcpRedHatLoginPage.login');
|
|
44
|
+
Logger_1.Logger.debug('OcpRedHatLoginPage.login wait for LogInWithOpenShift page and click button');
|
|
45
|
+
await this.driverHelper.waitPresence(selenium_webdriver_1.By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR), TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
46
|
+
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR));
|
|
47
|
+
await this.ocpLogin.isIdentityProviderLinkVisible();
|
|
48
|
+
await this.ocpLogin.clickOnLoginProviderTitle();
|
|
49
|
+
await this.redHatLogin.waitRedHatLoginWelcomePage();
|
|
50
|
+
await this.redHatLogin.enterUserNameRedHat();
|
|
51
|
+
await this.redHatLogin.clickNextButton();
|
|
52
|
+
await this.redHatLogin.enterPasswordRedHat();
|
|
53
|
+
await this.redHatLogin.clickOnLoginButton();
|
|
54
|
+
await this.redHatLogin.waitDisappearanceRedHatLoginWelcomePage();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
OcpRedHatLoginPage = __decorate([
|
|
58
|
+
inversify_1.injectable(),
|
|
59
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.OcpLoginPage)),
|
|
60
|
+
__param(1, inversify_1.inject(inversify_types_1.CLASSES.RedHatLoginPage)),
|
|
61
|
+
__param(2, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
62
|
+
__metadata("design:paramtypes", [OcpLoginPage_1.OcpLoginPage,
|
|
63
|
+
RedHatLoginPage_1.RedHatLoginPage,
|
|
64
|
+
DriverHelper_1.DriverHelper])
|
|
65
|
+
], OcpRedHatLoginPage);
|
|
66
|
+
exports.OcpRedHatLoginPage = OcpRedHatLoginPage;
|
|
67
|
+
//# sourceMappingURL=OcpRedHatLoginPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OcpRedHatLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/login/OcpRedHatLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,uDAAoD;AACpD,mEAAwD;AACxD,2DAAwC;AACxC,uEAAoE;AAEpE,4DAAyD;AACzD,2DAAwD;AACxD,+CAA4C;AAG5C,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAK3B,YACmD,QAAsB,EACnB,WAA4B,EAC/B,YAA0B;QAF1B,aAAQ,GAAR,QAAQ,CAAc;QACnB,gBAAW,GAAX,WAAW,CAAiB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;QAN5D,0CAAqC,GAAW,6BAA6B,CAAC;QAC9E,iDAA4C,GAAW,GAAG,IAAI,CAAC,qCAAqC,qDAAqD,CAAC;IAK1F,CAAC;IAElF,KAAK,CAAC,KAAK;QACP,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEzC,eAAM,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,EAAE,mCAAgB,CAAC,6BAA6B,CAAC,CAAC;QAC3I,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAElG,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;QAEhD,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,uCAAuC,EAAE,CAAC;IACrE,CAAC;CACJ,CAAA;AA3BY,kBAAkB;IAD9B,sBAAU,EAAE;IAOJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,WAAA,kBAAM,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAA;IAC/B,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAF4B,2BAAY;QACN,iCAAe;QACjB,2BAAY;GARpE,kBAAkB,CA2B9B;AA3BY,gDAAkB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RedHatLoginPage = void 0;
|
|
16
|
+
/*********************************************************************
|
|
17
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
18
|
+
*
|
|
19
|
+
* This program and the accompanying materials are made
|
|
20
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
21
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
22
|
+
*
|
|
23
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
24
|
+
**********************************************************************/
|
|
25
|
+
require("reflect-metadata");
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
28
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
29
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
30
|
+
const Logger_1 = require("../../utils/Logger");
|
|
31
|
+
const TestConstants_1 = require("../../constants/TestConstants");
|
|
32
|
+
const USERNAME_INPUT_ID = 'username-verification';
|
|
33
|
+
const PASSWORD_INPUT_ID = 'password';
|
|
34
|
+
const NEXT_BUTTON_ID = 'login-show-step2';
|
|
35
|
+
const LOGIN_BUTTON_ID = 'rh-password-verification-submit-button';
|
|
36
|
+
const timeout = 10000;
|
|
37
|
+
let RedHatLoginPage = class RedHatLoginPage {
|
|
38
|
+
constructor(driverHelper) {
|
|
39
|
+
this.driverHelper = driverHelper;
|
|
40
|
+
}
|
|
41
|
+
async waitRedHatLoginWelcomePage() {
|
|
42
|
+
Logger_1.Logger.debug('RedHatLoginPage.waitRedHatLoginWelcomePage');
|
|
43
|
+
await this.driverHelper.waitVisibility(selenium_webdriver_1.By.id(USERNAME_INPUT_ID));
|
|
44
|
+
}
|
|
45
|
+
async enterPasswordRedHat() {
|
|
46
|
+
Logger_1.Logger.debug('RedHatLoginPage.enterPasswordRedHat');
|
|
47
|
+
const passwordFieldLocator = selenium_webdriver_1.By.id(PASSWORD_INPUT_ID);
|
|
48
|
+
await this.driverHelper.waitVisibility(passwordFieldLocator, 3000);
|
|
49
|
+
await this.driverHelper.enterValue(passwordFieldLocator, TestConstants_1.TestConstants.TS_SELENIUM_PASSWORD, timeout);
|
|
50
|
+
}
|
|
51
|
+
async clickOnLoginButton() {
|
|
52
|
+
Logger_1.Logger.debug('RedHatLoginPage.clickOnLoginButton');
|
|
53
|
+
const loginButtonLocator = selenium_webdriver_1.By.id(LOGIN_BUTTON_ID);
|
|
54
|
+
await this.driverHelper.waitAndClick(loginButtonLocator, timeout);
|
|
55
|
+
}
|
|
56
|
+
async waitDisappearanceRedHatLoginWelcomePage() {
|
|
57
|
+
Logger_1.Logger.debug('RedHatLoginPage.waitDisappearanceRedHatLoginWelcomePage');
|
|
58
|
+
await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.id(LOGIN_BUTTON_ID));
|
|
59
|
+
}
|
|
60
|
+
async enterUserNameRedHat() {
|
|
61
|
+
Logger_1.Logger.debug('RedHatLoginPage.enterUserNameRedHat');
|
|
62
|
+
const usernameFieldLocator = selenium_webdriver_1.By.id(USERNAME_INPUT_ID);
|
|
63
|
+
await this.driverHelper.waitVisibility(usernameFieldLocator, 20000);
|
|
64
|
+
await this.driverHelper.enterValue(usernameFieldLocator, TestConstants_1.TestConstants.TS_SELENIUM_USERNAME, timeout);
|
|
65
|
+
}
|
|
66
|
+
async clickNextButton() {
|
|
67
|
+
Logger_1.Logger.debug('RedHatLoginPage.clickNextButton');
|
|
68
|
+
const nextButtonLocator = selenium_webdriver_1.By.id(NEXT_BUTTON_ID);
|
|
69
|
+
await this.driverHelper.waitAndClick(nextButtonLocator, timeout);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
RedHatLoginPage = __decorate([
|
|
73
|
+
inversify_1.injectable(),
|
|
74
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
75
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
76
|
+
], RedHatLoginPage);
|
|
77
|
+
exports.RedHatLoginPage = RedHatLoginPage;
|
|
78
|
+
//# sourceMappingURL=RedHatLoginPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedHatLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/login/RedHatLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwC;AACxC,mEAAwD;AACxD,2DAAwD;AACxD,+CAA4C;AAC5C,iEAA8D;AAE9D,MAAM,iBAAiB,GAAW,uBAAuB,CAAC;AAC1D,MAAM,iBAAiB,GAAW,UAAU,CAAC;AAC7C,MAAM,cAAc,GAAW,kBAAkB,CAAC;AAClD,MAAM,eAAe,GAAW,wCAAwC,CAAC;AACzE,MAAM,OAAO,GAAW,KAAK,CAAC;AAG9B,IAAa,eAAe,GAA5B,MAAa,eAAe;IAExB,YACmD,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAI,CAAC;IAElF,KAAK,CAAC,0BAA0B;QAC5B,eAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,eAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAO,uBAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,6BAAa,CAAC,oBAAoB,EAAE,OAAO,CAAE,CAAC;IAC3G,CAAC;IACD,KAAK,CAAC,kBAAkB;QACpB,eAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,MAAM,kBAAkB,GAAO,uBAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,uCAAuC;QACzC,eAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,uBAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,mBAAmB;QACrB,eAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAO,uBAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,6BAAa,CAAC,oBAAoB,EAAE,OAAO,CAAE,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,eAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAO,uBAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AArCY,eAAe;IAD3B,sBAAU,EAAE;IAIJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAAgC,2BAAY;GAHpE,eAAe,CAqC3B;AArCY,0CAAe"}
|
|
@@ -24,7 +24,6 @@ exports.RegularUserOcpCheLoginPage = void 0;
|
|
|
24
24
|
**********************************************************************/
|
|
25
25
|
require("reflect-metadata");
|
|
26
26
|
const OcpLoginPage_1 = require("../openshift/OcpLoginPage");
|
|
27
|
-
const CheLoginPage_1 = require("../openshift/CheLoginPage");
|
|
28
27
|
const inversify_1 = require("inversify");
|
|
29
28
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
30
29
|
const TestConstants_1 = require("../../constants/TestConstants");
|
|
@@ -33,16 +32,15 @@ const TimeoutConstants_1 = require("../../constants/TimeoutConstants");
|
|
|
33
32
|
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
34
33
|
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
35
34
|
let RegularUserOcpCheLoginPage = class RegularUserOcpCheLoginPage {
|
|
36
|
-
constructor(ocpLogin,
|
|
35
|
+
constructor(ocpLogin, driverHelper) {
|
|
37
36
|
this.ocpLogin = ocpLogin;
|
|
38
|
-
this.cheLogin = cheLogin;
|
|
39
37
|
this.driverHelper = driverHelper;
|
|
40
38
|
this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR = `//div[@class='panel-login']`;
|
|
41
39
|
this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR = `${this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR}/div[contains(@class, 'panel-content')]/form/button`;
|
|
42
40
|
}
|
|
43
41
|
async login() {
|
|
44
42
|
Logger_1.Logger.debug('RegularUserOcpCheLoginPage.login');
|
|
45
|
-
Logger_1.Logger.debug('
|
|
43
|
+
Logger_1.Logger.debug('RegularUserOcpCheLoginPage.login wait for LogInWithOpenShift page and click button');
|
|
46
44
|
await this.driverHelper.waitPresence(selenium_webdriver_1.By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR), TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
47
45
|
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR));
|
|
48
46
|
if (await this.ocpLogin.isIdentityProviderLinkVisible()) {
|
|
@@ -57,29 +55,13 @@ let RegularUserOcpCheLoginPage = class RegularUserOcpCheLoginPage {
|
|
|
57
55
|
await this.ocpLogin.waitAuthorizeOpenShiftIdentityProviderPage();
|
|
58
56
|
await this.ocpLogin.clickOnApproveAuthorizeAccessButton();
|
|
59
57
|
}
|
|
60
|
-
if (await this.cheLogin.isFirstBrokerLoginPageVisible()) {
|
|
61
|
-
await this.cheLogin.waitFirstBrokerLoginPage();
|
|
62
|
-
await this.cheLogin.enterEmailFirstBrokerLoginPage(TestConstants_1.TestConstants.TS_SELENIUM_EMAIL_USER);
|
|
63
|
-
await this.cheLogin.enterFirstNameBrokerLoginPage(TestConstants_1.TestConstants.TS_SELENIUM_FIRST_NAME);
|
|
64
|
-
await this.cheLogin.enterLastNameBrokerLoginPage(TestConstants_1.TestConstants.TS_SELENIUM_LAST_NAME);
|
|
65
|
-
await this.cheLogin.clickOnSubmitButton();
|
|
66
|
-
await this.cheLogin.waitDisappearanceBrokerLoginPage();
|
|
67
|
-
}
|
|
68
|
-
if (await this.ocpLogin.isLinkAccountPageVisible()) {
|
|
69
|
-
await this.ocpLogin.clickOnLinkAccountButton();
|
|
70
|
-
await this.cheLogin.waitEclipseCheLoginFormPage();
|
|
71
|
-
await this.cheLogin.inputPaswordEclipseCheLoginPage(TestConstants_1.TestConstants.TS_SELENIUM_PASSWORD);
|
|
72
|
-
await this.cheLogin.clickEclipseCheLoginButton();
|
|
73
|
-
}
|
|
74
58
|
}
|
|
75
59
|
};
|
|
76
60
|
RegularUserOcpCheLoginPage = __decorate([
|
|
77
61
|
inversify_1.injectable(),
|
|
78
62
|
__param(0, inversify_1.inject(inversify_types_1.CLASSES.OcpLoginPage)),
|
|
79
|
-
__param(1, inversify_1.inject(inversify_types_1.CLASSES.
|
|
80
|
-
__param(2, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
63
|
+
__param(1, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
81
64
|
__metadata("design:paramtypes", [OcpLoginPage_1.OcpLoginPage,
|
|
82
|
-
CheLoginPage_1.CheLoginPage,
|
|
83
65
|
DriverHelper_1.DriverHelper])
|
|
84
66
|
], RegularUserOcpCheLoginPage);
|
|
85
67
|
exports.RegularUserOcpCheLoginPage = RegularUserOcpCheLoginPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegularUserOcpCheLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/login/RegularUserOcpCheLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAE1B,4DAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"RegularUserOcpCheLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/login/RegularUserOcpCheLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAE1B,4DAAyD;AACzD,yCAA+C;AAC/C,mEAAwD;AACxD,iEAA8D;AAC9D,+CAA4C;AAC5C,uEAAoE;AACpE,2DAAwC;AACxC,2DAAwD;AAGxD,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IAKnC,YACmD,QAAsB,EACtB,YAA0B;QAD1B,aAAQ,GAAR,QAAQ,CAAc;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAL5D,0CAAqC,GAAW,6BAA6B,CAAC;QAC9E,iDAA4C,GAAW,GAAG,IAAI,CAAC,qCAAqC,qDAAqD,CAAC;IAI1F,CAAC;IAElF,KAAK,CAAC,KAAK;QACP,eAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEjD,eAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACnG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,EAAE,mCAAgB,CAAC,6BAA6B,CAAC,CAAC;QAC3I,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAElG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;SACnD;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,6BAAa,CAAC,wBAAwB,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,6BAAa,CAAC,wBAAwB,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,0CAA0C,EAAE,CAAC;QAEjE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,+CAA+C,EAAE,EAAE;YACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,0CAA0C,EAAE,CAAC;YACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,mCAAmC,EAAE,CAAC;SAC7D;IACL,CAAC;CACJ,CAAA;AA/BY,0BAA0B;IADtC,sBAAU,EAAE;IAOJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAD4B,2BAAY;QACR,2BAAY;GAPpE,0BAA0B,CA+BtC;AA/BY,gEAA0B"}
|
|
@@ -41,43 +41,10 @@ let CheLoginPage = class CheLoginPage {
|
|
|
41
41
|
Logger_1.Logger.debug(`CheLoginPage.inputUserNameEclipseCheLoginPage username: "${userName}"`);
|
|
42
42
|
await this.driverHelper.enterValue(selenium_webdriver_1.By.id('login'), userName);
|
|
43
43
|
}
|
|
44
|
-
async inputPaswordEclipseCheLoginPage(passw) {
|
|
45
|
-
Logger_1.Logger.debug(`CheLoginPage.inputPaswordEclipseCheLoginPage password: "${passw}"`);
|
|
46
|
-
await this.driverHelper.enterValue(selenium_webdriver_1.By.id('password'), passw);
|
|
47
|
-
}
|
|
48
44
|
async clickEclipseCheLoginButton() {
|
|
49
45
|
Logger_1.Logger.debug('CheLoginPage.clickEclipseCheLoginButton');
|
|
50
46
|
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.id('submit-login'));
|
|
51
47
|
}
|
|
52
|
-
async isFirstBrokerLoginPageVisible() {
|
|
53
|
-
Logger_1.Logger.debug('CheLoginPage.waitFirstBrokerLoginPage');
|
|
54
|
-
return await this.driverHelper.isVisible(selenium_webdriver_1.By.id('kc-update-profile-form'));
|
|
55
|
-
}
|
|
56
|
-
async waitFirstBrokerLoginPage() {
|
|
57
|
-
Logger_1.Logger.debug('CheLoginPage.waitFirstBrokerLoginPage');
|
|
58
|
-
await this.driverHelper.waitVisibility(selenium_webdriver_1.By.id('kc-update-profile-form'), TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
59
|
-
}
|
|
60
|
-
async enterEmailFirstBrokerLoginPage(email) {
|
|
61
|
-
Logger_1.Logger.debug(`CheLoginPage.enterEmailFirstBrokerLoginPage "${email}"`);
|
|
62
|
-
await this.driverHelper.enterValue(selenium_webdriver_1.By.id('email'), email);
|
|
63
|
-
}
|
|
64
|
-
async enterFirstNameBrokerLoginPage(firstName) {
|
|
65
|
-
Logger_1.Logger.debug(`CheLoginPage.enterFirstNameBrokerLoginPage "${firstName}"`);
|
|
66
|
-
await this.driverHelper.enterValue(selenium_webdriver_1.By.id('firstName'), firstName);
|
|
67
|
-
}
|
|
68
|
-
async enterLastNameBrokerLoginPage(lastName) {
|
|
69
|
-
Logger_1.Logger.debug(`CheLoginPage.enterLastNameBrokerLoginPage "${lastName}"`);
|
|
70
|
-
await this.driverHelper.enterValue(selenium_webdriver_1.By.id('lastName'), lastName);
|
|
71
|
-
}
|
|
72
|
-
async clickOnSubmitButton() {
|
|
73
|
-
Logger_1.Logger.debug('CheLoginPage.clickOnSubmitButton');
|
|
74
|
-
const submitButtonlocator = selenium_webdriver_1.By.css('input[type=submit]');
|
|
75
|
-
await this.driverHelper.waitAndClick(submitButtonlocator);
|
|
76
|
-
}
|
|
77
|
-
async waitDisappearanceBrokerLoginPage() {
|
|
78
|
-
Logger_1.Logger.debug('CheLoginPage.waitDisappearanceBrokerLoginPage');
|
|
79
|
-
await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.id('kc-update-profile-form'));
|
|
80
|
-
}
|
|
81
48
|
};
|
|
82
49
|
CheLoginPage = __decorate([
|
|
83
50
|
inversify_1.injectable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/CheLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwD;AACxD,mEAAwD;AACxD,2DAAwC;AACxC,+CAA4C;AAC5C,uEAAoE;AAGpE,IAAa,YAAY,GAAzB,MAAa,YAAY;IAErB,YACmD,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;
|
|
1
|
+
{"version":3,"file":"CheLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/CheLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwD;AACxD,mEAAwD;AACxD,2DAAwC;AACxC,+CAA4C;AAC5C,uEAAoE;AAGpE,IAAa,YAAY,GAAzB,MAAa,YAAY;IAErB,YACmD,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAC7E,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC7B,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAEzD,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,mCAAgB,CAAC,6BAA6B,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,QAAgB;QACnD,eAAM,CAAC,KAAK,CAAC,4DAA4D,QAAQ,GAAG,CAAC,CAAC;QAEtF,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,uBAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC5B,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,CAAC;CACJ,CAAA;AAvBY,YAAY;IADxB,sBAAU,EAAE;IAIJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAAgC,2BAAY;GAHpE,YAAY,CAuBxB;AAvBY,oCAAY"}
|
|
@@ -35,10 +35,6 @@ let OcpLoginPage = OcpLoginPage_1 = class OcpLoginPage {
|
|
|
35
35
|
constructor(driverHelper) {
|
|
36
36
|
this.driverHelper = driverHelper;
|
|
37
37
|
}
|
|
38
|
-
async openLoginPageOpenShift(url) {
|
|
39
|
-
Logger_1.Logger.debug('OcpLoginPage.openLoginPageOpenShift');
|
|
40
|
-
await this.driverHelper.navigateToUrl(url);
|
|
41
|
-
}
|
|
42
38
|
async waitOpenShiftLoginWelcomePage() {
|
|
43
39
|
Logger_1.Logger.debug('OcpLoginPage.waitOpenShiftLoginWelcomePage');
|
|
44
40
|
await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(OcpLoginPage_1.LOGIN_PAGE_OPENSHIFT_XPATH), TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
@@ -85,16 +81,6 @@ let OcpLoginPage = OcpLoginPage_1 = class OcpLoginPage {
|
|
|
85
81
|
Logger_1.Logger.debug('OcpLoginPage.waitDisappearanceOpenShiftLoginWelcomePage');
|
|
86
82
|
await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.xpath(OcpLoginPage_1.LOGIN_PAGE_OPENSHIFT_XPATH));
|
|
87
83
|
}
|
|
88
|
-
async isLinkAccountPageVisible() {
|
|
89
|
-
Logger_1.Logger.debug('OcpLoginPage.isLinkAccountPageVisible');
|
|
90
|
-
const linkAccountLocator = selenium_webdriver_1.By.id(`linkAccount`);
|
|
91
|
-
return await this.driverHelper.waitVisibilityBoolean(linkAccountLocator, 3, 5000);
|
|
92
|
-
}
|
|
93
|
-
async clickOnLinkAccountButton() {
|
|
94
|
-
Logger_1.Logger.debug('OcpLoginPage.clickOnLinkAccountButton');
|
|
95
|
-
const linkAccountLocator = selenium_webdriver_1.By.id(`linkAccount`);
|
|
96
|
-
this.driverHelper.waitAndClick(linkAccountLocator);
|
|
97
|
-
}
|
|
98
84
|
};
|
|
99
85
|
OcpLoginPage.LOGIN_PAGE_OPENSHIFT_XPATH = '//*[contains(text(), \'Welcome\')]';
|
|
100
86
|
OcpLoginPage = OcpLoginPage_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OcpLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/OcpLoginPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwD;AACxD,mEAAwD;AACxD,2DAAwC;AACxC,+CAA4C;AAC5C,iEAA8D;AAC9D,uEAAoE;AAGpE,IAAa,YAAY,oBAAzB,MAAa,YAAY;IAIrB,YACmD,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAI,CAAC;IAElF,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"OcpLoginPage.js","sourceRoot":"","sources":["../../../pageobjects/openshift/OcpLoginPage.ts"],"names":[],"mappings":"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"}
|
package/dist/specs/MochaHooks.js
CHANGED
|
@@ -50,7 +50,7 @@ exports.mochaHooks = {
|
|
|
50
50
|
beforeAll: [
|
|
51
51
|
async function enableRequestInterceptor() {
|
|
52
52
|
if (TestConstants_1.TestConstants.TS_SELENIUM_REQUEST_INTERCEPTOR) {
|
|
53
|
-
CheApiRequestHandler_1.CheApiRequestHandler.
|
|
53
|
+
CheApiRequestHandler_1.CheApiRequestHandler.enableRequestInterceptor();
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
async function enableResponseInterceptor() {
|
|
@@ -63,7 +63,7 @@ exports.mochaHooks = {
|
|
|
63
63
|
monacoPageObjects.initPageObjects(TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION, TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, vscodeExtensionTesterLocators.getLocatorsPath(), driverHelper.getDriver(), 'google-chrome');
|
|
64
64
|
},
|
|
65
65
|
async function prolongTimeoutConstantsInDebugMode() {
|
|
66
|
-
if (TestConstants_1.TestConstants.TS_DEBUG_MODE
|
|
66
|
+
if (TestConstants_1.TestConstants.TS_DEBUG_MODE) {
|
|
67
67
|
for (let [timeout, seconds] of Object.entries(TimeoutConstants_1.TimeoutConstants)) {
|
|
68
68
|
Object.defineProperty(TimeoutConstants_1.TimeoutConstants, timeout, { value: seconds * 100 });
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MochaHooks.js","sourceRoot":"","sources":["../../specs/MochaHooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,gEAA4D;AAC5D,8DAA2D;AAC3D,yFAAsF;AACtF,oEAAiE;AACjE,uEAAyD;AACzD,gGAAkF;AAClF,kEAA2D;AAG3D,4CAAyC;AAEzC,MAAM,YAAY,GAAiB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;AAEpF,IAAI,eAAe,GAAW,EAAE,CAAC;AAEjC,SAAgB,wBAAwB,CAAC,aAAqB;IAC1D,eAAM,CAAC,KAAK,CAAC,0DAA0D,aAAa,EAAE,CAAC,CAAC;IACxF,eAAe,GAAG,aAAa,CAAC;AACpC,CAAC;AAHD,4DAGC;AAED,OAAO,CAAC,UAAU,GAAG;IACjB,SAAS,EAAE;QACP,KAAK,UAAU,wBAAwB;YACnC,IAAI,6BAAa,CAAC,+BAA+B,EAAE;gBAC/C,2CAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"MochaHooks.js","sourceRoot":"","sources":["../../specs/MochaHooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,gEAA4D;AAC5D,8DAA2D;AAC3D,yFAAsF;AACtF,oEAAiE;AACjE,uEAAyD;AACzD,gGAAkF;AAClF,kEAA2D;AAG3D,4CAAyC;AAEzC,MAAM,YAAY,GAAiB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;AAEpF,IAAI,eAAe,GAAW,EAAE,CAAC;AAEjC,SAAgB,wBAAwB,CAAC,aAAqB;IAC1D,eAAM,CAAC,KAAK,CAAC,0DAA0D,aAAa,EAAE,CAAC,CAAC;IACxF,eAAe,GAAG,aAAa,CAAC;AACpC,CAAC;AAHD,4DAGC;AAED,OAAO,CAAC,UAAU,GAAG;IACjB,SAAS,EAAE;QACP,KAAK,UAAU,wBAAwB;YACnC,IAAI,6BAAa,CAAC,+BAA+B,EAAE;gBAC/C,2CAAoB,CAAC,wBAAwB,EAAE,CAAC;aACnD;QACL,CAAC;QACD,KAAK,UAAU,yBAAyB;YACpC,IAAI,6BAAa,CAAC,gCAAgC,EAAE;gBAChD,2CAAoB,CAAC,yBAAyB,EAAE,CAAC;aACpD;QACL,CAAC;QACD,KAAK,UAAU,qBAAqB;YAChC,mDAAmD;YACnD,iBAAiB,CAAC,eAAe,CAAC,6BAAa,CAAC,2CAA2C,EAAE,6BAAa,CAAC,4CAA4C,EAAE,6BAA6B,CAAC,eAAe,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;QACzP,CAAC;QACD,KAAK,UAAU,kCAAkC;YAC7C,IAAI,6BAAa,CAAC,aAAa,EAAE;gBAC7B,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mCAAgB,CAAC,EAAE;oBAC7D,MAAM,CAAC,cAAc,CAAC,mCAAgB,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAC,CAAC,CAAC;iBAC5E;aACJ;QACL,CAAC;KACJ;IACD,QAAQ,EAAE;QACN,oCAAoC;QACpC,KAAK,IAAI,EAAE;YACP,IAAI,6BAAa,CAAC,+BAA+B,EAAE;gBAC/C,eAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;gBACxH,iBAAiB,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;aACnE;QACL,CAAC;QACD,KAAK,UAAU,aAAa;YACxB,IAAI,CAAC,6BAAa,CAAC,aAAa,EAAE;gBAC9B,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;gBACtC,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;aACjD;QACL,CAAC;KACJ;CACJ,CAAC"}
|
|
@@ -42,6 +42,7 @@ suite(`${stackName} test`, async () => {
|
|
|
42
42
|
test(`Stop and remove workspace`, async () => {
|
|
43
43
|
await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
44
44
|
});
|
|
45
|
+
loginTests.logoutFromChe();
|
|
45
46
|
});
|
|
46
47
|
});
|
|
47
48
|
//# sourceMappingURL=EmptyWorkspace.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/devfiles/EmptyWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,6DAA0E;AAC1E,mEAAwD;AACxD,uFAAoF;AACpF,+CAA4C;AAG5C,8CAAyD;AAEzD,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;AACpE,MAAM,SAAS,GAAW,iBAAiB,CAAC;AAE5C,KAAK,CAAC,GAAG,SAAS,OAAO,EAAE,KAAK,IAAI,EAAE;IAClC,KAAK,CAAC,UAAU,SAAS,YAAY,EAAE,KAAK,IAAI,EAAE;QAC9C,UAAU,CAAC,YAAY,EAAE,CAAC;QAC1B,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACzD,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QAC7D,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,qCAAwB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAG,EAAE;YACvC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;YAEnE,MAAM,SAAS,GAAc,IAAI,+BAAS,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;YAC5D,MAAM,mBAAmB,GAAkB,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;YAE/E,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE;gBACvC,eAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC/C;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACpD,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"EmptyWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/devfiles/EmptyWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,6DAA0E;AAC1E,mEAAwD;AACxD,uFAAoF;AACpF,+CAA4C;AAG5C,8CAAyD;AAEzD,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;AACpE,MAAM,SAAS,GAAW,iBAAiB,CAAC;AAE5C,KAAK,CAAC,GAAG,SAAS,OAAO,EAAE,KAAK,IAAI,EAAE;IAClC,KAAK,CAAC,UAAU,SAAS,YAAY,EAAE,KAAK,IAAI,EAAE;QAC9C,UAAU,CAAC,YAAY,EAAE,CAAC;QAC1B,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACzD,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QAC7D,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,qCAAwB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAG,EAAE;YACvC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;YAEnE,MAAM,SAAS,GAAc,IAAI,+BAAS,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;YAC5D,MAAM,mBAAmB,GAAkB,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;YAE/E,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE;gBACvC,eAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC/C;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACpD,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|