@eclipse-che/che-e2e 7.81.0-next-6728732 → 7.81.0-next-f7a4289

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.
@@ -49,7 +49,8 @@ const CLASSES: any = {
49
49
  ShellExecutor: 'ShellExecutor',
50
50
  ContainerTerminal: 'ContainerTerminal',
51
51
  UserPreferences: 'UserPreferences',
52
- WebTerminalPage: 'WebTerminalPage'
52
+ WebTerminalPage: 'WebTerminalPage',
53
+ RevokeOauthPage: 'RevokeOauthPage'
53
54
  };
54
55
 
55
56
  const EXTERNAL_CLASSES: any = {
@@ -51,7 +51,8 @@ const CLASSES = {
51
51
  ShellExecutor: 'ShellExecutor',
52
52
  ContainerTerminal: 'ContainerTerminal',
53
53
  UserPreferences: 'UserPreferences',
54
- WebTerminalPage: 'WebTerminalPage'
54
+ WebTerminalPage: 'WebTerminalPage',
55
+ RevokeOauthPage: 'RevokeOauthPage'
55
56
  };
56
57
  exports.CLASSES = CLASSES;
57
58
  const EXTERNAL_CLASSES = {
@@ -1 +1 @@
1
- {"version":3,"file":"inversify.types.js","sourceRoot":"","sources":["../../configs/inversify.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,MAAM,KAAK,GAAQ;IAClB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACtF,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC5C,CAAC;AAwCO,sBAAK;AAtCd,MAAM,OAAO,GAAQ;IACpB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,sBAAsB,EAAE,wBAAwB;IAChD,kCAAkC,EAAE,oCAAoC;IACxE,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAClC,CAAC;AAOc,0BAAO;AALvB,MAAM,gBAAgB,GAAQ;IAC7B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEuB,4CAAgB"}
1
+ {"version":3,"file":"inversify.types.js","sourceRoot":"","sources":["../../configs/inversify.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,MAAM,KAAK,GAAQ;IAClB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACtF,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC5C,CAAC;AAyCO,sBAAK;AAvCd,MAAM,OAAO,GAAQ;IACpB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,sBAAsB,EAAE,wBAAwB;IAChD,kCAAkC,EAAE,oCAAoC;IACxE,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAClC,CAAC;AAOc,0BAAO;AALvB,MAAM,gBAAgB,GAAQ;IAC7B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEuB,4CAAgB"}
@@ -29,6 +29,7 @@ const inversify_types_1 = require("../../configs/inversify.types");
29
29
  const selenium_webdriver_1 = require("selenium-webdriver");
30
30
  const DriverHelper_1 = require("../../utils/DriverHelper");
31
31
  const Logger_1 = require("../../utils/Logger");
32
+ const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
32
33
  let UserPreferences = UserPreferences_1 = class UserPreferences {
33
34
  constructor(driverHelper) {
34
35
  this.driverHelper = driverHelper;
@@ -55,6 +56,19 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
55
56
  Logger_1.Logger.debug();
56
57
  await this.driverHelper.waitAndClick(UserPreferences_1.GIT_SERVICES_TAB);
57
58
  }
59
+ async revokeGitService(servicesName) {
60
+ Logger_1.Logger.debug();
61
+ await this.selectListItem(servicesName);
62
+ await this.driverHelper.waitAndClick(UserPreferences_1.GIT_SERVICES_REVOKE_BUTTON);
63
+ await this.driverHelper.waitVisibility(UserPreferences_1.CONFIRMATION_WINDOW);
64
+ await this.driverHelper.waitAndClick(UserPreferences_1.DELETE_CONFIRMATION_CHECKBOX);
65
+ await this.driverHelper.waitAndClick(UserPreferences_1.DELETE_ITEM_BUTTON_ENABLED);
66
+ await this.driverHelper.waitDisappearance(this.getServicesListItemLocator(servicesName));
67
+ }
68
+ async selectListItem(servicesName) {
69
+ Logger_1.Logger.debug(`of the '${servicesName}' list item`);
70
+ await this.driverHelper.waitAndClick(this.getServicesListItemLocator(servicesName));
71
+ }
58
72
  async openPatTab() {
59
73
  Logger_1.Logger.debug();
60
74
  await this.driverHelper.waitAndClick(UserPreferences_1.PAT_TAB);
@@ -69,17 +83,35 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
69
83
  await this.driverHelper.waitAndClick(UserPreferences_1.SSH_KEY_TAB);
70
84
  await this.driverHelper.waitVisibility(UserPreferences_1.ADD_NEW_SSH_KEY_BUTTON);
71
85
  }
86
+ getServiceConfig(service) {
87
+ const gitService = {
88
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.GITHUB]: 'GitHub',
89
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.GITLAB]: 'GitLab',
90
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.AZURE_DEVOPS]: 'Microsoft Azure DevOps',
91
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_CLOUD_OAUTH2]: 'Bitbucket Cloud',
92
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH1]: 'Bitbucket Server',
93
+ [FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH2]: 'Bitbucket Server'
94
+ };
95
+ return gitService[service];
96
+ }
97
+ getServicesListItemLocator(servicesName) {
98
+ return selenium_webdriver_1.By.xpath(`//tr[td[text()='${servicesName}']]//input`);
99
+ }
72
100
  };
73
101
  UserPreferences.USER_SETTINGS_DROPDOWN = selenium_webdriver_1.By.xpath('//header//button/span[text()!=""]//parent::button');
74
102
  UserPreferences.USER_PREFERENCES_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="User Preferences"]');
75
103
  UserPreferences.USER_PREFERENCES_PAGE = selenium_webdriver_1.By.xpath('//h1[text()="User Preferences"]');
76
104
  UserPreferences.CONTAINER_REGISTRIES_TAB = selenium_webdriver_1.By.xpath('//button[text()="Container Registries"]');
77
105
  UserPreferences.GIT_SERVICES_TAB = selenium_webdriver_1.By.xpath('//button[text()="Git Services"]');
106
+ UserPreferences.GIT_SERVICES_REVOKE_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Revoke"]');
78
107
  UserPreferences.PAT_TAB = selenium_webdriver_1.By.xpath('//button[text()="Personal Access Tokens"]');
