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

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/index.ts +5 -5
  2. package/package.json +1 -1
  3. package/dist/configs/inversify.config.js +0 -121
  4. package/dist/configs/inversify.config.js.map +0 -1
  5. package/dist/configs/inversify.types.js +0 -73
  6. package/dist/configs/inversify.types.js.map +0 -1
  7. package/dist/configs/mocharc.js +0 -42
  8. package/dist/configs/mocharc.js.map +0 -1
  9. package/dist/constants/API_TEST_CONSTANTS.js +0 -60
  10. package/dist/constants/API_TEST_CONSTANTS.js.map +0 -1
  11. package/dist/constants/BASE_TEST_CONSTANTS.js +0 -109
  12. package/dist/constants/BASE_TEST_CONSTANTS.js.map +0 -1
  13. package/dist/constants/CHROME_DRIVER_CONSTANTS.js +0 -40
  14. package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +0 -1
  15. package/dist/constants/EDITOR_CONSTANTS.js +0 -114
  16. package/dist/constants/EDITOR_CONSTANTS.js.map +0 -1
  17. package/dist/constants/FACTORY_TEST_CONSTANTS.js +0 -87
  18. package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +0 -1
  19. package/dist/constants/MOCHA_CONSTANTS.js +0 -24
  20. package/dist/constants/MOCHA_CONSTANTS.js.map +0 -1
  21. package/dist/constants/MONACO_CONSTANTS.js +0 -25
  22. package/dist/constants/MONACO_CONSTANTS.js.map +0 -1
  23. package/dist/constants/OAUTH_CONSTANTS.js +0 -53
  24. package/dist/constants/OAUTH_CONSTANTS.js.map +0 -1
  25. package/dist/constants/PLUGIN_TEST_CONSTANTS.js +0 -19
  26. package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +0 -1
  27. package/dist/constants/REPORTER_CONSTANTS.js +0 -123
  28. package/dist/constants/REPORTER_CONSTANTS.js.map +0 -1
  29. package/dist/constants/TIMEOUT_CONSTANTS.js +0 -101
  30. package/dist/constants/TIMEOUT_CONSTANTS.js.map +0 -1
  31. package/dist/driver/ChromeDriver.js +0 -77
  32. package/dist/driver/ChromeDriver.js.map +0 -1
  33. package/dist/driver/IDriver.js +0 -3
  34. package/dist/driver/IDriver.js.map +0 -1
  35. package/dist/index.js +0 -98
  36. package/dist/index.js.map +0 -1
  37. package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -181
  38. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
  39. package/dist/pageobjects/dashboard/Dashboard.js +0 -208
  40. package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
  41. package/dist/pageobjects/dashboard/TrustAuthorPopup.js +0 -61
  42. package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +0 -1
  43. package/dist/pageobjects/dashboard/UserPreferences.js +0 -268
  44. package/dist/pageobjects/dashboard/UserPreferences.js.map +0 -1
  45. package/dist/pageobjects/dashboard/Workspaces.js +0 -242
  46. package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
  47. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -186
  48. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
  49. package/dist/pageobjects/git-providers/OauthPage.js +0 -218
  50. package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
  51. package/dist/pageobjects/ide/AiCodeSignInDialog.js +0 -55
  52. package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +0 -1
  53. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -108
  54. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
  55. package/dist/pageobjects/ide/CommandPalette.js +0 -117
  56. package/dist/pageobjects/ide/CommandPalette.js.map +0 -1
  57. package/dist/pageobjects/ide/ExplorerView.js +0 -108
  58. package/dist/pageobjects/ide/ExplorerView.js.map +0 -1
  59. package/dist/pageobjects/ide/ExtensionsView.js +0 -162
  60. package/dist/pageobjects/ide/ExtensionsView.js.map +0 -1
  61. package/dist/pageobjects/ide/GitHubExtensionDialog.js +0 -66
  62. package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +0 -1
  63. package/dist/pageobjects/ide/NotificationHandler.js +0 -83
  64. package/dist/pageobjects/ide/NotificationHandler.js.map +0 -1
  65. package/dist/pageobjects/ide/RestrictedModeButton.js +0 -57
  66. package/dist/pageobjects/ide/RestrictedModeButton.js.map +0 -1
  67. package/dist/pageobjects/ide/SourceControlView.js +0 -52
  68. package/dist/pageobjects/ide/SourceControlView.js.map +0 -1
  69. package/dist/pageobjects/ide/ViewsMoreActionsButton.js +0 -73
  70. package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +0 -1
  71. package/dist/pageobjects/login/interfaces/ICheLoginPage.js +0 -12
  72. package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +0 -1
  73. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +0 -12
  74. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +0 -1
  75. package/dist/pageobjects/login/kubernetes/DexLoginPage.js +0 -69
  76. package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +0 -1
  77. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +0 -50
  78. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +0 -1
  79. package/dist/pageobjects/login/openshift/OcpLoginPage.js +0 -88
  80. package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +0 -1
  81. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +0 -73
  82. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +0 -1
  83. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +0 -53
  84. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +0 -1
  85. package/dist/pageobjects/login/openshift/RedHatLoginPage.js +0 -85
  86. package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +0 -1
  87. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +0 -65
  88. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +0 -1
  89. package/dist/pageobjects/openshift/OcpApplicationPage.js +0 -60
  90. package/dist/pageobjects/openshift/OcpApplicationPage.js.map +0 -1
  91. package/dist/pageobjects/openshift/OcpImportFromGitPage.js +0 -92
  92. package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
  93. package/dist/pageobjects/openshift/OcpMainPage.js +0 -140
  94. package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
  95. package/dist/pageobjects/webterminal/WebTerminalPage.js +0 -182
  96. package/dist/pageobjects/webterminal/WebTerminalPage.js.map +0 -1
  97. package/dist/specs/MochaHooks.js +0 -142
  98. package/dist/specs/MochaHooks.js.map +0 -1
  99. package/dist/specs/SmokeTest.spec.js +0 -58
  100. package/dist/specs/SmokeTest.spec.js.map +0 -1
  101. package/dist/specs/api/AnsibleDevFileAPI.spec.js +0 -256
  102. package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +0 -1
  103. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +0 -147
  104. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +0 -1
  105. package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -40
  106. package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
  107. package/dist/specs/api/CppDevFileAPI.spec.js +0 -87
  108. package/dist/specs/api/CppDevFileAPI.spec.js.map +0 -1
  109. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -99
  110. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
  111. package/dist/specs/api/DotnetDevFileAPI.spec.js +0 -89
  112. package/dist/specs/api/DotnetDevFileAPI.spec.js.map +0 -1
  113. package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -60
  114. package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
  115. package/dist/specs/api/GoDevFileAPI.spec.js +0 -82
  116. package/dist/specs/api/GoDevFileAPI.spec.js.map +0 -1
  117. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +0 -97
  118. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +0 -1
  119. package/dist/specs/api/JBossEapDevFileAPI.spec.js +0 -127
  120. package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +0 -1
  121. package/dist/specs/api/LombokDevFileAPI.spec.js +0 -81
  122. package/dist/specs/api/LombokDevFileAPI.spec.js.map +0 -1
  123. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +0 -81
  124. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +0 -1
  125. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +0 -130
  126. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +0 -1
  127. package/dist/specs/api/PhpDevFileAPI.spec.js +0 -71
  128. package/dist/specs/api/PhpDevFileAPI.spec.js.map +0 -1
  129. package/dist/specs/api/PodOverridesAPI.spec.js +0 -46
  130. package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
  131. package/dist/specs/api/PythonDevFileAPI.spec.js +0 -71
  132. package/dist/specs/api/PythonDevFileAPI.spec.js.map +0 -1
  133. package/dist/specs/api/QuarkusDevFileAPI.spec.js +0 -97
  134. package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +0 -1
  135. package/dist/specs/dashboard-samples/Documentation.spec.js +0 -118
  136. package/dist/specs/dashboard-samples/Documentation.spec.js.map +0 -1
  137. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -60
  138. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
  139. package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -64
  140. package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
  141. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +0 -345
  142. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +0 -1
  143. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +0 -171
  144. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +0 -1
  145. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -155
  146. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
  147. package/dist/specs/factory/Factory.spec.js +0 -183
  148. package/dist/specs/factory/Factory.spec.js.map +0 -1
  149. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +0 -63
  150. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +0 -1
  151. package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -212
  152. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
  153. package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -239
  154. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
  155. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +0 -202
  156. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +0 -1
  157. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +0 -77
  158. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +0 -1
  159. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +0 -106
  160. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +0 -1
  161. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +0 -113
  162. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +0 -1
  163. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +0 -116
  164. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +0 -1
  165. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +0 -205
  166. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +0 -1
  167. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +0 -129
  168. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +0 -1
  169. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +0 -121
  170. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +0 -1
  171. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +0 -103
  172. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +0 -1
  173. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -111
  174. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
  175. package/dist/specs/miscellaneous/RenameWorkspace.spec.js +0 -116
  176. package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +0 -1
  177. package/dist/specs/miscellaneous/RevokeOauth.spec.js +0 -29
  178. package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +0 -1
  179. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +0 -26
  180. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +0 -1
  181. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +0 -78
  182. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +0 -1
  183. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +0 -196
  184. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +0 -1
  185. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +0 -208
  186. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +0 -1
  187. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +0 -84
  188. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +0 -1
  189. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +0 -84
  190. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +0 -1
  191. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +0 -101
  192. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +0 -1
  193. package/dist/specs/web-terminal/WebTerminalTest.spec.js +0 -47
  194. package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +0 -1
  195. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +0 -82
  196. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +0 -1
  197. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +0 -78
  198. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +0 -1
  199. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +0 -13
  200. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  201. package/dist/suites/disconnected-ocp/APITest.suite.js +0 -14
  202. package/dist/suites/disconnected-ocp/APITest.suite.js.map +0 -1
  203. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  204. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  205. package/dist/suites/disconnected-ocp/UITest.suite.js +0 -19
  206. package/dist/suites/disconnected-ocp/UITest.suite.js.map +0 -1
  207. package/dist/suites/online-ocp/APITest.suite.js +0 -15
  208. package/dist/suites/online-ocp/APITest.suite.js.map +0 -1
  209. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  210. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  211. package/dist/suites/online-ocp/UITest.suite.js +0 -23
  212. package/dist/suites/online-ocp/UITest.suite.js.map +0 -1
  213. package/dist/tests-library/LoginTests.js +0 -76
  214. package/dist/tests-library/LoginTests.js.map +0 -1
  215. package/dist/tests-library/ProjectAndFileTests.js +0 -230
  216. package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
  217. package/dist/tests-library/WorkspaceHandlingTests.js +0 -219
  218. package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
  219. package/dist/utils/BrowserTabsUtil.js +0 -124
  220. package/dist/utils/BrowserTabsUtil.js.map +0 -1
  221. package/dist/utils/CheReporter.js +0 -238
  222. package/dist/utils/CheReporter.js.map +0 -1
  223. package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -145
  224. package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
  225. package/dist/utils/DevfilesHelper.js +0 -177
  226. package/dist/utils/DevfilesHelper.js.map +0 -1
  227. package/dist/utils/DriverHelper.js +0 -609
  228. package/dist/utils/DriverHelper.js.map +0 -1
  229. package/dist/utils/IContextParams.js +0 -12
  230. package/dist/utils/IContextParams.js.map +0 -1
  231. package/dist/utils/IKubernetesCommandLineToolsExecutor.js +0 -3
  232. package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +0 -1
  233. package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -338
  234. package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
  235. package/dist/utils/Logger.js +0 -146
  236. package/dist/utils/Logger.js.map +0 -1
  237. package/dist/utils/ScreenCatcher.js +0 -114
  238. package/dist/utils/ScreenCatcher.js.map +0 -1
  239. package/dist/utils/ShellExecutor.js +0 -47
  240. package/dist/utils/ShellExecutor.js.map +0 -1
  241. package/dist/utils/StringUtil.js +0 -107
  242. package/dist/utils/StringUtil.js.map +0 -1
  243. package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -128
  244. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
  245. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -55
  246. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  247. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +0 -12
  248. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  249. package/dist/utils/workspace/ApiUrlResolver.js +0 -117
  250. package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
  251. package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
  252. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
  253. package/dist/utils/workspace/TestWorkspaceUtil.js +0 -202
  254. package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
  255. package/dist/utils/workspace/WorkspaceStatus.js +0 -19
  256. package/dist/utils/workspace/WorkspaceStatus.js.map +0 -1
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /** *******************************************************************
4
- * copyright (c) 2020-2023 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 monaco_page_objects_1 = require("monaco-page-objects");
14
- const inversify_types_1 = require("../../configs/inversify.types");
15
- const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
16
- const Logger_1 = require("../../utils/Logger");
17
- const MochaHooks_1 = require("../MochaHooks");
18
- const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
19
- const stackName = 'Empty Workspace';
20
- suite(`${stackName} test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
21
- const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
22
- const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
23
- const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
24
- const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
25
- const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
26
- const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
27
- suiteSetup('Login', async function () {
28
- await loginTests.loginIntoChe();
29
- });
30
- test(`Create and open new workspace, stack:${stackName}`, async function () {
31
- await workspaceHandlingTests.createAndOpenWorkspace(stackName);
32
- });
33
- test('Obtain workspace name from workspace loader page', async function () {
34
- await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
35
- });
36
- test('Register running workspace', function () {
37
- (0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
38
- });
39
- test('Wait workspace readiness', async function () {
40
- await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
41
- const workbench = new monaco_page_objects_1.Workbench();
42
- const activityBar = workbench.getActivityBar();
43
- const activityBarControls = await activityBar.getViewControls();
44
- Logger_1.Logger.debug('Editor sections:');
45
- for (const control of activityBarControls) {
46
- Logger_1.Logger.debug(`${await control.getTitle()}`);
47
- }
48
- });
49
- suiteTeardown('Open dashboard and close all other tabs', async function () {
50
- await dashboard.openDashboard();
51
- await browserTabsUtil.closeAllTabsExceptCurrent();
52
- });
53
- suiteTeardown('Stop and delete the workspace by API', async function () {
54
- await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
55
- });
56
- suiteTeardown('Unregister running workspace', function () {
57
- (0, MochaHooks_1.registerRunningWorkspace)('');
58
- });
59
- });
60
- //# sourceMappingURL=EmptyWorkspace.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/EmptyWorkspace.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,6DAA0E;AAC1E,mEAA+D;AAC/D,uFAAoF;AACpF,+CAA4C;AAG5C,8CAAyD;AAEzD,6EAA0E;AAI1E,MAAM,SAAS,GAAW,iBAAiB,CAAC;AAE5C,KAAK,CAAC,GAAG,SAAS,SAAS,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IAClE,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,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,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IAEjE,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,wCAAwC,SAAS,EAAE,EAAE,KAAK;QAC9D,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,IAAA,qCAAwB,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;QAEnE,MAAM,SAAS,GAAc,IAAI,+BAAS,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,cAAc,EAAE,CAAC;QAC5D,MAAM,mBAAmB,GAAkB,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;QAE/E,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE;YAC1C,eAAM,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAC5C;IACF,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,yCAAyC,EAAE,KAAK;QAC7D,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,sCAAsC,EAAE,KAAK;QAC1D,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,8BAA8B,EAAE;QAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- /** *******************************************************************
3
- * copyright (c) 2019 Red Hat, Inc.
4
- *
5
- * This program and the accompanying materials are made
6
- * available under the terms of the Eclipse Public License 2.0
7
- * which is available at https://www.eclipse.org/legal/epl-2.0/
8
- *
9
- * SPDX-License-Identifier: EPL-2.0
10
- **********************************************************************/
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const MochaHooks_1 = require("../MochaHooks");
13
- const inversify_config_1 = require("../../configs/inversify.config");
14
- const inversify_types_1 = require("../../configs/inversify.types");
15
- const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
16
- const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
17
- const chai_1 = require("chai");
18
- const stackName = 'Quarkus REST API';
19
- suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
20
- const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
21
- const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
22
- const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
23
- const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
24
- const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
25
- const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
26
- let projectSection;
27
- const projectName = 'quarkus-quickstarts';
28
- suiteSetup('Login', async function () {
29
- await loginTests.loginIntoChe();
30
- });
31
- test(`Create and open new workspace, stack:${stackName}`, async function () {
32
- await workspaceHandlingTests.createAndOpenWorkspace(stackName);
33
- });
34
- test('Obtain workspace name from workspace loader page', async function () {
35
- await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
36
- });
37
- test('Register running workspace', function () {
38
- (0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
39
- });
40
- test('Wait workspace readiness', async function () {
41
- await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
42
- });
43
- test('Check a project folder has been created', async function () {
44
- projectSection = await projectAndFileTests.getProjectViewSession();
45
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
46
- });
47
- test('Accept the project as a trusted one', async function () {
48
- await projectAndFileTests.performTrustDialogs();
49
- });
50
- test('Check the project files was imported', async function () {
51
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME, 2), 'Project files were not imported').not.undefined;
52
- });
53
- suiteTeardown('Open dashboard and close all other tabs', async function () {
54
- await dashboard.openDashboard();
55
- await browserTabsUtil.closeAllTabsExceptCurrent();
56
- });
57
- suiteTeardown('Stop and delete the workspace by API', async function () {
58
- await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
59
- });
60
- suiteTeardown('Unregister running workspace', function () {
61
- (0, MochaHooks_1.registerRunningWorkspace)('');
62
- });
63
- });
64
- //# sourceMappingURL=Quarkus.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Quarkus.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/Quarkus.spec.ts"],"names":[],"mappings":"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"}
@@ -1,345 +0,0 @@
1
- "use strict";
2
- /** *******************************************************************
3
- * copyright (c) 2019-2025 Red Hat, Inc.
4
- *
5
- * This program and the accompanying materials are made
6
- * available under the terms of the Eclipse Public License 2.0
7
- * which is available at https://www.eclipse.org/legal/epl-2.0/
8
- *
9
- * SPDX-License-Identifier: EPL-2.0
10
- **********************************************************************/
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const monaco_page_objects_1 = require("monaco-page-objects");
13
- const MochaHooks_1 = require("../MochaHooks");
14
- const inversify_config_1 = require("../../configs/inversify.config");
15
- const inversify_types_1 = require("../../configs/inversify.types");
16
- const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
17
- const Logger_1 = require("../../utils/Logger");
18
- const chai_1 = require("chai");
19
- const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
20
- const PLUGIN_TEST_CONSTANTS_1 = require("../../constants/PLUGIN_TEST_CONSTANTS");
21
- const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
22
- const samples = PLUGIN_TEST_CONSTANTS_1.PLUGIN_TEST_CONSTANTS.TS_SAMPLE_LIST.split(',');
23
- // get text from editor
24
- async function getText() {
25
- const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
26
- Logger_1.Logger.debug('Select and copy all text in the editor');
27
- await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('a').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
28
- await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('c').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
29
- Logger_1.Logger.debug('Read the text');
30
- Logger_1.Logger.info('Create a hidden buffer');
31
- await driverHelper.getDriver().executeScript(`
32
- let input = document.createElement('textarea');
33
- input.setAttribute('id', 'clipboard-buffer');
34
- document.body.appendChild(input);
35
- input.focus();
36
- `);
37
- Logger_1.Logger.info('Paste the text to the buffer');
38
- await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('v').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
39
- Logger_1.Logger.info('Get the text from the buffer');
40
- const text = await driverHelper.getDriver().executeScript(`
41
- let input = document.getElementById('clipboard-buffer');
42
- let text = input.value;
43
- input.remove();
44
- return text;
45
- `);
46
- console.log('Raw text:', text);
47
- return text;
48
- }
49
- // helper function to determine section based on category
50
- function getSectionForCategory(title) {
51
- const category = title.split(' ')[0].toLowerCase();
52
- switch (category) {
53
- case '@disabled':
54
- return 'Disabled';
55
- case '@enabled':
56
- return 'Enabled';
57
- case '@installed':
58
- return 'Installed';
59
- case '@outdated':
60
- return 'Outdated';
61
- case '@recommended':
62
- return 'WORKSPACE RECOMMENDATIONS';
63
- default:
64
- return 'Marketplace';
65
- }
66
- }
67
- // search for an extension by title
68
- async function findItem(extSection, title) {
69
- const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
70
- Logger_1.Logger.debug(`Finding extension item with filter: "${title}"`);
71
- const enclosingItem = extSection.getEnclosingElement();
72
- const progress = await enclosingItem.findElement(extSection.constructor.locators.ViewContent.progress);
73
- const searchField = await enclosingItem.findElement(extSection.constructor.locators.ExtensionsViewSection.searchBox);
74
- Logger_1.Logger.debug('Clearing search field with Ctrl+A');
75
- await driverHelper.getDriver().actions().click(searchField).keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('a').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
76
- await driverHelper.wait(500);
77
- Logger_1.Logger.debug('Deleting selected text');
78
- await driverHelper.getDriver().actions().sendKeys(monaco_page_objects_1.Key.DELETE).perform();
79
- await driverHelper.wait(500);
80
- Logger_1.Logger.debug(`Entering search text: "${title}"`);
81
- await driverHelper.getDriver().actions().click(searchField).sendKeys(title).perform();
82
- try {
83
- Logger_1.Logger.debug('Waiting for progress indicator to appear');
84
- await driverHelper.getDriver().wait(monaco_page_objects_1.until.elementIsVisible(progress), 3000);
85
- }
86
- catch (err) {
87
- if (err.name !== 'TimeoutError') {
88
- throw err;
89
- }
90
- }
91
- Logger_1.Logger.debug('Waiting for progress indicator to disappear');
92
- await driverHelper.getDriver().wait(monaco_page_objects_1.until.elementIsNotVisible(progress));
93
- const sectionTitle = getSectionForCategory(title);
94
- Logger_1.Logger.debug(`Looking for section with title: "${sectionTitle}"`);
95
- const sections = await enclosingItem.findElements(extSection.constructor.locators.ViewContent.section);
96
- Logger_1.Logger.debug(`Found ${sections.length} sections`);
97
- // debug: Log all available section titles
98
- const availableSections = [];
99
- for (const sec of sections) {
100
- const titleElement = await sec.findElement(extSection.constructor.locators.ViewSection.title);
101
- const sectionTitleText = await titleElement.getText();
102
- availableSections.push(sectionTitleText);
103
- }
104
- Logger_1.Logger.debug(`Available sections: ${availableSections.join(', ')}`);
105
- let targetSection;
106
- for (const sec of sections) {
107
- const titleElement = await sec.findElement(extSection.constructor.locators.ViewSection.title);
108
- const sectionTitleText = await titleElement.getText();
109
- if (sectionTitleText === sectionTitle) {
110
- targetSection = sec;
111
- Logger_1.Logger.debug(`Found target section: "${sectionTitle}"`);
112
- break;
113
- }
114
- }
115
- if (!targetSection) {
116
- Logger_1.Logger.debug(`Section "${sectionTitle}" not found. Available sections: ${availableSections.join(', ')}`);
117
- return undefined;
118
- }
119
- const titleParts = title.split(' ');
120
- let searchTitle = title;
121
- if (titleParts[0].startsWith('@')) {
122
- searchTitle = titleParts.slice(1).join(' ');
123
- }
124
- Logger_1.Logger.debug(`Searching for extension with title: "${searchTitle}"`);
125
- const extensionRows = await targetSection.findElements(extSection.constructor.locators.ExtensionsViewSection.itemRow);
126
- Logger_1.Logger.debug(`Found ${extensionRows.length} extension rows in section`);
127
- for (const row of extensionRows) {
128
- const extension = new monaco_page_objects_1.ExtensionsViewItem(row, extSection);
129
- const extensionTitle = await extension.getTitle();
130
- if (extensionTitle === searchTitle) {
131
- Logger_1.Logger.debug(`Found matching extension: "${extensionTitle}"`);
132
- return extension;
133
- }
134
- }
135
- Logger_1.Logger.debug(`Extension with title "${searchTitle}" not found in section "${sectionTitle}"`);
136
- return undefined;
137
- }
138
- // get visible items from Extension view, transform this from array to sorted string and compares it with existed recommended extensions
139
- async function getVisibleFilteredItemsAndCompareWithRecommended(recommendations) {
140
- const extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
141
- const [marketplaceSection] = (await extensionsView?.getContent().getSections());
142
- const sections = await extensionsView?.getContent().getSections();
143
- // if we have a big recommender extension list it can be overlapped by other recommendations panel,
144
- // in this case we need to collapse it for instance: it is actual for Quarkus example
145
- if (sections !== undefined) {
146
- for (let i = 0; i < sections.length; i++) {
147
- const currentSection = sections[i];
148
- const isOtherRecommendedSectionPresent = (await currentSection.getTitle()) === 'Other Recommendations';
149
- const isOtherRecommendationExpanded = await sections[i].isExpanded();
150
- if (isOtherRecommendedSectionPresent && isOtherRecommendationExpanded) {
151
- await currentSection.collapse();
152
- }
153
- }
154
- }
155
- Logger_1.Logger.debug('marketplaceSection.getVisibleItems()');
156
- // debug: Log all found recommended items
157
- try {
158
- const allFoundRecommendedItems = await marketplaceSection.getVisibleItems();
159
- const itemTitles = await Promise.all(allFoundRecommendedItems.map(async (item) => await item.getTitle()));
160
- const allFoundRecommendedAuthors = await Promise.all(allFoundRecommendedItems.map(async (item) => await item.getAuthor()));
161
- Logger_1.Logger.debug(`Found ${allFoundRecommendedItems.length} recommended items: ${itemTitles.join(', ')}`);
162
- Logger_1.Logger.debug(`Found authors: ${allFoundRecommendedAuthors.join(', ')}`);
163
- Logger_1.Logger.debug(`Expected authors: ${recommendations.join(', ')}`);
164
- const allFoundAuthorsAsSortedString = allFoundRecommendedAuthors.sort().toString();
165
- const allPublisherNamesAsSortedString = recommendations.sort().toString();
166
- Logger_1.Logger.debug(`Sorted found authors: ${allFoundAuthorsAsSortedString}`);
167
- Logger_1.Logger.debug(`Sorted expected authors: ${allPublisherNamesAsSortedString}`);
168
- const result = allFoundAuthorsAsSortedString === allPublisherNamesAsSortedString;
169
- Logger_1.Logger.debug(`Authors match: ${result}`);
170
- return result;
171
- }
172
- catch (error) {
173
- Logger_1.Logger.error(`Error getting item titles: ${error}`);
174
- return false;
175
- }
176
- }
177
- // get visible items from Extension view, transform this from array to sorted string and compares it with existed installed extensions
178
- async function getVisibleFilteredItemsAndCompareWithInstalled(recommendations) {
179
- const extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
180
- const [marketplaceSection] = (await extensionsView?.getContent().getSections());
181
- Logger_1.Logger.debug('marketplaceSection.getVisibleItems()');
182
- const allFoundRecommendedItems = await marketplaceSection.getVisibleItems();
183
- const allFoundRecommendedAuthors = await Promise.all(allFoundRecommendedItems.map(async (item) => await item.getAuthor()));
184
- const allFoundAuthorsAsSortedString = allFoundRecommendedAuthors.sort().toString();
185
- const allPublisherNamesAsSortString = recommendations.sort().toString();
186
- // in some cases we can have installed not only recommended extensions with some samples (for example .Net)
187
- return allFoundAuthorsAsSortedString.includes(allPublisherNamesAsSortString);
188
- }
189
- for (const sample of samples) {
190
- suite(`Check if recommended extensions installed for ${sample} ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
191
- const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
192
- const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
193
- const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
194
- const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
195
- const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
196
- const cheCodeLocatorLoader = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CheCodeLocatorLoader);
197
- const webCheCodeLocators = cheCodeLocatorLoader.webCheCodeLocators;
198
- const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
199
- const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
200
- let projectSection;
201
- let extensionSection;
202
- let extensionsView;
203
- let publisherNames;
204
- const skipSuite = false;
205
- const [pathToExtensionsListFileName, extensionsListFileName] = ['.vscode', 'extensions.json'];
206
- let vsCodeFolderItemLevel = 2;
207
- let recommendedExtensions = {
208
- recommendations: []
209
- };
210
- let parsedRecommendations;
211
- suiteSetup('Login', async function () {
212
- await loginTests.loginIntoChe();
213
- });
214
- setup('Skip follow-up tests if flagged', function () {
215
- if (skipSuite) {
216
- this.skip();
217
- }
218
- });
219
- test(`Create and open new workspace, stack:${sample}`, async function () {
220
- await workspaceHandlingTests.createAndOpenWorkspace(sample);
221
- });
222
- test('Obtain workspace name from workspace loader page', async function () {
223
- await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
224
- (0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName(), 'Workspace name was not fetched from the loading page').not.undefined;
225
- });
226
- test('Registering the running workspace', function () {
227
- (0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
228
- });
229
- test('Wait workspace readiness', async function () {
230
- await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
231
- });
232
- test('Accept the project as a trusted one', async function () {
233
- await projectAndFileTests.performTrustDialogs();
234
- });
235
- test('Check the project files were imported', async function () {
236
- // add TS_IDE_LOAD_TIMEOUT timeout for waiting for finishing animation of all IDE parts (Welcome parts. bottom widgets. etc.)
237
- // using TS_IDE_LOAD_TIMEOUT easier than performing of finishing animation all elements
238
- await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
239
- projectSection = await projectAndFileTests.getProjectViewSession();
240
- try {
241
- // try using project level 2, as in samples from https://github.com/devspaces-samples/
242
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, pathToExtensionsListFileName, vsCodeFolderItemLevel), 'Files not imported').not.undefined;
243
- }
244
- catch (err) {
245
- Logger_1.Logger.debug('Try using project level 1, as in samples with a defined metadata.projectType in the devfile.yaml, such as JBoss EAP.');
246
- vsCodeFolderItemLevel = vsCodeFolderItemLevel - 1;
247
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, pathToExtensionsListFileName, vsCodeFolderItemLevel), 'Files not imported').not.undefined;
248
- }
249
- });
250
- test(`Get recommended extensions list from ${extensionsListFileName}`, async function () {
251
- await (await projectAndFileTests.getProjectTreeItem(projectSection, pathToExtensionsListFileName, vsCodeFolderItemLevel))?.select();
252
- await (await projectAndFileTests.getProjectTreeItem(projectSection, extensionsListFileName, vsCodeFolderItemLevel + 1))?.select();
253
- Logger_1.Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
254
- await new monaco_page_objects_1.EditorView().openEditor(extensionsListFileName);
255
- await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
256
- Logger_1.Logger.debug('Select and copy all text in the editor');
257
- const text = await getText();
258
- recommendedExtensions = JSON.parse(text.replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
259
- Logger_1.Logger.debug('recommendedExtensions.recommendations: Get recommendations clear names using map().');
260
- parsedRecommendations = recommendedExtensions.recommendations.map((rec) => {
261
- const [publisher, name] = rec.split('.');
262
- return { publisher, name };
263
- });
264
- Logger_1.Logger.debug(`Recommended extension for this workspace:\n${JSON.stringify(parsedRecommendations)}.`);
265
- publisherNames = parsedRecommendations.map((rec) => rec.publisher);
266
- (0, chai_1.expect)(parsedRecommendations, 'Recommendations not found').not.empty;
267
- });
268
- test('Open "Extensions" view section', async function () {
269
- Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
270
- extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
271
- (0, chai_1.expect)(extensionsView, 'Can`t find Extension section').not.undefined;
272
- });
273
- test('Let extensions complete installation', async function () {
274
- this.test?.retries(0);
275
- Logger_1.Logger.debug(`Time for extensions installation TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT=${TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT}`);
276
- await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
277
- });
278
- test('Check if extensions are installed and enabled', async function () {
279
- // timeout 15 seconds per extensions
280
- this.timeout(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_FIND_EXTENSION_TEST_TIMEOUT * parsedRecommendations.length);
281
- Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
282
- extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
283
- Logger_1.Logger.debug('extensionsView?.getContent().getSections(): get current section.');
284
- [extensionSection] = (await extensionsView?.getContent().getSections());
285
- (0, chai_1.expect)(extensionSection, 'Can`t find Extension section').not.undefined;
286
- await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.itemTitle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
287
- Logger_1.Logger.debug('extensionSection.findItem by @recommended filter');
288
- try {
289
- await findItem(extensionSection, '@recommended');
290
- }
291
- catch (err) {
292
- await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
293
- await findItem(extensionSection, '@recommended');
294
- }
295
- const isReloadRequired = await driverHelper.isVisible(webCheCodeLocators.ExtensionsViewSection.requireReloadButton);
296
- Logger_1.Logger.debug(`Is extensions require reload the editor: ${isReloadRequired}`);
297
- if (isReloadRequired) {
298
- Logger_1.Logger.debug('Refreshing the page..');
299
- await browserTabsUtil.refreshPage();
300
- await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
301
- await driverHelper.waitVisibility(webCheCodeLocators.ActivityBar.viewContainer, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
302
- Logger_1.Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): reopen Extensions view.');
303
- extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
304
- await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.itemTitle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
305
- (0, chai_1.expect)(extensionsView, 'Can`t find Extension View section').not.undefined;
306
- [extensionSection] = (await extensionsView?.getContent().getSections());
307
- (0, chai_1.expect)(extensionSection, 'Can`t find Extension section').not.undefined;
308
- await findItem(extensionSection, '@recommended ');
309
- }
310
- Logger_1.Logger.debug('extensionSection.findItem by @recommended filter');
311
- try {
312
- Logger_1.Logger.debug(`Expected publisher names: ${publisherNames.join(', ')}`);
313
- const comparisonResult = await getVisibleFilteredItemsAndCompareWithRecommended(publisherNames);
314
- Logger_1.Logger.debug(`Comparison result: ${comparisonResult}`);
315
- (0, chai_1.expect)(comparisonResult).to.be.true;
316
- Logger_1.Logger.debug(`All recommended extensions were found by @recommended filter: ---- ${publisherNames} ----`);
317
- }
318
- catch (error) {
319
- Logger_1.Logger.error(`Error in getVisibleFilteredItemsAndCompareWithRecommended: ${error}`);
320
- throw error;
321
- }
322
- Logger_1.Logger.debug('extensionSection.findItem by @installed filter');
323
- try {
324
- await findItem(extensionSection, '@installed ');
325
- }
326
- catch (err) {
327
- await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
328
- await findItem(extensionSection, '@installed ');
329
- }
330
- (0, chai_1.expect)(await getVisibleFilteredItemsAndCompareWithInstalled(publisherNames)).to.be.true;
331
- Logger_1.Logger.debug(`All recommended extensions were found by @installed filter: ---- ${publisherNames} ----`);
332
- });
333
- suiteTeardown('Open dashboard and close all other tabs', async function () {
334
- await dashboard.openDashboard();
335
- await browserTabsUtil.closeAllTabsExceptCurrent();
336
- });
337
- suiteTeardown('Stop and delete the workspace by API', async function () {
338
- await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
339
- });
340
- suiteTeardown('Unregister running workspace', function () {
341
- (0, MochaHooks_1.registerRunningWorkspace)('');
342
- });
343
- });
344
- }
345
- //# sourceMappingURL=RecommendedExtensions.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecommendedExtensions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecommendedExtensions.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAExE,6DAW6B;AAC7B,8CAAyD;AAEzD,qEAA8D;AAC9D,mEAA+D;AAC/D,uFAAoF;AAEpF,+CAA4C;AAG5C,+BAA8B;AAC9B,yEAAsE;AAEtE,iFAA8E;AAC9E,6EAA0E;AAI1E,MAAM,OAAO,GAAa,6CAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1E,uBAAuB;AACvB,KAAK,UAAU,OAAO;IACrB,MAAM,YAAY,GAAiB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,eAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACvD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACzG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAEzG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9B,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC;;;;;EAK5C,CAAC,CAAC;IACH,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACzG,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAW,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC;;;;;EAKjE,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC;AACb,CAAC;AACD,yDAAyD;AACzD,SAAS,qBAAqB,CAAC,KAAa;IAC3C,MAAM,QAAQ,GAAW,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,QAAQ,QAAQ,EAAE;QACjB,KAAK,WAAW;YACf,OAAO,UAAU,CAAC;QACnB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,WAAW,CAAC;QACpB,KAAK,WAAW;YACf,OAAO,UAAU,CAAC;QACnB,KAAK,cAAc;YAClB,OAAO,2BAA2B,CAAC;QACpC;YACC,OAAO,aAAa,CAAC;KACtB;AACF,CAAC;AACD,mCAAmC;AACnC,KAAK,UAAU,QAAQ,CAAC,UAAiC,EAAE,KAAa;IACvE,MAAM,YAAY,GAAiB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,eAAM,CAAC,KAAK,CAAC,wCAAwC,KAAK,GAAG,CAAC,CAAC;IAE/D,MAAM,aAAa,GAAe,UAAU,CAAC,mBAAmB,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAe,MAAM,aAAa,CAAC,WAAW,CAAE,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5H,MAAM,WAAW,GAAe,MAAM,aAAa,CAAC,WAAW,CAC7D,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CACxE,CAAC;IAEF,eAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAClD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5H,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvC,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,yBAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACxE,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,eAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,GAAG,CAAC,CAAC;IACjD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAEtF,IAAI;QACH,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,2BAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;KAC5E;IAAC,OAAO,GAAQ,EAAE;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE;YAChC,MAAM,GAAG,CAAC;SACV;KACD;IACD,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5D,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,2BAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,MAAM,YAAY,GAAW,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1D,eAAM,CAAC,KAAK,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAiB,MAAM,aAAa,CAAC,YAAY,CAAE,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9H,eAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;IAElD,0CAA0C;IAC1C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC3B,MAAM,YAAY,GAAe,MAAM,GAAG,CAAC,WAAW,CAAE,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnH,MAAM,gBAAgB,GAAW,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9D,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACzC;IACD,eAAM,CAAC,KAAK,CAAC,uBAAuB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,aAAqC,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC3B,MAAM,YAAY,GAAe,MAAM,GAAG,CAAC,WAAW,CAAE,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnH,MAAM,gBAAgB,GAAW,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,gBAAgB,KAAK,YAAY,EAAE;YACtC,aAAa,GAAG,GAAG,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,0BAA0B,YAAY,GAAG,CAAC,CAAC;YACxD,MAAM;SACN;KACD;IAED,IAAI,CAAC,aAAa,EAAE;QACnB,eAAM,CAAC,KAAK,CAAC,YAAY,YAAY,oCAAoC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,SAAS,CAAC;KACjB;IAED,MAAM,UAAU,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,WAAW,GAAW,KAAK,CAAC;IAChC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5C;IACD,eAAM,CAAC,KAAK,CAAC,wCAAwC,WAAW,GAAG,CAAC,CAAC;IAErE,MAAM,aAAa,GAAiB,MAAM,aAAa,CAAC,YAAY,CAClE,UAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CACtE,CAAC;IACF,eAAM,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAExE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAChC,MAAM,SAAS,GAAuB,IAAI,wCAAkB,CAAC,GAAG,EAAE,UAAiB,CAAC,CAAC;QACrF,MAAM,cAAc,GAAW,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1D,IAAI,cAAc,KAAK,WAAW,EAAE;YACnC,eAAM,CAAC,KAAK,CAAC,8BAA8B,cAAc,GAAG,CAAC,CAAC;YAC9D,OAAO,SAAS,CAAC;SACjB;KACD;IAED,eAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,2BAA2B,YAAY,GAAG,CAAC,CAAC;IAC7F,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,wIAAwI;AACxI,KAAK,UAAU,gDAAgD,CAAC,eAAyB;IACxF,MAAM,cAAc,GAA4B,MAAM,CAAC,MAAM,IAAI,iCAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzH,MAAM,CAAC,kBAAkB,CAAC,GAA4B,CAAC,MAAM,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,CAA4B,CAAC;IACpI,MAAM,QAAQ,GAA8B,MAAM,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7F,mGAAmG;IACnG,qFAAqF;IACrF,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC3B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,cAAc,GAAgB,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,gCAAgC,GAAY,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,uBAAuB,CAAC;YAChH,MAAM,6BAA6B,GAAY,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC9E,IAAI,gCAAgC,IAAI,6BAA6B,EAAE;gBACtE,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC;aAChC;SACD;KACD;IACD,eAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAErD,yCAAyC;IACzC,IAAI;QACH,MAAM,wBAAwB,GAAyB,MAAM,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAClG,MAAM,UAAU,GAAa,MAAM,OAAO,CAAC,GAAG,CAC7C,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAwB,EAAmB,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CACxG,CAAC;QAEF,MAAM,0BAA0B,GAAa,MAAM,OAAO,CAAC,GAAG,CAC7D,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAwB,EAAmB,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CACzG,CAAC;QAEF,eAAM,CAAC,KAAK,CAAC,SAAS,wBAAwB,CAAC,MAAM,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,eAAM,CAAC,KAAK,CAAC,kBAAkB,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,eAAM,CAAC,KAAK,CAAC,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,6BAA6B,GAAW,0BAA0B,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3F,MAAM,+BAA+B,GAAW,eAAe,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAElF,eAAM,CAAC,KAAK,CAAC,yBAAyB,6BAA6B,EAAE,CAAC,CAAC;QACvE,eAAM,CAAC,KAAK,CAAC,4BAA4B,+BAA+B,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAY,6BAA6B,KAAK,+BAA+B,CAAC;QAC1F,eAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC;KACd;IAAC,OAAO,KAAK,EAAE;QACf,eAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;KACb;AACF,CAAC;AAED,sIAAsI;AACtI,KAAK,UAAU,8CAA8C,CAAC,eAAyB;IACtF,MAAM,cAAc,GAA4B,MAAM,CAAC,MAAM,IAAI,iCAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzH,MAAM,CAAC,kBAAkB,CAAC,GAA4B,CAAC,MAAM,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,CAA4B,CAAC;IACpI,eAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAyB,MAAM,kBAAkB,CAAC,eAAe,EAAE,CAAC;IAElG,MAAM,0BAA0B,GAAa,MAAM,OAAO,CAAC,GAAG,CAC7D,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAwB,EAAmB,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CACzG,CAAC;IAEF,MAAM,6BAA6B,GAAW,0BAA0B,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC3F,MAAM,6BAA6B,GAAW,eAAe,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IAChF,2GAA2G;IAC3G,OAAO,6BAA6B,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;IAC7B,KAAK,CAAC,iDAAiD,MAAM,IAAI,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;QACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;QACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,YAAY,GAAiB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAyB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,oBAAoB,CAAC,CAAC;QAClG,MAAM,kBAAkB,GAAa,oBAAoB,CAAC,kBAAkB,CAAC;QAC7E,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;QACpF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,cAA2B,CAAC;QAChC,IAAI,gBAAuC,CAAC;QAC5C,IAAI,cAAuC,CAAC;QAC5C,IAAI,cAAwB,CAAC;QAC7B,MAAM,SAAS,GAAY,KAAK,CAAC;QAEjC,MAAM,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,GAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAExG,IAAI,qBAAqB,GAAW,CAAC,CAAC;QAEtC,IAAI,qBAAqB,GAAQ;YAChC,eAAe,EAAE,EAAE;SACnB,CAAC;QAEF,IAAI,qBAAiE,CAAC;QACtE,UAAU,CAAC,OAAO,EAAE,KAAK;YACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,iCAAiC,EAAE;YACxC,IAAI,SAAS,EAAE;gBACd,IAAI,CAAC,IAAI,EAAE,CAAC;aACZ;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,MAAM,EAAE,EAAE,KAAK;YAC3D,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kDAAkD,EAAE,KAAK;YAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;YACnE,IAAA,aAAM,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,EAAE,sDAAsD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QACzH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mCAAmC,EAAE;YACzC,IAAA,qCAAwB,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;YACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK;YAChD,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK;YAClD,6HAA6H;YAC7H,wFAAwF;YACxF,MAAM,YAAY,CAAC,IAAI,CAAC,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;YAC/D,cAAc,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;YACnE,IAAI;gBACH,sFAAsF;gBACtF,IAAA,aAAM,EACL,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,4BAA4B,EAAE,qBAAqB,CAAC,EACjH,oBAAoB,CACpB,CAAC,GAAG,CAAC,SAAS,CAAC;aAChB;YAAC,OAAO,GAAG,EAAE;gBACb,eAAM,CAAC,KAAK,CACX,sHAAsH,CACtH,CAAC;gBACF,qBAAqB,GAAG,qBAAqB,GAAG,CAAC,CAAC;gBAClD,IAAA,aAAM,EACL,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,4BAA4B,EAAE,qBAAqB,CAAC,EACjH,oBAAoB,CACpB,CAAC,GAAG,CAAC,SAAS,CAAC;aAChB;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,sBAAsB,EAAE,EAAE,KAAK;YAC3E,MAAM,CACL,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,4BAA4B,EAAE,qBAAqB,CAAC,CACjH,EAAE,MAAM,EAAE,CAAC;YAEZ,MAAM,CACL,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,sBAAsB,EAAE,qBAAqB,GAAG,CAAC,CAAC,CAC/G,EAAE,MAAM,EAAE,CAAC;YACZ,eAAM,CAAC,KAAK,CAAC,2BAA2B,sBAAsB,GAAG,CAAC,CAAC;YACnE,MAAM,IAAI,gCAAU,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAC1D,MAAM,YAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEvE,eAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvD,MAAM,IAAI,GAAW,MAAM,OAAO,EAAE,CAAC;YACrC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEzG,eAAM,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;YAEpG,qBAAqB,GAAG,qBAAqB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAW,EAAuC,EAAE;gBACtH,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACrG,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAwC,EAAU,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChH,IAAA,aAAM,EAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK;YAC3C,eAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;YAC/F,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,iCAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1F,IAAA,aAAM,EAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK;YACjD,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,eAAM,CAAC,KAAK,CACX,mFAAmF,qCAAiB,CAAC,6BAA6B,EAAE,CACpI,CAAC;YACF,MAAM,YAAY,CAAC,IAAI,CAAC,qCAAiB,CAAC,6BAA6B,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK;YAC1D,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,qCAAiB,CAAC,8BAA8B,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9F,eAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;YAC/F,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,iCAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAE1F,eAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACjF,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,CAA4B,CAAC;YACnG,IAAA,aAAM,EAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACvE,MAAM,YAAY,CAAC,cAAc,CAChC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,EAClD,qCAAiB,CAAC,iCAAiC,CACnD,CAAC;YAEF,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,IAAI;gBACH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;aACjD;YAAC,OAAO,GAAG,EAAE;gBACb,MAAM,YAAY,CAAC,IAAI,CAAC,qCAAiB,CAAC,mCAAmC,CAAC,CAAC;gBAC/E,MAAM,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;aACjD;YACD,MAAM,gBAAgB,GAAY,MAAM,YAAY,CAAC,SAAS,CAC5D,kBAAkB,CAAC,qBAA6B,CAAC,mBAAmB,CACrE,CAAC;YACF,eAAM,CAAC,KAAK,CAAC,4CAA4C,gBAAgB,EAAE,CAAC,CAAC;YAE7E,IAAI,gBAAgB,EAAE;gBACrB,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;gBACnE,MAAM,YAAY,CAAC,cAAc,CAChC,kBAAkB,CAAC,WAAW,CAAC,aAAa,EAC5C,qCAAiB,CAAC,iCAAiC,CACnD,CAAC;gBACF,eAAM,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBACjG,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,iCAAW,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC1F,MAAM,YAAY,CAAC,cAAc,CAChC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,EAClD,qCAAiB,CAAC,iCAAiC,CACnD,CAAC;gBACF,IAAA,aAAM,EAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC1E,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,CAA4B,CAAC;gBACnG,IAAA,aAAM,EAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBACvE,MAAM,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;aAClD;YAED,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,IAAI;gBACH,eAAM,CAAC,KAAK,CAAC,6BAA6B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,MAAM,gBAAgB,GAAY,MAAM,gDAAgD,CAAC,cAAc,CAAC,CAAC;gBACzG,eAAM,CAAC,KAAK,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAC;gBACvD,IAAA,aAAM,EAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACpC,eAAM,CAAC,KAAK,CAAC,uEAAuE,cAAc,OAAO,CAAC,CAAC;aAC3G;YAAC,OAAO,KAAK,EAAE;gBACf,eAAM,CAAC,KAAK,CAAC,8DAA8D,KAAK,EAAE,CAAC,CAAC;gBACpF,MAAM,KAAK,CAAC;aACZ;YAED,eAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC/D,IAAI;gBACH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;aAChD;YAAC,OAAO,GAAG,EAAE;gBACb,MAAM,YAAY,CAAC,IAAI,CAAC,qCAAiB,CAAC,mCAAmC,CAAC,CAAC;gBAC/E,MAAM,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;aAChD;YACD,IAAA,aAAM,EAAC,MAAM,8CAA8C,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACxF,eAAM,CAAC,KAAK,CAAC,qEAAqE,cAAc,OAAO,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,yCAAyC,EAAE,KAAK;YAC7D,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,sCAAsC,EAAE,KAAK;YAC1D,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,8BAA8B,EAAE;YAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;CACH"}