@eclipse-che/che-e2e 7.121.0-next → 7.121.0-next-afa8d43

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.
Files changed (256) hide show
  1. package/dist/configs/inversify.config.js +121 -0
  2. package/dist/configs/inversify.config.js.map +1 -0
  3. package/dist/configs/inversify.types.js +73 -0
  4. package/dist/configs/inversify.types.js.map +1 -0
  5. package/dist/configs/mocharc.js +42 -0
  6. package/dist/configs/mocharc.js.map +1 -0
  7. package/dist/constants/API_TEST_CONSTANTS.js +60 -0
  8. package/dist/constants/API_TEST_CONSTANTS.js.map +1 -0
  9. package/dist/constants/BASE_TEST_CONSTANTS.js +109 -0
  10. package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -0
  11. package/dist/constants/CHROME_DRIVER_CONSTANTS.js +40 -0
  12. package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +1 -0
  13. package/dist/constants/EDITOR_CONSTANTS.js +114 -0
  14. package/dist/constants/EDITOR_CONSTANTS.js.map +1 -0
  15. package/dist/constants/FACTORY_TEST_CONSTANTS.js +87 -0
  16. package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -0
  17. package/dist/constants/MOCHA_CONSTANTS.js +24 -0
  18. package/dist/constants/MOCHA_CONSTANTS.js.map +1 -0
  19. package/dist/constants/MONACO_CONSTANTS.js +25 -0
  20. package/dist/constants/MONACO_CONSTANTS.js.map +1 -0
  21. package/dist/constants/OAUTH_CONSTANTS.js +53 -0
  22. package/dist/constants/OAUTH_CONSTANTS.js.map +1 -0
  23. package/dist/constants/PLUGIN_TEST_CONSTANTS.js +19 -0
  24. package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +1 -0
  25. package/dist/constants/REPORTER_CONSTANTS.js +123 -0
  26. package/dist/constants/REPORTER_CONSTANTS.js.map +1 -0
  27. package/dist/constants/TIMEOUT_CONSTANTS.js +101 -0
  28. package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -0
  29. package/dist/driver/ChromeDriver.js +77 -0
  30. package/dist/driver/ChromeDriver.js.map +1 -0
  31. package/dist/driver/IDriver.js +3 -0
  32. package/dist/driver/IDriver.js.map +1 -0
  33. package/dist/index.js +98 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/pageobjects/dashboard/CreateWorkspace.js +181 -0
  36. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
  37. package/dist/pageobjects/dashboard/Dashboard.js +208 -0
  38. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
  39. package/dist/pageobjects/dashboard/TrustAuthorPopup.js +61 -0
  40. package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +1 -0
  41. package/dist/pageobjects/dashboard/UserPreferences.js +268 -0
  42. package/dist/pageobjects/dashboard/UserPreferences.js.map +1 -0
  43. package/dist/pageobjects/dashboard/Workspaces.js +242 -0
  44. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
  45. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +186 -0
  46. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
  47. package/dist/pageobjects/git-providers/OauthPage.js +218 -0
  48. package/dist/pageobjects/git-providers/OauthPage.js.map +1 -0
  49. package/dist/pageobjects/ide/AiCodeSignInDialog.js +55 -0
  50. package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +1 -0
  51. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +108 -0
  52. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -0
  53. package/dist/pageobjects/ide/CommandPalette.js +117 -0
  54. package/dist/pageobjects/ide/CommandPalette.js.map +1 -0
  55. package/dist/pageobjects/ide/ExplorerView.js +108 -0
  56. package/dist/pageobjects/ide/ExplorerView.js.map +1 -0
  57. package/dist/pageobjects/ide/ExtensionsView.js +162 -0
  58. package/dist/pageobjects/ide/ExtensionsView.js.map +1 -0
  59. package/dist/pageobjects/ide/GitHubExtensionDialog.js +66 -0
  60. package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +1 -0
  61. package/dist/pageobjects/ide/NotificationHandler.js +83 -0
  62. package/dist/pageobjects/ide/NotificationHandler.js.map +1 -0
  63. package/dist/pageobjects/ide/RestrictedModeButton.js +57 -0
  64. package/dist/pageobjects/ide/RestrictedModeButton.js.map +1 -0
  65. package/dist/pageobjects/ide/SourceControlView.js +52 -0
  66. package/dist/pageobjects/ide/SourceControlView.js.map +1 -0
  67. package/dist/pageobjects/ide/ViewsMoreActionsButton.js +73 -0
  68. package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +1 -0
  69. package/dist/pageobjects/login/interfaces/ICheLoginPage.js +12 -0
  70. package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +1 -0
  71. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +12 -0
  72. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +1 -0
  73. package/dist/pageobjects/login/kubernetes/DexLoginPage.js +69 -0
  74. package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +1 -0
  75. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +50 -0
  76. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +1 -0
  77. package/dist/pageobjects/login/openshift/OcpLoginPage.js +88 -0
  78. package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +1 -0
  79. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +73 -0
  80. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +1 -0
  81. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +53 -0
  82. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +1 -0
  83. package/dist/pageobjects/login/openshift/RedHatLoginPage.js +85 -0
  84. package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +1 -0
  85. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +65 -0
  86. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +1 -0
  87. package/dist/pageobjects/openshift/OcpApplicationPage.js +60 -0
  88. package/dist/pageobjects/openshift/OcpApplicationPage.js.map +1 -0
  89. package/dist/pageobjects/openshift/OcpImportFromGitPage.js +92 -0
  90. package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +1 -0
  91. package/dist/pageobjects/openshift/OcpMainPage.js +140 -0
  92. package/dist/pageobjects/openshift/OcpMainPage.js.map +1 -0
  93. package/dist/pageobjects/webterminal/WebTerminalPage.js +182 -0
  94. package/dist/pageobjects/webterminal/WebTerminalPage.js.map +1 -0
  95. package/dist/specs/MochaHooks.js +142 -0
  96. package/dist/specs/MochaHooks.js.map +1 -0
  97. package/dist/specs/SmokeTest.spec.js +58 -0
  98. package/dist/specs/SmokeTest.spec.js.map +1 -0
  99. package/dist/specs/api/AnsibleDevFileAPI.spec.js +256 -0
  100. package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +1 -0
  101. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +147 -0
  102. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +1 -0
  103. package/dist/specs/api/ContainerOverridesAPI.spec.js +40 -0
  104. package/dist/specs/api/ContainerOverridesAPI.spec.js.map +1 -0
  105. package/dist/specs/api/CppDevFileAPI.spec.js +87 -0
  106. package/dist/specs/api/CppDevFileAPI.spec.js.map +1 -0
  107. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +99 -0
  108. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -0
  109. package/dist/specs/api/DotnetDevFileAPI.spec.js +89 -0
  110. package/dist/specs/api/DotnetDevFileAPI.spec.js.map +1 -0
  111. package/dist/specs/api/EmptyWorkspaceAPI.spec.js +60 -0
  112. package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -0
  113. package/dist/specs/api/GoDevFileAPI.spec.js +82 -0
  114. package/dist/specs/api/GoDevFileAPI.spec.js.map +1 -0
  115. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +97 -0
  116. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +1 -0
  117. package/dist/specs/api/JBossEapDevFileAPI.spec.js +127 -0
  118. package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +1 -0
  119. package/dist/specs/api/LombokDevFileAPI.spec.js +81 -0
  120. package/dist/specs/api/LombokDevFileAPI.spec.js.map +1 -0
  121. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +81 -0
  122. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +1 -0
  123. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +130 -0
  124. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +1 -0
  125. package/dist/specs/api/PhpDevFileAPI.spec.js +71 -0
  126. package/dist/specs/api/PhpDevFileAPI.spec.js.map +1 -0
  127. package/dist/specs/api/PodOverridesAPI.spec.js +46 -0
  128. package/dist/specs/api/PodOverridesAPI.spec.js.map +1 -0
  129. package/dist/specs/api/PythonDevFileAPI.spec.js +71 -0
  130. package/dist/specs/api/PythonDevFileAPI.spec.js.map +1 -0
  131. package/dist/specs/api/QuarkusDevFileAPI.spec.js +97 -0
  132. package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +1 -0
  133. package/dist/specs/dashboard-samples/Documentation.spec.js +118 -0
  134. package/dist/specs/dashboard-samples/Documentation.spec.js.map +1 -0
  135. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +60 -0
  136. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -0
  137. package/dist/specs/dashboard-samples/Quarkus.spec.js +64 -0
  138. package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -0
  139. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +345 -0
  140. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -0
  141. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +171 -0
  142. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +1 -0
  143. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +155 -0
  144. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -0
  145. package/dist/specs/factory/Factory.spec.js +183 -0
  146. package/dist/specs/factory/Factory.spec.js.map +1 -0
  147. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +63 -0
  148. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +1 -0
  149. package/dist/specs/factory/NoSetupRepoFactory.spec.js +212 -0
  150. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -0
  151. package/dist/specs/factory/RefusedOAuthFactory.spec.js +239 -0
  152. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -0
  153. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +202 -0
  154. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +1 -0
  155. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +77 -0
  156. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +1 -0
  157. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +106 -0
  158. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +1 -0
  159. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +113 -0
  160. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +1 -0
  161. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +116 -0
  162. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +1 -0
  163. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +205 -0
  164. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +1 -0
  165. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +129 -0
  166. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +1 -0
  167. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +121 -0
  168. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +1 -0
  169. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +103 -0
  170. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +1 -0
  171. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +111 -0
  172. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -0
  173. package/dist/specs/miscellaneous/RenameWorkspace.spec.js +116 -0
  174. package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +1 -0
  175. package/dist/specs/miscellaneous/RevokeOauth.spec.js +29 -0
  176. package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +1 -0
  177. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +26 -0
  178. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +1 -0
  179. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +78 -0
  180. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +1 -0
  181. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +196 -0
  182. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +1 -0
  183. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +208 -0
  184. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +1 -0
  185. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +84 -0
  186. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +1 -0
  187. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +84 -0
  188. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +1 -0
  189. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +101 -0
  190. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +1 -0
  191. package/dist/specs/web-terminal/WebTerminalTest.spec.js +47 -0
  192. package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +1 -0
  193. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +82 -0
  194. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +1 -0
  195. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +78 -0
  196. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +1 -0
  197. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +13 -0
  198. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +1 -0
  199. package/dist/suites/disconnected-ocp/APITest.suite.js +14 -0
  200. package/dist/suites/disconnected-ocp/APITest.suite.js.map +1 -0
  201. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
  202. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
  203. package/dist/suites/disconnected-ocp/UITest.suite.js +19 -0
  204. package/dist/suites/disconnected-ocp/UITest.suite.js.map +1 -0
  205. package/dist/suites/online-ocp/APITest.suite.js +15 -0
  206. package/dist/suites/online-ocp/APITest.suite.js.map +1 -0
  207. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
  208. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
  209. package/dist/suites/online-ocp/UITest.suite.js +23 -0
  210. package/dist/suites/online-ocp/UITest.suite.js.map +1 -0
  211. package/dist/tests-library/LoginTests.js +76 -0
  212. package/dist/tests-library/LoginTests.js.map +1 -0
  213. package/dist/tests-library/ProjectAndFileTests.js +230 -0
  214. package/dist/tests-library/ProjectAndFileTests.js.map +1 -0
  215. package/dist/tests-library/WorkspaceHandlingTests.js +219 -0
  216. package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -0
  217. package/dist/utils/BrowserTabsUtil.js +124 -0
  218. package/dist/utils/BrowserTabsUtil.js.map +1 -0
  219. package/dist/utils/CheReporter.js +238 -0
  220. package/dist/utils/CheReporter.js.map +1 -0
  221. package/dist/utils/DevWorkspaceConfigurationHelper.js +145 -0
  222. package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -0
  223. package/dist/utils/DevfilesHelper.js +177 -0
  224. package/dist/utils/DevfilesHelper.js.map +1 -0
  225. package/dist/utils/DriverHelper.js +609 -0
  226. package/dist/utils/DriverHelper.js.map +1 -0
  227. package/dist/utils/IContextParams.js +12 -0
  228. package/dist/utils/IContextParams.js.map +1 -0
  229. package/dist/utils/IKubernetesCommandLineToolsExecutor.js +3 -0
  230. package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +1 -0
  231. package/dist/utils/KubernetesCommandLineToolsExecutor.js +338 -0
  232. package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -0
  233. package/dist/utils/Logger.js +146 -0
  234. package/dist/utils/Logger.js.map +1 -0
  235. package/dist/utils/ScreenCatcher.js +114 -0
  236. package/dist/utils/ScreenCatcher.js.map +1 -0
  237. package/dist/utils/ShellExecutor.js +47 -0
  238. package/dist/utils/ShellExecutor.js.map +1 -0
  239. package/dist/utils/StringUtil.js +107 -0
  240. package/dist/utils/StringUtil.js.map +1 -0
  241. package/dist/utils/request-handlers/CheApiRequestHandler.js +128 -0
  242. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -0
  243. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +55 -0
  244. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  245. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +12 -0
  246. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  247. package/dist/utils/workspace/ApiUrlResolver.js +117 -0
  248. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
  249. package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
  250. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
  251. package/dist/utils/workspace/TestWorkspaceUtil.js +202 -0
  252. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
  253. package/dist/utils/workspace/WorkspaceStatus.js +19 -0
  254. package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
  255. package/index.ts +5 -5
  256. package/package.json +1 -1