79
108
  UserPreferences.ADD_NEW_PAT_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Add Personal Access Token"]');
80
109
  UserPreferences.GIT_CONFIG_PAGE = selenium_webdriver_1.By.xpath('//button[text()="Gitconfig"]');
81
110
  UserPreferences.SSH_KEY_TAB = selenium_webdriver_1.By.xpath('//button[text()="SSH Keys"]');
82
111
  UserPreferences.ADD_NEW_SSH_KEY_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Add SSH Key"]');
112
+ UserPreferences.CONFIRMATION_WINDOW = selenium_webdriver_1.By.xpath('//span[text()="Revoke Git Services"]');
113
+ UserPreferences.DELETE_CONFIRMATION_CHECKBOX = selenium_webdriver_1.By.xpath('//input[@data-testid="warning-info-checkbox"]');
114
+ UserPreferences.DELETE_ITEM_BUTTON_ENABLED = selenium_webdriver_1.By.xpath('//button[@data-testid="revoke-button" and not(@disabled)]');
83
115
  UserPreferences = UserPreferences_1 = __decorate([
84
116
  (0, inversify_1.injectable)(),
85
117
  __param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
@@ -1 +1 @@
1
- {"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  var WebTerminalPage_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.WebTerminalPage = void 0;
16
+ exports.WebTerminalPage = exports.TimeUnits = void 0;
17
17
  /** *******************************************************************
18
18
  * copyright (c) 2019-2023 Red Hat, Inc.
19
19
  *
@@ -30,6 +30,12 @@ const inversify_types_1 = require("../../configs/inversify.types");
30
30
  const selenium_webdriver_1 = require("selenium-webdriver");
31
31
  const Logger_1 = require("../../utils/Logger");
32
32
  const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
33
+ var TimeUnits;
34
+ (function (TimeUnits) {
35
+ TimeUnits["Seconds"] = "Seconds";
36
+ TimeUnits["Minutes"] = "Minutes";
37
+ TimeUnits["Hours"] = "Hours";
38
+ })(TimeUnits = exports.TimeUnits || (exports.TimeUnits = {}));
33
39
  let WebTerminalPage = WebTerminalPage_1 = class WebTerminalPage {
34
40
  constructor(driverHelper) {
35
41
  this.driverHelper = driverHelper;
@@ -42,7 +48,7 @@ let WebTerminalPage = WebTerminalPage_1 = class WebTerminalPage {
42
48
  Logger_1.Logger.debug();
43
49
  await this.driverHelper.waitPresence(WebTerminalPage_1.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_WAIT_LOADER_ABSENCE_TIMEOUT);
44
50
  }
45
- async clickOnStartWebTerminalIcon() {
51
+ async clickOnStartWebTerminalButton() {
46
52
  Logger_1.Logger.debug();
47
53
  await this.driverHelper.waitAndClick(WebTerminalPage_1.START_WT_COMMAND_LINE_TERMINAL_BUTTON);
48
54
  }
@@ -53,7 +59,7 @@ let WebTerminalPage = WebTerminalPage_1 = class WebTerminalPage {
53
59
  async openWebTerminal() {
54
60
  Logger_1.Logger.debug();
55
61
  await this.clickOnWebTerminalIcon();
56
- await this.clickOnStartWebTerminalIcon();
62
+ await this.clickOnStartWebTerminalButton();
57
63
  await this.waitTerminalIsStarted();
58
64
  }
59
65
  async waitDisabledProjectFieldAndGetProjectName() {
@@ -107,9 +113,48 @@ let WebTerminalPage = WebTerminalPage_1 = class WebTerminalPage {
107
113
  await this.waitTimeoutButton();
108
114
  await this.waitImageButton();
109
115
  }
110
- async waitTerminalInactivity() {
111
- await this.driverHelper.waitPresence(WebTerminalPage_1.TERMINAL_INACTIVITY_MESS, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
112
- await this.driverHelper.waitPresence(WebTerminalPage_1.RESTART_BUTTON);
116
+ async waitTerminalInactivity(customTimeout) {
117
+ await this.driverHelper.waitVisibility(WebTerminalPage_1.TERMINAL_INACTIVITY_MESS, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT || customTimeout);
118
+ await this.driverHelper.waitVisibility(WebTerminalPage_1.RESTART_BUTTON);
119
+ }
120
+ async waitWebTerminalProjectNameField() {
121
+ await this.driverHelper.waitPresence(WebTerminalPage_1.PROJECT_NAMESPACE_DROP_DAWN);
122
+ }
123
+ async typeProjectName(projectName) {
124
+ await this.waitWebTerminalProjectNameField();
125
+ await this.driverHelper.type(WebTerminalPage_1.PROJECT_NAME_FIELD, projectName, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
126
+ }
127
+ async openProjectDropDawn() {
128
+ await this.driverHelper.waitAndClick(WebTerminalPage_1.PROJECT_NAMESPACE_DROP_DAWN);
129
+ }
130
+ async typeProjectNameForSelecting(projectName) {
131
+ await this.driverHelper.type(WebTerminalPage_1.PROJECT_SELECTION_FIELD, projectName);
132
+ }
133
+ async selectProjectFromDropDawnList(projectName) {
134
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(`//span[@class="pf-c-menu__item-text" and text()="${projectName}"]`));
135
+ }
136
+ async findAndSelectProject(projectName) {
137
+ await this.openProjectDropDawn();
138
+ await this.typeProjectNameForSelecting(projectName);
139
+ await this.selectProjectFromDropDawnList(projectName);
140
+ }
141
+ async clickOnTimeoutButton() {
142
+ await this.driverHelper.waitAndClick(WebTerminalPage_1.TIMEOUT_BUTTON);
143
+ }
144
+ async setTimeoutByEntering(timeValue) {
145
+ await this.driverHelper.type(WebTerminalPage_1.TIMEOUT_INPUT, timeValue.toString());
146
+ }
147
+ async clickOnPlusBtn() {
148
+ await this.driverHelper.waitAndClick(WebTerminalPage_1.INCREMENT_TIMEOUT_BTN);
149
+ }
150
+ async clickOnMinutesBtn() {
151
+ await this.driverHelper.waitAndClick(WebTerminalPage_1.DECREMENT_TIMEOUT_BTN);
152
+ }
153
+ async clickOnTimeUnitDropDown() {
154
+ await this.driverHelper.waitAndClick(WebTerminalPage_1.TIME_UNIT_DROP_DAWN);
155
+ }
156
+ async selectTimeUnit(timeUnits) {
157
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(`//button[@data-test-id='dropdown-menu' and text()='${timeUnits}']`));
113
158
  }
114
159
  };
115
160
  WebTerminalPage.TIMEOUT_BUTTON = selenium_webdriver_1.By.xpath('//button[(text()="Timeout")]');
@@ -119,8 +164,15 @@ WebTerminalPage.WEB_TERMINAL_PAGE = selenium_webdriver_1.By.xpath('//*[@class="x
119
164
  WebTerminalPage.START_WT_COMMAND_LINE_TERMINAL_BUTTON = selenium_webdriver_1.By.css('button[data-test-id="submit-button"]');
120
165
  WebTerminalPage.WEB_TERMINAL_PROJECT_SELECTION_DROPDOWN = selenium_webdriver_1.By.css('input#form-input-namespace-field');
121
166
  WebTerminalPage.WEB_TERMINAL_PROJECT_CANCEL_BUTTON = selenium_webdriver_1.By.css('button[data-test-id="reset-button"]');
122
- WebTerminalPage.TERMINAL_INACTIVITY_MESS = selenium_webdriver_1.By.xpath('//div[text()="The terminal connection has closed."]');
167
+ WebTerminalPage.TERMINAL_INACTIVITY_MESS = selenium_webdriver_1.By.xpath('//div[contains(text(),"The terminal connection has closed")]');
123
168
  WebTerminalPage.RESTART_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Restart terminal"]');
169
+ WebTerminalPage.PROJECT_NAMESPACE_DROP_DAWN = selenium_webdriver_1.By.css('button#form-ns-dropdown-namespace-field');
170
+ WebTerminalPage.PROJECT_SELECTION_FIELD = selenium_webdriver_1.By.css('input[data-test-id="dropdown-text-filter"]');
171
+ WebTerminalPage.PROJECT_NAME_FIELD = selenium_webdriver_1.By.css('input#form-input-newNamespace-field');
172
+ WebTerminalPage.TIMEOUT_INPUT = selenium_webdriver_1.By.css('input[aria-describedby="form-resource-limit-advancedOptions-timeout-limit-field-helper"]');
173
+ WebTerminalPage.INCREMENT_TIMEOUT_BTN = selenium_webdriver_1.By.css('button[data-test-id="Decrement"]');
174
+ WebTerminalPage.DECREMENT_TIMEOUT_BTN = selenium_webdriver_1.By.css('button[data-test-id="Increment');
175
+ WebTerminalPage.TIME_UNIT_DROP_DAWN = selenium_webdriver_1.By.css('div.request-size-input__unit button');
124
176
  WebTerminalPage = WebTerminalPage_1 = __decorate([
125
177
  (0, inversify_1.injectable)(),
126
178
  __param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
@@ -1 +1 @@
1
- {"version":3,"file":"WebTerminalPage.js","sourceRoot":"","sources":["../../../pageobjects/webterminal/WebTerminalPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebTerminalPage.js","sourceRoot":"","sources":["../../../pageobjects/webterminal/WebTerminalPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,4BAA0B;AAC1B,yCAA+C;AAC/C,2DAAwD;AACxD,mEAAwD;AACxD,2DAA6C;AAC7C,+CAA4C;AAC5C,yEAAsE;AAEtE,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AAChB,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAEM,IAAM,eAAe,uBAArB,MAAM,eAAe;IAoB3B,YAEkB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,sBAAsB;QAC3B,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,mBAAmB,EAAE,qCAAiB,CAAC,wBAAwB,CAAC,CAAC;IACvH,CAAC;IACD,KAAK,CAAC,qBAAqB;QAC1B,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,8BAA8B,CAAC,CAAC;IAC3H,CAAC;IACD,KAAK,CAAC,6BAA6B;QAClC,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,qCAAqC,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,mBAAmB;QACxB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAC7C,uBAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAC1C,qCAAiB,CAAC,wBAAwB,CAC1C,CAAC;IACH,CAAC;IACD,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,yCAAyC;QAC9C,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,iBAAe,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;IAC7H,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACrC,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,iBAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC7C,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,iBAAe,CAAC,iBAAiB,EAAE,IAAI,GAAG,wBAAG,CAAC,KAAK,CAAC,CAAC;IAC9F,CAAC;IACD,KAAK,CAAC,0BAA0B;QAC/B,eAAM,CAAC,KAAK,EAAE,CAAC;QACf;YACC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CACnC,iBAAe,CAAC,uCAAuC,EACvD,qCAAiB,CAAC,gCAAgC,CAClD,CAAC;SACF;IACF,CAAC;IACD,KAAK,CAAC,iBAAiB;QACtB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf;YACC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,cAAc,CAAC,CAAC;SACrE;IACF,CAAC;IACD,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf;YACC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,YAAY,CAAC,CAAC;SACnE;IACF,CAAC;IACD,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf;YACC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,qCAAqC,CAAC,CAAC;SAC5F;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf;YACC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,kCAAkC,CAAC,CAAC;SACzF;IACF,CAAC;IACD,KAAK,CAAC,kBAAkB;QACvB,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,aAAsB;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CACrC,iBAAe,CAAC,wBAAwB,EACxC,qCAAiB,CAAC,6BAA6B,IAAI,aAAa,CAChE,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,iBAAe,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,CAAC,+BAA+B;QACpC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,2BAA2B,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,WAAmB;QACxC,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAe,CAAC,kBAAkB,EAAE,WAAW,EAAE,qCAAiB,CAAC,iCAAiC,CAAC,CAAC;IACpI,CAAC;IACD,KAAK,CAAC,mBAAmB;QACxB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,2BAA2B,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,CAAC,2BAA2B,CAAC,WAAmB;QACpD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAe,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,WAAmB;QACtD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,oDAAoD,WAAW,IAAI,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC7C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,oBAAoB;QACzB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAe,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,CAAC,cAAc;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAe,CAAC,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,SAAoB;QACxC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,sDAAsD,SAAS,IAAI,CAAC,CAAC,CAAC;IACrH,CAAC;;AA3JuB,8BAAc,GAAO,uBAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9D,4BAAY,GAAO,uBAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAC1D,mCAAmB,GAAO,uBAAE,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC7F,iCAAiB,GAAO,uBAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACxE,qDAAqC,GAAO,uBAAE,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAC3F,uDAAuC,GAAO,uBAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACzF,kDAAkC,GAAO,uBAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACvF,wCAAwB,GAAO,uBAAE,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;AACxG,8BAAc,GAAO,uBAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACrE,2CAA2B,GAAO,uBAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACpF,uCAAuB,GAAO,uBAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;AACnF,kCAAkB,GAAO,uBAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACvE,6BAAa,GAAO,uBAAE,CAAC,GAAG,CACjD,0FAA0F,CAC1F,CAAC;AACsB,qCAAqB,GAAO,uBAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACvE,qCAAqB,GAAO,uBAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AACrE,mCAAmB,GAAO,uBAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAlBpF,eAAe;IAD3B,IAAA,sBAAU,GAAE;IAsBV,WAAA,IAAA,kBAAM,EAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCACE,2BAAY;GAtBhC,eAAe,CA6J3B;AA7JY,0CAAe"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** *******************************************************************
4
+ * copyright (c) 2020-2024 Red Hat, Inc.
5
+ *
6
+ * This program and the accompanying materials are made
7
+ * available under the terms of the Eclipse Public License 2.0
8
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
9
+ *
10
+ * SPDX-License-Identifier: EPL-2.0
11
+ **********************************************************************/
12
+ const inversify_config_1 = require("../../configs/inversify.config");
13
+ const inversify_types_1 = require("../../configs/inversify.types");
14
+ const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
15
+ suite('"Revoke OAuth" test', function () {
16
+ const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
17
+ const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
18
+ const gitService = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER || 'github';
19
+ suiteSetup('Login', async function () {
20
+ await loginTests.loginIntoChe();
21
+ });
22
+ test('Revoke OAuth test', async function () {
23
+ await userPreferences.openUserPreferencesPage();
24
+ await userPreferences.openGitServicesTab();
25
+ const selectedService = userPreferences.getServiceConfig(gitService);
26
+ await userPreferences.revokeGitService(selectedService);
27
+ });
28
+ });
29
+ //# sourceMappingURL=RevokeOauth.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevokeOauth.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/RevokeOauth.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,mEAAwD;AAGxD,mFAAgF;AAEhF,KAAK,CAAC,qBAAqB,EAAE;IAC5B,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,UAAU,GAAW,+CAAsB,CAAC,gCAAgC,IAAI,QAAQ,CAAC;IAE/F,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK;QAC9B,MAAM,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAChD,MAAM,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,eAAe,GAAW,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7E,MAAM,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -18,7 +18,7 @@ suite(`"Check User Preferences page" test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONS
18
18
  suiteSetup('Login', async function () {
19
19
  await loginTests.loginIntoChe();
20
20
  });
21
- test(`Check user preferences page`, async function () {
21
+ test('Check user preferences page', async function () {
22
22
  await userPreferences.openUserPreferencesPage();
23
23
  await userPreferences.checkTabsAvailability();
24
24
  });
@@ -23,28 +23,29 @@ suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS_1.
23
23
  const webTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WebTerminalPage);
24
24
  const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
25
25
  const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
26
+ const defaultWTOProjectNameForAdmin = 'openshift-terminal';
26
27
  const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
27
28
  const webTerminalToolContainerName = 'web-terminal-tooling';
28
29
  const fileForVerificationTerminalCommands = 'result.txt';
29
30
  suiteSetup(function () {
30
31
  kubernetesCommandLineToolsExecutor.loginToOcp('admin');
31
32
  });
33
+ suiteTeardown(function () {
34
+ shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${defaultWTOProjectNameForAdmin}`);
35
+ });
32
36
  loginTests.loginIntoOcpConsole();
33
37
  test('Open Web Terminal after first installation', async function () {
34
38
  await ocpMainPage.waitOpenMainPage();
35
39
  await driverHelper.refreshPage();
36
40
  await webTerminal.clickOnWebTerminalIcon();
37
41
  });
38
- test('Verify inactivity dropdown menu for admin user', async function () {
39
- await webTerminal.clickOnProjectListDropDown();
40
- });
41
42
  test('Verify first started WTO widget and disabled state Project field under admin user', async function () {
42
43
  await webTerminal.waitTerminalWidget();
43
- (0, chai_1.expect)(await webTerminal.waitDisabledProjectFieldAndGetProjectName()).equal('openshift-terminal');
44
+ (0, chai_1.expect)(await webTerminal.waitDisabledProjectFieldAndGetProjectName()).equal(defaultWTOProjectNameForAdmin);
44
45
  });
45
46
  test('Check starting Web Terminal under admin', async function () {
46
47
  kubernetesCommandLineToolsExecutor.namespace = await webTerminal.getAdminProjectName();
47
- await webTerminal.clickOnStartWebTerminalIcon();
48
+ await webTerminal.clickOnStartWebTerminalButton();
48
49
  await webTerminal.waitTerminalIsStarted();
49
50
  await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
50
51
  const devWorkspaceYaml = shellExecutor.executeArbitraryShellScript(`oc get dw -n ${kubernetesCommandLineToolsExecutor.namespace} -o yaml`);
@@ -1 +1 @@
1
- {"version":3,"file":"WebTerminalUnderAdmin.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalUnderAdmin.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebTerminalUnderAdmin.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalUnderAdmin.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
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
+ /** *******************************************************************
7
+ * copyright (c) 2024 Red Hat, Inc.
8
+ *
9
+ * This program and the accompanying materials are made
10
+ * available under the terms of the Eclipse Public License 2.0
11
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
12
+ *
13
+ * SPDX-License-Identifier: EPL-2.0
14
+ **********************************************************************/
15
+ const inversify_types_1 = require("../../configs/inversify.types");
16
+ const inversify_config_1 = require("../../configs/inversify.config");
17
+ const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
18
+ const WebTerminalPage_1 = require("../../pageobjects/webterminal/WebTerminalPage");
19
+ const chai_1 = require("chai");
20
+ const yaml_1 = __importDefault(require("yaml"));
21
+ const mocha_1 = require("mocha");
22
+ const selenium_webdriver_1 = require("selenium-webdriver");
23
+ suite(`Login to Openshift console and check WebTerminal ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
24
+ const webTerminalToolContainerName = 'web-terminal-tooling';
25
+ const testProjectName = 'wto-under-regular-user-test';
26
+ const fileForVerificationTerminalCommands = 'result.txt';
27
+ const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
28
+ const ocpMainPage = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.OcpMainPage);
29
+ const webTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WebTerminalPage);
30
+ const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
31
+ const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
32
+ const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
33
+ suiteSetup(function () {
34
+ kubernetesCommandLineToolsExecutor.loginToOcp();
35
+ });
36
+ suiteTeardown(function () {
37
+ kubernetesCommandLineToolsExecutor.deleteProject(testProjectName);
38
+ });
39
+ (0, mocha_1.afterEach)(function () {
40
+ try {
41
+ shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${testProjectName}`);
42
+ }
43
+ catch (e) {
44
+ console.log(`cannot delete the ${testProjectName} under regular user:`, e);
45
+ }
46
+ });
47
+ loginTests.loginIntoOcpConsole();
48
+ test('Open WebTerminal after first installation', async function () {
49
+ await ocpMainPage.waitOpenMainPage();
50
+ await driverHelper.refreshPage();
51
+ await webTerminal.clickOnWebTerminalIcon();
52
+ });
53
+ test('Check WebTerminal with creating new Openshift Project', async function () {
54
+ kubernetesCommandLineToolsExecutor.namespace = testProjectName;
55
+ await webTerminal.typeProjectName(testProjectName);
56
+ await webTerminal.clickOnStartWebTerminalButton();
57
+ await webTerminal.waitTerminalIsStarted();
58
+ await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
59
+ const devWorkspaceYaml = shellExecutor.executeArbitraryShellScript(`oc get dw -n ${kubernetesCommandLineToolsExecutor.namespace} -o yaml`);
60
+ kubernetesCommandLineToolsExecutor.workspaceName = yaml_1.default.parse(devWorkspaceYaml).items[0].metadata.name;
61
+ kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
62
+ const commandResult = kubernetesCommandLineToolsExecutor.execInContainerCommand(`cat /home/user/${fileForVerificationTerminalCommands}`, webTerminalToolContainerName);
63
+ const currentUserName = await driverHelper.waitAndGetText(selenium_webdriver_1.By.css('span[data-test="username"]'));
64
+ (0, chai_1.expect)(commandResult).contains(currentUserName);
65
+ });
66
+ test('Check running WebTerminal in the existed Project with custom timeout', async function () {
67
+ await webTerminal.findAndSelectProject(testProjectName);
68
+ await webTerminal.clickOnTimeoutButton();
69
+ await webTerminal.clickOnTimeUnitDropDown();
70
+ await webTerminal.selectTimeUnit(WebTerminalPage_1.TimeUnits.Seconds);
71
+ await webTerminal.setTimeoutByEntering(20);
72
+ await webTerminal.clickOnStartWebTerminalButton();
73
+ await webTerminal.waitTerminalIsStarted();
74
+ await webTerminal.waitTerminalInactivity();
75
+ });
76
+ });
77
+ //# sourceMappingURL=WebTerminalUnderRegularUser.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebTerminalUnderRegularUser.spec.js","sourceRoot":"","sources":["../../../specs/web-terminal/WebTerminalUnderRegularUser.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.81.0-next-6728732",
3
+ "version": "7.81.0-next-f7a4289",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -13,6 +13,7 @@ import { CLASSES } from '../../configs/inversify.types';
13
13
  import { By } from 'selenium-webdriver';
14
14
  import { DriverHelper } from '../../utils/DriverHelper';
15
15
  import { Logger } from '../../utils/Logger';
16
+ import { GitProviderType } from '../../constants/FACTORY_TEST_CONSTANTS';
16
17
 
17
18
  @injectable()
18
19
  export class UserPreferences {
@@ -21,7 +22,9 @@ export class UserPreferences {
21
22
  private static readonly USER_PREFERENCES_PAGE: By = By.xpath('//h1[text()="User Preferences"]');
22
23
 
23
24
  private static readonly CONTAINER_REGISTRIES_TAB: By = By.xpath('//button[text()="Container Registries"]');
25
+
24
26
  private static readonly GIT_SERVICES_TAB: By = By.xpath('//button[text()="Git Services"]');
27
+ private static readonly GIT_SERVICES_REVOKE_BUTTON: By = By.xpath('//button[text()="Revoke"]');
25
28
 
26
29
  private static readonly PAT_TAB: By = By.xpath('//button[text()="Personal Access Tokens"]');
27
30
  private static readonly ADD_NEW_PAT_BUTTON: By = By.xpath('//button[text()="Add Personal Access Token"]');
@@ -31,6 +34,10 @@ export class UserPreferences {
31
34
  private static readonly SSH_KEY_TAB: By = By.xpath('//button[text()="SSH Keys"]');
32
35
  private static readonly ADD_NEW_SSH_KEY_BUTTON: By = By.xpath('//button[text()="Add SSH Key"]');
33
36
 
37
+ private static readonly CONFIRMATION_WINDOW: By = By.xpath('//span[text()="Revoke Git Services"]');
38
+ private static readonly DELETE_CONFIRMATION_CHECKBOX: By = By.xpath('//input[@data-testid="warning-info-checkbox"]');
39
+ private static readonly DELETE_ITEM_BUTTON_ENABLED: By = By.xpath('//button[@data-testid="revoke-button" and not(@disabled)]');
40
+
34
41
  constructor(
35
42
  @inject(CLASSES.DriverHelper)
36
43
  readonly driverHelper: DriverHelper
@@ -67,6 +74,24 @@ export class UserPreferences {
67
74
  await this.driverHelper.waitAndClick(UserPreferences.GIT_SERVICES_TAB);
68
75
  }
69
76
 
77
+ async revokeGitService(servicesName: string): Promise<void> {
78
+ Logger.debug();
79
+
80
+ await this.selectListItem(servicesName);
81
+ await this.driverHelper.waitAndClick(UserPreferences.GIT_SERVICES_REVOKE_BUTTON);
82
+
83
+ await this.driverHelper.waitVisibility(UserPreferences.CONFIRMATION_WINDOW);
84
+ await this.driverHelper.waitAndClick(UserPreferences.DELETE_CONFIRMATION_CHECKBOX);
85
+ await this.driverHelper.waitAndClick(UserPreferences.DELETE_ITEM_BUTTON_ENABLED);
86
+ await this.driverHelper.waitDisappearance(this.getServicesListItemLocator(servicesName));
87
+ }
88
+
89
+ async selectListItem(servicesName: string): Promise<void> {
90
+ Logger.debug(`of the '${servicesName}' list item`);
91
+
92
+ await this.driverHelper.waitAndClick(this.getServicesListItemLocator(servicesName));
93
+ }
94
+
70
95
  async openPatTab(): Promise<void> {
71
96
  Logger.debug();
72
97
 
@@ -86,4 +111,21 @@ export class UserPreferences {
86
111
  await this.driverHelper.waitAndClick(UserPreferences.SSH_KEY_TAB);
87
112
  await this.driverHelper.waitVisibility(UserPreferences.ADD_NEW_SSH_KEY_BUTTON);
88
113
  }
114
+
115
+ getServiceConfig(service: string): string {
116
+ const gitService: { [key: string]: string } = {
117
+ [GitProviderType.GITHUB]: 'GitHub',
118
+ [GitProviderType.GITLAB]: 'GitLab',
119
+ [GitProviderType.AZURE_DEVOPS]: 'Microsoft Azure DevOps',
120
+ [GitProviderType.BITBUCKET_CLOUD_OAUTH2]: 'Bitbucket Cloud',
121
+ [GitProviderType.BITBUCKET_SERVER_OAUTH1]: 'Bitbucket Server',
122
+ [GitProviderType.BITBUCKET_SERVER_OAUTH2]: 'Bitbucket Server'
123
+ };
124
+
125
+ return gitService[service];
126
+ }
127
+
128
+ private getServicesListItemLocator(servicesName: string): By {
129
+ return By.xpath(`//tr[td[text()='${servicesName}']]//input`);
130
+ }
89
131
  }
@@ -15,6 +15,11 @@ import { By, Key } from 'selenium-webdriver';
15
15
  import { Logger } from '../../utils/Logger';
16
16
  import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
17
17
 
18
+ export enum TimeUnits {
19
+ Seconds = 'Seconds',
20
+ Minutes = 'Minutes',
21
+ Hours = 'Hours'
22
+ }
18
23
  @injectable()
19
24
  export class WebTerminalPage {
20
25
  private static readonly TIMEOUT_BUTTON: By = By.xpath('//button[(text()="Timeout")]');
@@ -24,8 +29,18 @@ export class WebTerminalPage {
24
29
  private static readonly START_WT_COMMAND_LINE_TERMINAL_BUTTON: By = By.css('button[data-test-id="submit-button"]');
25
30
  private static readonly WEB_TERMINAL_PROJECT_SELECTION_DROPDOWN: By = By.css('input#form-input-namespace-field');
26
31
  private static readonly WEB_TERMINAL_PROJECT_CANCEL_BUTTON: By = By.css('button[data-test-id="reset-button"]');
27
- private static readonly TERMINAL_INACTIVITY_MESS: By = By.xpath('//div[text()="The terminal connection has closed."]');
32
+ private static readonly TERMINAL_INACTIVITY_MESS: By = By.xpath('//div[contains(text(),"The terminal connection has closed")]');
28
33
  private static readonly RESTART_BUTTON: By = By.xpath('//button[text()="Restart terminal"]');
34
+ private static readonly PROJECT_NAMESPACE_DROP_DAWN: By = By.css('button#form-ns-dropdown-namespace-field');
35
+ private static readonly PROJECT_SELECTION_FIELD: By = By.css('input[data-test-id="dropdown-text-filter"]');
36
+ private static readonly PROJECT_NAME_FIELD: By = By.css('input#form-input-newNamespace-field');
37
+ private static readonly TIMEOUT_INPUT: By = By.css(
38
+ 'input[aria-describedby="form-resource-limit-advancedOptions-timeout-limit-field-helper"]'
39
+ );
40
+ private static readonly INCREMENT_TIMEOUT_BTN: By = By.css('button[data-test-id="Decrement"]');
41
+ private static readonly DECREMENT_TIMEOUT_BTN: By = By.css('button[data-test-id="Increment');
42
+ private static readonly TIME_UNIT_DROP_DAWN: By = By.css('div.request-size-input__unit button');
43
+
29
44
  constructor(
30
45
  @inject(CLASSES.DriverHelper)
31
46
  private readonly driverHelper: DriverHelper
@@ -39,7 +54,7 @@ export class WebTerminalPage {
39
54
  Logger.debug();
40
55
  await this.driverHelper.waitPresence(WebTerminalPage.WEB_TERMINAL_PAGE, TIMEOUT_CONSTANTS.TS_WAIT_LOADER_ABSENCE_TIMEOUT);
41
56
  }
42
- async clickOnStartWebTerminalIcon(): Promise<void> {
57
+ async clickOnStartWebTerminalButton(): Promise<void> {
43
58
  Logger.debug();
44
59
  await this.driverHelper.waitAndClick(WebTerminalPage.START_WT_COMMAND_LINE_TERMINAL_BUTTON);
45
60
  }
@@ -53,7 +68,7 @@ export class WebTerminalPage {
53
68
  async openWebTerminal(): Promise<void> {
54
69
  Logger.debug();
55
70
  await this.clickOnWebTerminalIcon();
56
- await this.clickOnStartWebTerminalIcon();
71
+ await this.clickOnStartWebTerminalButton();
57
72
  await this.waitTerminalIsStarted();
58
73
  }
59
74
  async waitDisabledProjectFieldAndGetProjectName(): Promise<string> {
@@ -112,8 +127,55 @@ export class WebTerminalPage {
112
127
  await this.waitTimeoutButton();
113
128
  await this.waitImageButton();
114
129
  }
115
- async waitTerminalInactivity(): Promise<void> {
116
- await this.driverHelper.waitPresence(WebTerminalPage.TERMINAL_INACTIVITY_MESS, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
117
- await this.driverHelper.waitPresence(WebTerminalPage.RESTART_BUTTON);
130
+ async waitTerminalInactivity(customTimeout?: number): Promise<void> {
131
+ await this.driverHelper.waitVisibility(
132
+ WebTerminalPage.TERMINAL_INACTIVITY_MESS,
133
+ TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT || customTimeout
134
+ );
135
+
136
+ await this.driverHelper.waitVisibility(WebTerminalPage.RESTART_BUTTON);
137
+ }
138
+ async waitWebTerminalProjectNameField(): Promise<void> {
139
+ await this.driverHelper.waitPresence(WebTerminalPage.PROJECT_NAMESPACE_DROP_DAWN);
140
+ }
141
+ async typeProjectName(projectName: string): Promise<void> {
142
+ await this.waitWebTerminalProjectNameField();
143
+ await this.driverHelper.type(WebTerminalPage.PROJECT_NAME_FIELD, projectName, TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
144
+ }
145
+ async openProjectDropDawn(): Promise<void> {
146
+ await this.driverHelper.waitAndClick(WebTerminalPage.PROJECT_NAMESPACE_DROP_DAWN);
147
+ }
148
+ async typeProjectNameForSelecting(projectName: string): Promise<void> {
149
+ await this.driverHelper.type(WebTerminalPage.PROJECT_SELECTION_FIELD, projectName);
150
+ }
151
+
152
+ async selectProjectFromDropDawnList(projectName: string): Promise<void> {
153
+ await this.driverHelper.waitAndClick(By.xpath(`//span[@class="pf-c-menu__item-text" and text()="${projectName}"]`));
154
+ }
155
+
156
+ async findAndSelectProject(projectName: string): Promise<void> {
157
+ await this.openProjectDropDawn();
158
+ await this.typeProjectNameForSelecting(projectName);
159
+ await this.selectProjectFromDropDawnList(projectName);
160
+ }
161
+ async clickOnTimeoutButton(): Promise<void> {
162
+ await this.driverHelper.waitAndClick(WebTerminalPage.TIMEOUT_BUTTON);
163
+ }
164
+ async setTimeoutByEntering(timeValue: number): Promise<void> {
165
+ await this.driverHelper.type(WebTerminalPage.TIMEOUT_INPUT, timeValue.toString());
166
+ }
167
+ async clickOnPlusBtn(): Promise<void> {
168
+ await this.driverHelper.waitAndClick(WebTerminalPage.INCREMENT_TIMEOUT_BTN);
169
+ }
170
+
171
+ async clickOnMinutesBtn(): Promise<void> {
172
+ await this.driverHelper.waitAndClick(WebTerminalPage.DECREMENT_TIMEOUT_BTN);
173
+ }
174
+
175
+ async clickOnTimeUnitDropDown(): Promise<void> {
176
+ await this.driverHelper.waitAndClick(WebTerminalPage.TIME_UNIT_DROP_DAWN);
177
+ }
178
+ async selectTimeUnit(timeUnits: TimeUnits): Promise<void> {
179
+ await this.driverHelper.waitAndClick(By.xpath(`//button[@data-test-id='dropdown-menu' and text()='${timeUnits}']`));
118
180
  }
119
181
  }
@@ -0,0 +1,32 @@
1
+ /** *******************************************************************
2
+ * copyright (c) 2020-2024 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ **********************************************************************/
10
+ import { e2eContainer } from '../../configs/inversify.config';
11
+ import { CLASSES } from '../../configs/inversify.types';
12
+ import { LoginTests } from '../../tests-library/LoginTests';
13
+ import { UserPreferences } from '../../pageobjects/dashboard/UserPreferences';
14
+ import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
15
+
16
+ suite('"Revoke OAuth" test', function (): void {
17
+ const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
18
+ const userPreferences: UserPreferences = e2eContainer.get(CLASSES.UserPreferences);
19
+ const gitService: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER || 'github';
20
+
21
+ suiteSetup('Login', async function (): Promise<void> {
22
+ await loginTests.loginIntoChe();
23
+ });
24
+
25
+ test('Revoke OAuth test', async function (): Promise<void> {
26
+ await userPreferences.openUserPreferencesPage();
27
+ await userPreferences.openGitServicesTab();
28
+
29
+ const selectedService: string = userPreferences.getServiceConfig(gitService);
30
+ await userPreferences.revokeGitService(selectedService);
31
+ });
32
+ });
@@ -21,7 +21,7 @@ suite(`"Check User Preferences page" test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT
21
21
  await loginTests.loginIntoChe();
22
22
  });
23
23
 
24
- test(`Check user preferences page`, async function (): Promise<void> {
24
+ test('Check user preferences page', async function (): Promise<void> {
25
25
  await userPreferences.openUserPreferencesPage();
26
26
  await userPreferences.checkTabsAvailability();
27
27
  });
@@ -27,30 +27,31 @@ suite(`Login to Openshift console and start WebTerminal ${BASE_TEST_CONSTANTS.TE
27
27
  const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
28
28
  CLASSES.KubernetesCommandLineToolsExecutor
29
29
  );
30
-
30
+ const defaultWTOProjectNameForAdmin: string = 'openshift-terminal';
31
31
  const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
32
32
  const webTerminalToolContainerName: string = 'web-terminal-tooling';
33
33
  const fileForVerificationTerminalCommands: string = 'result.txt';
34
+
34
35
  suiteSetup(function (): void {
35
36
  kubernetesCommandLineToolsExecutor.loginToOcp('admin');
36
37
  });
37
38
 
39
+ suiteTeardown(function (): void {
40
+ shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${defaultWTOProjectNameForAdmin}`);
41
+ });
38
42
  loginTests.loginIntoOcpConsole();
39
43
  test('Open Web Terminal after first installation', async function (): Promise<void> {
40
44
  await ocpMainPage.waitOpenMainPage();
41
45
  await driverHelper.refreshPage();
42
46
  await webTerminal.clickOnWebTerminalIcon();
43
47
  });
44
- test('Verify inactivity dropdown menu for admin user', async function (): Promise<void> {
45
- await webTerminal.clickOnProjectListDropDown();
46
- });
47
48
  test('Verify first started WTO widget and disabled state Project field under admin user', async function (): Promise<void> {
48
49
  await webTerminal.waitTerminalWidget();
49
- expect(await webTerminal.waitDisabledProjectFieldAndGetProjectName()).equal('openshift-terminal');
50
+ expect(await webTerminal.waitDisabledProjectFieldAndGetProjectName()).equal(defaultWTOProjectNameForAdmin);
50
51
  });
51
52
  test('Check starting Web Terminal under admin', async function (): Promise<void> {
52
53
  kubernetesCommandLineToolsExecutor.namespace = await webTerminal.getAdminProjectName();
53
- await webTerminal.clickOnStartWebTerminalIcon();
54
+ await webTerminal.clickOnStartWebTerminalButton();
54
55
  await webTerminal.waitTerminalIsStarted();
55
56
  await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
56
57
  const devWorkspaceYaml: string = shellExecutor.executeArbitraryShellScript(
@@ -0,0 +1,91 @@
1
+ /** *******************************************************************
2
+ * copyright (c) 2024 Red Hat, Inc.
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ **********************************************************************/
10
+ import { CLASSES } from '../../configs/inversify.types';
11
+ import { e2eContainer } from '../../configs/inversify.config';
12
+ import { LoginTests } from '../../tests-library/LoginTests';
13
+ import { OcpMainPage } from '../../pageobjects/openshift/OcpMainPage';
14
+ import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
15
+ import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
16
+ import { ShellExecutor } from '../../utils/ShellExecutor';
17
+ import { DriverHelper } from '../../utils/DriverHelper';
18
+ import { TimeUnits, WebTerminalPage } from '../../pageobjects/webterminal/WebTerminalPage';
19
+ import { expect } from 'chai';
20
+ import YAML from 'yaml';
21
+ import { afterEach } from 'mocha';
22
+ import { By } from 'selenium-webdriver';
23
+
24
+ suite(`Login to Openshift console and check WebTerminal ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
25
+ const webTerminalToolContainerName: string = 'web-terminal-tooling';
26
+ const testProjectName: string = 'wto-under-regular-user-test';
27
+ const fileForVerificationTerminalCommands: string = 'result.txt';
28
+ const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
29
+ const ocpMainPage: OcpMainPage = e2eContainer.get(CLASSES.OcpMainPage);
30
+ const webTerminal: WebTerminalPage = e2eContainer.get(CLASSES.WebTerminalPage);
31
+ const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
32
+ const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
33
+ CLASSES.KubernetesCommandLineToolsExecutor
34
+ );
35
+
36
+ const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
37
+
38
+ suiteSetup(function (): void {
39
+ kubernetesCommandLineToolsExecutor.loginToOcp();
40
+ });
41
+
42
+ suiteTeardown(function (): void {
43
+ kubernetesCommandLineToolsExecutor.deleteProject(testProjectName);
44
+ });
45
+
46
+ afterEach(function (): void {
47
+ try {
48
+ shellExecutor.executeArbitraryShellScript(`oc delete dw --all -n ${testProjectName}`);
49
+ } catch (e) {
50
+ console.log(`cannot delete the ${testProjectName} under regular user:`, e);
51
+ }
52
+ });
53
+
54
+ loginTests.loginIntoOcpConsole();
55
+
56
+ test('Open WebTerminal after first installation', async function (): Promise<void> {
57
+ await ocpMainPage.waitOpenMainPage();
58
+ await driverHelper.refreshPage();
59
+ await webTerminal.clickOnWebTerminalIcon();
60
+ });
61
+
62
+ test('Check WebTerminal with creating new Openshift Project', async function (): Promise<void> {
63
+ kubernetesCommandLineToolsExecutor.namespace = testProjectName;
64
+ await webTerminal.typeProjectName(testProjectName);
65
+ await webTerminal.clickOnStartWebTerminalButton();
66
+ await webTerminal.waitTerminalIsStarted();
67
+ await webTerminal.typeAndEnterIntoWebTerminal(`oc whoami > ${fileForVerificationTerminalCommands}`);
68
+ const devWorkspaceYaml: string = shellExecutor.executeArbitraryShellScript(
69
+ `oc get dw -n ${kubernetesCommandLineToolsExecutor.namespace} -o yaml`
70
+ );
71
+ kubernetesCommandLineToolsExecutor.workspaceName = YAML.parse(devWorkspaceYaml).items[0].metadata.name;
72
+ kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
73
+ const commandResult: string = kubernetesCommandLineToolsExecutor.execInContainerCommand(
74
+ `cat /home/user/${fileForVerificationTerminalCommands}`,
75
+ webTerminalToolContainerName
76
+ );
77
+ const currentUserName: string = await driverHelper.waitAndGetText(By.css('span[data-test="username"]'));
78
+ expect(commandResult).contains(currentUserName);
79
+ });
80
+
81
+ test('Check running WebTerminal in the existed Project with custom timeout', async function (): Promise<void> {
82
+ await webTerminal.findAndSelectProject(testProjectName);
83
+ await webTerminal.clickOnTimeoutButton();
84
+ await webTerminal.clickOnTimeUnitDropDown();
85
+ await webTerminal.selectTimeUnit(TimeUnits.Seconds);
86
+ await webTerminal.setTimeoutByEntering(20);
87
+ await webTerminal.clickOnStartWebTerminalButton();
88
+ await webTerminal.waitTerminalIsStarted();
89
+ await webTerminal.waitTerminalInactivity();
90
+ });
91
+ });