@@ -0,0 +1,186 @@
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
+ var WorkspaceDetails_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.WorkspaceDetails = void 0;
17
+ /** *******************************************************************
18
+ * copyright (c) 2019-2026 Red Hat, Inc.
19
+ *
20
+ * This program and the accompanying materials are made
21
+ * available under the terms of the Eclipse Public License 2.0
22
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
23
+ *
24
+ * SPDX-License-Identifier: EPL-2.0
25
+ **********************************************************************/
26
+ const DriverHelper_1 = require("../../../utils/DriverHelper");
27
+ const inversify_1 = require("inversify");
28
+ const inversify_types_1 = require("../../../configs/inversify.types");
29
+ require("reflect-metadata");
30
+ const selenium_webdriver_1 = require("selenium-webdriver");
31
+ const WorkspaceStatus_1 = require("../../../utils/workspace/WorkspaceStatus");
32
+ const Logger_1 = require("../../../utils/Logger");
33
+ const TIMEOUT_CONSTANTS_1 = require("../../../constants/TIMEOUT_CONSTANTS");
34
+ const ProjectAndFileTests_1 = require("../../../tests-library/ProjectAndFileTests");
35
+ let WorkspaceDetails = WorkspaceDetails_1 = class WorkspaceDetails {
36
+ constructor(driverHelper, testWorkspaceUtil, testProjectAndFileCheCode) {
37
+ this.driverHelper = driverHelper;
38
+ this.testWorkspaceUtil = testWorkspaceUtil;
39
+ this.testProjectAndFileCheCode = testProjectAndFileCheCode;
40
+ }
41
+ async waitLoaderDisappearance(attempts = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_ATTEMPTS, polling = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING) {
42
+ Logger_1.Logger.debug();
43
+ await this.driverHelper.waitDisappearance(WorkspaceDetails_1.WORKSPACE_DETAILS_LOADER, attempts, polling);
44
+ }
45
+ async saveChanges() {
46
+ Logger_1.Logger.debug();
47
+ await this.waitSaveButton();
48
+ await this.clickOnSaveButton();
49
+ await this.waitSaveButtonDisappearance();
50
+ }
51
+ async waitPage(workspaceName, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
52
+ Logger_1.Logger.debug(`workspace: "${workspaceName}"`);
53
+ await this.waitWorkspaceTitle(workspaceName, timeout);
54
+ await this.waitOpenButton(timeout);
55
+ await this.waitRunButton(timeout);
56
+ await this.waitTabsPresence(timeout);
57
+ await this.waitLoaderDisappearance(timeout);
58
+ }
59
+ async waitWorkspaceTitle(workspaceName, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
60
+ Logger_1.Logger.debug(`title: "${workspaceName}"`);
61
+ const workspaceTitleLocator = this.getWorkspaceTitleLocator(workspaceName);
62
+ await this.driverHelper.waitVisibility(workspaceTitleLocator, timeout);
63
+ }
64
+ async waitRunButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
65
+ Logger_1.Logger.debug();
66
+ await this.driverHelper.waitVisibility(WorkspaceDetails_1.RUN_BUTTON, timeout);
67
+ }
68
+ async clickOnRunButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
69
+ Logger_1.Logger.debug();
70
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.RUN_BUTTON, timeout);
71
+ }
72
+ async waitOpenButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
73
+ Logger_1.Logger.debug();
74
+ await this.driverHelper.waitVisibility(WorkspaceDetails_1.OPEN_BUTTON, timeout);
75
+ }
76
+ async openWorkspace(namespace, workspaceName, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
77
+ Logger_1.Logger.debug(`"${namespace}/${workspaceName}"`);
78
+ await this.clickOnOpenButton(timeout);
79
+ await this.testProjectAndFileCheCode.waitWorkspaceReadinessForCheCodeEditor();
80
+ await this.testWorkspaceUtil.waitWorkspaceStatus(workspaceName, WorkspaceStatus_1.WorkspaceStatus.STARTING);
81
+ }
82
+ async waitTabsPresence(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
83
+ Logger_1.Logger.debug();
84
+ const workspaceDetailsTabs = ['Overview', 'Devfile', 'DevWorkspace', 'Logs', 'Events'];
85
+ for (const tabTitle of workspaceDetailsTabs) {
86
+ const workspaceDetailsTabLocator = this.getTabLocator(tabTitle);
87
+ await this.driverHelper.waitVisibility(workspaceDetailsTabLocator, timeout);
88
+ }
89
+ }
90
+ async selectTab(tabTitle, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
91
+ Logger_1.Logger.debug(`${tabTitle}`);
92
+ await this.clickOnTab(tabTitle, timeout);
93
+ }
94
+ async clickStorageTypeInfo() {
95
+ Logger_1.Logger.debug();
96
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.STORAGE_TYPE_INFO_BUTTON);
97
+ }
98
+ async getOpenStorageTypeDocumentationLink() {
99
+ Logger_1.Logger.debug();
100
+ return await this.driverHelper.waitAndGetElementAttribute(WorkspaceDetails_1.STORAGE_TYPE_DOC_LINK, 'href');
101
+ }
102
+ async closeStorageTypeInfo() {
103
+ Logger_1.Logger.debug();
104
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.CLOSE_STORAGE_TYPE_INFO_BUTTON);
105
+ }
106
+ async getDevfileDocumentationLink() {
107
+ return await this.driverHelper.waitAndGetElementAttribute(WorkspaceDetails_1.DEVFILE_DOC_LINK, 'href');
108
+ }
109
+ /**
110
+ * devSpaces Dashboard does not allow editing the workspace display name while the workspace is running.
111
+ */
112
+ async checkRenameButtonIsAbsent() {
113
+ Logger_1.Logger.debug();
114
+ await this.driverHelper.waitDisappearance(WorkspaceDetails_1.RENAME_WORKSPACE_BUTTON);
115
+ }
116
+ async openRenameWorkspaceForm() {
117
+ Logger_1.Logger.debug();
118
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.RENAME_WORKSPACE_BUTTON, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
119
+ }
120
+ async typeWorkspaceName(name) {
121
+ Logger_1.Logger.debug(`name: "${name}"`);
122
+ await this.driverHelper.type(WorkspaceDetails_1.RENAME_WORKSPACE_INPUT, name);
123
+ }
124
+ async waitSaveButtonIsDisabled() {
125
+ Logger_1.Logger.debug();
126
+ await this.driverHelper.waitAttributePresent(WorkspaceDetails_1.RENAME_SAVE_BUTTON, 'disabled', TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
127
+ }
128
+ async cancelRenameWorkspace() {
129
+ Logger_1.Logger.debug();
130
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.RENAME_CANCEL_BUTTON, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
131
+ }
132
+ /**
133
+ * rename a workspace from the Overview tab (fill name + save).
134
+ */
135
+ async renameWorkspace(newDisplayName) {
136
+ Logger_1.Logger.debug(`newDisplayName: "${newDisplayName}"`);
137
+ await this.openRenameWorkspaceForm();
138
+ await this.typeWorkspaceName(newDisplayName);
139
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.RENAME_SAVE_BUTTON);
140
+ await this.waitWorkspaceTitle(newDisplayName);
141
+ }
142
+ getWorkspaceTitleLocator(workspaceName) {
143
+ return selenium_webdriver_1.By.xpath(`//h1[text()='${workspaceName}']`);
144
+ }
145
+ getTabLocator(tabTitle) {
146
+ return selenium_webdriver_1.By.xpath(`//button[contains(@id,'${tabTitle}')]`);
147
+ }
148
+ async waitSaveButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
149
+ await this.driverHelper.waitVisibility(WorkspaceDetails_1.ENABLED_SAVE_BUTTON, timeout);
150
+ }
151
+ async waitSaveButtonDisappearance(attempts = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_ATTEMPTS, polling = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING) {
152
+ await this.driverHelper.waitDisappearance(WorkspaceDetails_1.SAVE_BUTTON, attempts, polling);
153
+ }
154
+ async clickOnSaveButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
155
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.ENABLED_SAVE_BUTTON, timeout);
156
+ }
157
+ async clickOnOpenButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
158
+ await this.driverHelper.waitAndClick(WorkspaceDetails_1.OPEN_BUTTON, timeout);
159
+ }
160
+ async clickOnTab(tabTitle, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
161
+ const workspaceDetailsTabLocator = this.getTabLocator(tabTitle);
162
+ await this.driverHelper.waitAndClick(workspaceDetailsTabLocator, timeout);
163
+ }
164
+ };
165
+ WorkspaceDetails.RUN_BUTTON = selenium_webdriver_1.By.css('#run-workspace-button[che-button-title="Run"]');
166
+ WorkspaceDetails.OPEN_BUTTON = selenium_webdriver_1.By.css('#open-in-ide-button[che-button-title="Open"]');
167
+ WorkspaceDetails.SAVE_BUTTON = selenium_webdriver_1.By.css('button[name="save-button"]');
168
+ WorkspaceDetails.ENABLED_SAVE_BUTTON = selenium_webdriver_1.By.css('button[name="save-button"][aria-disabled="false"]');
169
+ WorkspaceDetails.WORKSPACE_DETAILS_LOADER = selenium_webdriver_1.By.css('workspace-details-overview md-progress-linear');
170
+ WorkspaceDetails.STORAGE_TYPE_INFO_BUTTON = selenium_webdriver_1.By.css('span[aria-label="More info for storage type"]');
171
+ WorkspaceDetails.CLOSE_STORAGE_TYPE_INFO_BUTTON = selenium_webdriver_1.By.xpath('//button[@aria-label="Close"]');
172
+ WorkspaceDetails.STORAGE_TYPE_DOC_LINK = selenium_webdriver_1.By.xpath('//div/p/a');
173
+ WorkspaceDetails.DEVFILE_DOC_LINK = selenium_webdriver_1.By.xpath('//a[text()="Devfile Documentation"]');
174
+ WorkspaceDetails.RENAME_WORKSPACE_BUTTON = selenium_webdriver_1.By.xpath('//button[@title="Edit Workspace Name"]');
175
+ WorkspaceDetails.RENAME_WORKSPACE_INPUT = selenium_webdriver_1.By.id('edit-workspace-name');
176
+ WorkspaceDetails.RENAME_SAVE_BUTTON = selenium_webdriver_1.By.xpath('//button[@data-testid="edit-workspace-name-save"]');
177
+ WorkspaceDetails.RENAME_CANCEL_BUTTON = selenium_webdriver_1.By.xpath('//button[@data-testid="edit-workspace-name-cancel"]');
178
+ WorkspaceDetails = WorkspaceDetails_1 = __decorate([
179
+ (0, inversify_1.injectable)(),
180
+ __param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
181
+ __param(1, (0, inversify_1.inject)(inversify_types_1.TYPES.WorkspaceUtil)),
182
+ __param(2, (0, inversify_1.inject)(inversify_types_1.CLASSES.ProjectAndFileTests)),
183
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper, Object, ProjectAndFileTests_1.ProjectAndFileTests])
184
+ ], WorkspaceDetails);
185
+ exports.WorkspaceDetails = WorkspaceDetails;
186
+ //# sourceMappingURL=WorkspaceDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceDetails.js","sourceRoot":"","sources":["../../../../pageobjects/dashboard/workspace-details/WorkspaceDetails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
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
+ var OauthPage_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.OauthPage = void 0;
17
+ /** *******************************************************************
18
+ * copyright (c) 2019 Red Hat, Inc.
19
+ *
20
+ * This program and the accompanying materials are made
21
+ * available under the terms of the Eclipse Public License 2.0
22
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
23
+ *
24
+ * SPDX-License-Identifier: EPL-2.0
25
+ **********************************************************************/
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 TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
32
+ const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
33
+ const OAUTH_CONSTANTS_1 = require("../../constants/OAUTH_CONSTANTS");
34
+ let OauthPage = OauthPage_1 = class OauthPage {
35
+ constructor(driverHelper) {
36
+ this.driverHelper = driverHelper;
37
+ switch (FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER) {
38
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH1:
39
+ {
40
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.id('j_username');
41
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.id('j_password');
42
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.id('approve');
43
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.id('submit');
44
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.id('deny');
45
+ }
46
+ break;
47
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH2:
48
+ {
49
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.id('j_username');
50
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.id('j_password');
51
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.xpath('//span[text()="Allow"]');
52
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.id('submit');
53
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.xpath('//span[text()="Deny"]');
54
+ }
55
+ break;
56
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_CLOUD_OAUTH2:
57
+ {
58
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.css('[data-testid="username"]');
59
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.id('password');
60
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.id('login-submit');
61
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.xpath('//button[@value="approve"]');
62
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.xpath('//button[@value="deny"]');
63
+ OauthPage_1.ENABLE_TWO_STEP_VERIFICATION_FORM = selenium_webdriver_1.By.id('ProductHeading');
64
+ OauthPage_1.DENY_TWO_STEP_VERIFICATION = selenium_webdriver_1.By.id('mfa-promote-dismiss');
65
+ }
66
+ break;
67
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.GITLAB:
68
+ {
69
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.id('user_login');
70
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.id('user_password');
71
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.xpath('//button[@data-qa-selector="sign_in_button"]');
72
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.xpath('//*[@value="Authorize"]');
73
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.xpath('//input[@value="Deny"]');
74
+ }
75
+ break;
76
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.GITHUB:
77
+ {
78
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.id('login_field');
79
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.id('password');
80
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.xpath('//button[contains(., "Authorize")]');
81
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.xpath('//*[@value="Sign in"]');
82
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.xpath('//button[contains(., "Cancel")]');
83
+ }
84
+ break;
85
+ case FACTORY_TEST_CONSTANTS_1.GitProviderType.AZURE_DEVOPS:
86
+ {
87
+ OauthPage_1.LOGIN_FORM = selenium_webdriver_1.By.xpath('//input[@type="email"]');
88
+ OauthPage_1.PASSWORD_FORM = selenium_webdriver_1.By.xpath('//input[@type="password"]');
89
+ OauthPage_1.APPROVE_BUTTON = selenium_webdriver_1.By.id('accept-button');
90
+ OauthPage_1.SUBMIT_BUTTON = selenium_webdriver_1.By.xpath('//input[@type="submit"]');
91
+ OauthPage_1.DENY_SAVE_CREDENTIALS_BUTTON = selenium_webdriver_1.By.xpath('//input[@type="button"]');
92
+ OauthPage_1.DENY_ACCESS_BUTTON = selenium_webdriver_1.By.id('deny-button');
93
+ }
94
+ break;
95
+ default: {
96
+ throw new Error(`Invalid git provider. The value should be ${FACTORY_TEST_CONSTANTS_1.GitProviderType.GITHUB}, ${FACTORY_TEST_CONSTANTS_1.GitProviderType.GITLAB}, ${FACTORY_TEST_CONSTANTS_1.GitProviderType.AZURE_DEVOPS}, ${FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH1}, ${FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_SERVER_OAUTH2} or ${FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_CLOUD_OAUTH2}`);
97
+ }
98
+ }
99
+ }
100
+ async waitLoginPage() {
101
+ Logger_1.Logger.debug();
102
+ await this.driverHelper.waitVisibility(OauthPage_1.LOGIN_FORM, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM * 3);
103
+ }
104
+ async enterUserName(userName) {
105
+ Logger_1.Logger.debug(`"${userName}"`);
106
+ await this.driverHelper.enterValue(OauthPage_1.LOGIN_FORM, userName);
107
+ }
108
+ async enterPassword(password) {
109
+ Logger_1.Logger.debug();
110
+ await this.driverHelper.enterValue(OauthPage_1.PASSWORD_FORM, password);
111
+ }
112
+ async clickOnSubmitButton() {
113
+ Logger_1.Logger.debug();
114
+ await this.driverHelper.waitAndClick(OauthPage_1.SUBMIT_BUTTON);
115
+ }
116
+ async clickOnNotRememberCredentialsButton() {
117
+ Logger_1.Logger.debug();
118
+ await this.driverHelper.waitAndClick(OauthPage_1.DENY_SAVE_CREDENTIALS_BUTTON);
119
+ }
120
+ async waitClosingLoginPage() {
121
+ Logger_1.Logger.debug();
122
+ await this.driverHelper.waitDisappearance(OauthPage_1.PASSWORD_FORM);
123
+ }
124
+ async waitOauthPage() {
125
+ Logger_1.Logger.debug();
126
+ await this.driverHelper.waitVisibility(OauthPage_1.APPROVE_BUTTON);
127
+ }
128
+ async clickOnApproveButton() {
129
+ Logger_1.Logger.debug();
130
+ await this.driverHelper.waitAndClick(OauthPage_1.APPROVE_BUTTON);
131
+ }
132
+ async clickOnDenyAccessButton() {
133
+ Logger_1.Logger.debug();
134
+ await this.driverHelper.waitAndClick(OauthPage_1.DENY_ACCESS_BUTTON);
135
+ }
136
+ async waitDisappearanceOauthPage() {
137
+ Logger_1.Logger.debug();
138
+ await this.driverHelper.waitDisappearance(OauthPage_1.APPROVE_BUTTON);
139
+ }
140
+ async waitVisibilityTwoStepVerificationForm() {
141
+ Logger_1.Logger.debug();
142
+ return this.driverHelper.waitVisibilityBoolean(OauthPage_1.ENABLE_TWO_STEP_VERIFICATION_FORM);
143
+ }
144
+ async clickOnDenyTwoStepVerification() {
145
+ Logger_1.Logger.debug();
146
+ await this.driverHelper.waitAndClick(OauthPage_1.DENY_TWO_STEP_VERIFICATION);
147
+ }
148
+ async waitDisappearanceTwoStepVerificationForm() {
149
+ Logger_1.Logger.debug();
150
+ await this.driverHelper.waitDisappearance(OauthPage_1.ENABLE_TWO_STEP_VERIFICATION_FORM);
151
+ }
152
+ async login() {
153
+ Logger_1.Logger.debug();
154
+ await this.waitLoginPage();
155
+ await this.enterUserName(OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_GIT_PROVIDER_USERNAME);
156
+ if (FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER === FACTORY_TEST_CONSTANTS_1.GitProviderType.AZURE_DEVOPS ||
157
+ FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER === FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_CLOUD_OAUTH2) {
158
+ await this.clickOnSubmitButton();
159
+ }
160
+ await this.enterPassword(OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_GIT_PROVIDER_PASSWORD);
161
+ await this.clickOnSubmitButton();
162
+ if (FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER === FACTORY_TEST_CONSTANTS_1.GitProviderType.AZURE_DEVOPS) {
163
+ await this.clickOnNotRememberCredentialsButton();
164
+ }
165
+ await this.waitClosingLoginPage();
166
+ if (FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER === FACTORY_TEST_CONSTANTS_1.GitProviderType.BITBUCKET_CLOUD_OAUTH2) {
167
+ if (await this.waitVisibilityTwoStepVerificationForm()) {
168
+ await this.clickOnDenyTwoStepVerification();
169
+ await this.waitDisappearanceTwoStepVerificationForm();
170
+ }
171
+ }
172
+ }
173
+ async confirmAccess() {
174
+ Logger_1.Logger.debug();
175
+ try {
176
+ await this.clickOnApproveButton();
177
+ await this.waitDisappearanceOauthPage();
178
+ }
179
+ catch (e) {
180
+ Logger_1.Logger.debug('access was not confirmed, retrying to click confirmation button');
181
+ // workaround for GITHUB, AZURE_DEVOPS oauth confirmation page (bot security)
182
+ await this.driverHelper
183
+ .getAction()
184
+ .move({
185
+ origin: await this.driverHelper.waitPresence(OauthPage_1.APPROVE_BUTTON)
186
+ })
187
+ .click()
188
+ .perform();
189
+ await this.waitDisappearanceOauthPage();
190
+ }
191
+ }
192
+ async denyAccess() {
193
+ Logger_1.Logger.debug();
194
+ try {
195
+ await this.clickOnDenyAccessButton();
196
+ await this.waitDisappearanceOauthPage();
197
+ }
198
+ catch (e) {
199
+ Logger_1.Logger.debug('deny access was not confirmed, retrying to click confirmation button');
200
+ // workaround for GITHUB, AZURE_DEVOPS oauth confirmation page (bot security)
201
+ await this.driverHelper
202
+ .getAction()
203
+ .move({
204
+ origin: await this.driverHelper.waitPresence(OauthPage_1.DENY_ACCESS_BUTTON)
205
+ })
206
+ .click()
207
+ .perform();
208
+ await this.waitDisappearanceOauthPage();
209
+ }
210
+ }
211
+ };
212
+ OauthPage = OauthPage_1 = __decorate([
213
+ (0, inversify_1.injectable)(),
214
+ __param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
215
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
216
+ ], OauthPage);
217
+ exports.OauthPage = OauthPage;
218
+ //# 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,55 @@
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
+ var AiCodeSignInDialog_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.AiCodeSignInDialog = void 0;
17
+ /** *******************************************************************
18
+ * copyright (c) 2025 Red Hat, Inc.
19
+ *
20
+ * This program and the accompanying materials are made
21
+ * available under the terms of the Eclipse Public License 2.0
22
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
23
+ *
24
+ * SPDX-License-Identifier: EPL-2.0
25
+ **********************************************************************/
26
+ const inversify_1 = require("inversify");
27
+ require("reflect-metadata");
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 monaco_page_objects_1 = require("monaco-page-objects");
32
+ let AiCodeSignInDialog = AiCodeSignInDialog_1 = class AiCodeSignInDialog {
33
+ constructor(driverHelper) {
34
+ this.driverHelper = driverHelper;
35
+ }
36
+ async isDialogVisible() {
37
+ Logger_1.Logger.debug();
38
+ return await this.driverHelper.waitVisibilityBoolean(AiCodeSignInDialog_1.OVERLAY_LOCATOR);
39
+ }
40
+ async closeDialog() {
41
+ Logger_1.Logger.debug();
42
+ await this.driverHelper.waitAndClick(AiCodeSignInDialog_1.SKIP_BUTTON_LOCATOR);
43
+ await this.driverHelper.waitDisappearance(AiCodeSignInDialog_1.OVERLAY_LOCATOR);
44
+ Logger_1.Logger.debug('AI-powered development sign in dialog skipped');
45
+ }
46
+ };
47
+ AiCodeSignInDialog.OVERLAY_LOCATOR = monaco_page_objects_1.By.css('div.onboarding-a-overlay.visible');
48
+ AiCodeSignInDialog.SKIP_BUTTON_LOCATOR = monaco_page_objects_1.By.css('div.onboarding-a-overlay button.onboarding-a-btn-ghost');
49
+ AiCodeSignInDialog = AiCodeSignInDialog_1 = __decorate([
50
+ (0, inversify_1.injectable)(),
51
+ __param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
52
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
53
+ ], AiCodeSignInDialog);
54
+ exports.AiCodeSignInDialog = AiCodeSignInDialog;
55
+ //# sourceMappingURL=AiCodeSignInDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiCodeSignInDialog.js","sourceRoot":"","sources":["../../../pageobjects/ide/AiCodeSignInDialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,2DAAwD;AACxD,+CAA4C;AAC5C,6DAAyC;AAGlC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAI9B,YAEkB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,oBAAkB,CAAC,eAAe,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,oBAAkB,CAAC,eAAe,CAAC,CAAC;QAC9E,eAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;;AApBuB,kCAAe,GAAO,wBAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACjE,sCAAmB,GAAO,wBAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;AAFvG,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;IAMV,WAAA,IAAA,kBAAM,EAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCACE,2BAAY;GANhC,kBAAkB,CAsB9B;AAtBY,gDAAkB"}
@@ -0,0 +1,108 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CheCodeLocatorLoader = void 0;
16
+ /** *******************************************************************
17
+ * copyright (c) 2019-2025 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 loader_1 = require("monaco-page-objects/out/locators/loader");
26
+ const vscode_extension_tester_locators_1 = require("vscode-extension-tester-locators");
27
+ const selenium_webdriver_1 = require("selenium-webdriver");
28
+ const clone_deep_1 = __importDefault(require("clone-deep"));
29
+ const MONACO_CONSTANTS_1 = require("../../constants/MONACO_CONSTANTS");
30
+ const inversify_1 = require("inversify");
31
+ /**
32
+ * this class allows us to change or add some specific locators base on "monaco-page-object" and "vscode-extension-tester-locators".
33
+ * Use method webLocatorDiff(). To change place locator into field "locators", to add - "extras".
34
+ * To see full locators list check "node_modules/vscode-extension-tester-locators/out/lib".
35
+ */
36
+ let CheCodeLocatorLoader = class CheCodeLocatorLoader extends loader_1.LocatorLoader {
37
+ constructor() {
38
+ super(MONACO_CONSTANTS_1.MONACO_CONSTANTS.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION, MONACO_CONSTANTS_1.MONACO_CONSTANTS.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, (0, vscode_extension_tester_locators_1.getLocatorsPath)());
39
+ this.webCheCodeLocators = this.mergeLocators();
40
+ }
41
+ webLocatorDiff() {
42
+ return {
43
+ locators: {
44
+ WelcomeContent: {
45
+ text: selenium_webdriver_1.By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust the authors")]'),
46
+ button: selenium_webdriver_1.By.xpath('//div[@class="monaco-dialog-box"]//a[@class="monaco-button monaco-text-button"]')
47
+ },
48
+ ScmView: {
49
+ actionConstructor: (title) => selenium_webdriver_1.By.xpath(`.//a[@aria-label='${title}']`)
50
+ },
51
+ ContextMenu: {
52
+ contextView: selenium_webdriver_1.By.className('monaco-menu-container')
53
+ },
54
+ Editor: {
55
+ inputArea: selenium_webdriver_1.By.className('editor-container')
56
+ },
57
+ ExtensionsViewSection: {
58
+ searchBox: selenium_webdriver_1.By.className('ime-text-area')
59
+ },
60
+ ExtensionsViewItem: {
61
+ author: selenium_webdriver_1.By.className('publisher')
62
+ }
63
+ },
64
+ extras: {
65
+ ScmView: {
66
+ scmEditor: selenium_webdriver_1.By.className('scm-editor')
67
+ },
68
+ ExtensionsViewSection: {
69
+ requireReloadButton: selenium_webdriver_1.By.xpath('//a[text()="Reload Required"]')
70
+ },
71
+ TreeItem: {
72
+ projectFolderItem: selenium_webdriver_1.By.className('pane-header expanded')
73
+ },
74
+ Workbench: {
75
+ workspaceTrustButton: selenium_webdriver_1.By.xpath('//a[@role="button" and text()="Trust"]')
76
+ }
77
+ }
78
+ };
79
+ }
80
+ merge(target, obj) {
81
+ for (const key in obj) {
82
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) {
83
+ continue;
84
+ }
85
+ const oldVal = obj[key];
86
+ const newVal = target[key];
87
+ if (typeof newVal === 'object' && typeof oldVal === 'object') {
88
+ target[key] = this.merge(newVal, oldVal);
89
+ }
90
+ else {
91
+ target[key] = (0, clone_deep_1.default)(oldVal);
92
+ }
93
+ }
94
+ return target;
95
+ }
96
+ mergeLocators() {
97
+ const target = super.loadLocators();
98
+ this.merge(target, this.webLocatorDiff().locators);
99
+ this.merge(target, this.webLocatorDiff().extras);
100
+ return target;
101
+ }
102
+ };
103
+ CheCodeLocatorLoader = __decorate([
104
+ (0, inversify_1.injectable)(),
105
+ __metadata("design:paramtypes", [])
106
+ ], CheCodeLocatorLoader);
107
+ exports.CheCodeLocatorLoader = CheCodeLocatorLoader;
108
+ //# sourceMappingURL=CheCodeLocatorLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheCodeLocatorLoader.js","sourceRoot":"","sources":["../../../pageobjects/ide/CheCodeLocatorLoader.ts"],"names":[],"mappings":"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"}