@eclipse-che/che-e2e 7.122.0-next-4d9831f → 7.123.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 (261) hide show
  1. package/configs/inversify.config.ts +2 -0
  2. package/configs/inversify.types.ts +2 -1
  3. package/index.ts +6 -5
  4. package/package.json +1 -1
  5. package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +10 -0
  6. package/pageobjects/ide/RestartWorkspaceDialog.ts +74 -0
  7. package/specs/restart-tests/RestartFromLocalDevfile.spec.ts +351 -0
  8. package/dist/configs/inversify.config.js +0 -121
  9. package/dist/configs/inversify.config.js.map +0 -1
  10. package/dist/configs/inversify.types.js +0 -73
  11. package/dist/configs/inversify.types.js.map +0 -1
  12. package/dist/configs/mocharc.js +0 -42
  13. package/dist/configs/mocharc.js.map +0 -1
  14. package/dist/constants/API_TEST_CONSTANTS.js +0 -60
  15. package/dist/constants/API_TEST_CONSTANTS.js.map +0 -1
  16. package/dist/constants/BASE_TEST_CONSTANTS.js +0 -109
  17. package/dist/constants/BASE_TEST_CONSTANTS.js.map +0 -1
  18. package/dist/constants/CHROME_DRIVER_CONSTANTS.js +0 -40
  19. package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +0 -1
  20. package/dist/constants/EDITOR_CONSTANTS.js +0 -114
  21. package/dist/constants/EDITOR_CONSTANTS.js.map +0 -1
  22. package/dist/constants/FACTORY_TEST_CONSTANTS.js +0 -87
  23. package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +0 -1
  24. package/dist/constants/MOCHA_CONSTANTS.js +0 -24
  25. package/dist/constants/MOCHA_CONSTANTS.js.map +0 -1
  26. package/dist/constants/MONACO_CONSTANTS.js +0 -25
  27. package/dist/constants/MONACO_CONSTANTS.js.map +0 -1
  28. package/dist/constants/OAUTH_CONSTANTS.js +0 -53
  29. package/dist/constants/OAUTH_CONSTANTS.js.map +0 -1
  30. package/dist/constants/PLUGIN_TEST_CONSTANTS.js +0 -19
  31. package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +0 -1
  32. package/dist/constants/REPORTER_CONSTANTS.js +0 -123
  33. package/dist/constants/REPORTER_CONSTANTS.js.map +0 -1
  34. package/dist/constants/TIMEOUT_CONSTANTS.js +0 -101
  35. package/dist/constants/TIMEOUT_CONSTANTS.js.map +0 -1
  36. package/dist/driver/ChromeDriver.js +0 -77
  37. package/dist/driver/ChromeDriver.js.map +0 -1
  38. package/dist/driver/IDriver.js +0 -3
  39. package/dist/driver/IDriver.js.map +0 -1
  40. package/dist/index.js +0 -98
  41. package/dist/index.js.map +0 -1
  42. package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -181
  43. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
  44. package/dist/pageobjects/dashboard/Dashboard.js +0 -208
  45. package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
  46. package/dist/pageobjects/dashboard/TrustAuthorPopup.js +0 -61
  47. package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +0 -1
  48. package/dist/pageobjects/dashboard/UserPreferences.js +0 -268
  49. package/dist/pageobjects/dashboard/UserPreferences.js.map +0 -1
  50. package/dist/pageobjects/dashboard/Workspaces.js +0 -242
  51. package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
  52. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -186
  53. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
  54. package/dist/pageobjects/git-providers/OauthPage.js +0 -218
  55. package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
  56. package/dist/pageobjects/ide/AiCodeSignInDialog.js +0 -55
  57. package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +0 -1
  58. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -108
  59. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
  60. package/dist/pageobjects/ide/CommandPalette.js +0 -117
  61. package/dist/pageobjects/ide/CommandPalette.js.map +0 -1
  62. package/dist/pageobjects/ide/ExplorerView.js +0 -108
  63. package/dist/pageobjects/ide/ExplorerView.js.map +0 -1
  64. package/dist/pageobjects/ide/ExtensionsView.js +0 -162
  65. package/dist/pageobjects/ide/ExtensionsView.js.map +0 -1
  66. package/dist/pageobjects/ide/GitHubExtensionDialog.js +0 -66
  67. package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +0 -1
  68. package/dist/pageobjects/ide/NotificationHandler.js +0 -83
  69. package/dist/pageobjects/ide/NotificationHandler.js.map +0 -1
  70. package/dist/pageobjects/ide/RestrictedModeButton.js +0 -57
  71. package/dist/pageobjects/ide/RestrictedModeButton.js.map +0 -1
  72. package/dist/pageobjects/ide/SourceControlView.js +0 -52
  73. package/dist/pageobjects/ide/SourceControlView.js.map +0 -1
  74. package/dist/pageobjects/ide/ViewsMoreActionsButton.js +0 -73
  75. package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +0 -1
  76. package/dist/pageobjects/login/interfaces/ICheLoginPage.js +0 -12
  77. package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +0 -1
  78. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +0 -12
  79. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +0 -1
  80. package/dist/pageobjects/login/kubernetes/DexLoginPage.js +0 -69
  81. package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +0 -1
  82. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +0 -50
  83. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +0 -1
  84. package/dist/pageobjects/login/openshift/OcpLoginPage.js +0 -88
  85. package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +0 -1
  86. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +0 -73
  87. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +0 -1
  88. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +0 -53
  89. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +0 -1
  90. package/dist/pageobjects/login/openshift/RedHatLoginPage.js +0 -85
  91. package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +0 -1
  92. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +0 -65
  93. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +0 -1
  94. package/dist/pageobjects/openshift/OcpApplicationPage.js +0 -60
  95. package/dist/pageobjects/openshift/OcpApplicationPage.js.map +0 -1
  96. package/dist/pageobjects/openshift/OcpImportFromGitPage.js +0 -92
  97. package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
  98. package/dist/pageobjects/openshift/OcpMainPage.js +0 -140
  99. package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
  100. package/dist/pageobjects/webterminal/WebTerminalPage.js +0 -182
  101. package/dist/pageobjects/webterminal/WebTerminalPage.js.map +0 -1
  102. package/dist/specs/MochaHooks.js +0 -142
  103. package/dist/specs/MochaHooks.js.map +0 -1
  104. package/dist/specs/SmokeTest.spec.js +0 -58
  105. package/dist/specs/SmokeTest.spec.js.map +0 -1
  106. package/dist/specs/api/AnsibleDevFileAPI.spec.js +0 -263
  107. package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +0 -1
  108. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +0 -147
  109. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +0 -1
  110. package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -40
  111. package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
  112. package/dist/specs/api/CppDevFileAPI.spec.js +0 -87
  113. package/dist/specs/api/CppDevFileAPI.spec.js.map +0 -1
  114. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -99
  115. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
  116. package/dist/specs/api/DotnetDevFileAPI.spec.js +0 -89
  117. package/dist/specs/api/DotnetDevFileAPI.spec.js.map +0 -1
  118. package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -60
  119. package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
  120. package/dist/specs/api/GoDevFileAPI.spec.js +0 -82
  121. package/dist/specs/api/GoDevFileAPI.spec.js.map +0 -1
  122. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +0 -97
  123. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +0 -1
  124. package/dist/specs/api/JBossEapDevFileAPI.spec.js +0 -127
  125. package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +0 -1
  126. package/dist/specs/api/LombokDevFileAPI.spec.js +0 -81
  127. package/dist/specs/api/LombokDevFileAPI.spec.js.map +0 -1
  128. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +0 -81
  129. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +0 -1
  130. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +0 -130
  131. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +0 -1
  132. package/dist/specs/api/PhpDevFileAPI.spec.js +0 -71
  133. package/dist/specs/api/PhpDevFileAPI.spec.js.map +0 -1
  134. package/dist/specs/api/PodOverridesAPI.spec.js +0 -46
  135. package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
  136. package/dist/specs/api/PythonDevFileAPI.spec.js +0 -71
  137. package/dist/specs/api/PythonDevFileAPI.spec.js.map +0 -1
  138. package/dist/specs/api/QuarkusDevFileAPI.spec.js +0 -97
  139. package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +0 -1
  140. package/dist/specs/dashboard-samples/Documentation.spec.js +0 -118
  141. package/dist/specs/dashboard-samples/Documentation.spec.js.map +0 -1
  142. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -60
  143. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
  144. package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -64
  145. package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
  146. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +0 -345
  147. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +0 -1
  148. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +0 -171
  149. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +0 -1
  150. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -155
  151. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
  152. package/dist/specs/factory/Factory.spec.js +0 -183
  153. package/dist/specs/factory/Factory.spec.js.map +0 -1
  154. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +0 -63
  155. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +0 -1
  156. package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -212
  157. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
  158. package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -239
  159. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
  160. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +0 -202
  161. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +0 -1
  162. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +0 -77
  163. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +0 -1
  164. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +0 -106
  165. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +0 -1
  166. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +0 -113
  167. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +0 -1
  168. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +0 -116
  169. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +0 -1
  170. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +0 -205
  171. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +0 -1
  172. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +0 -129
  173. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +0 -1
  174. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +0 -121
  175. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +0 -1
  176. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +0 -103
  177. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +0 -1
  178. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -111
  179. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
  180. package/dist/specs/miscellaneous/RenameWorkspace.spec.js +0 -116
  181. package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +0 -1
  182. package/dist/specs/miscellaneous/RevokeOauth.spec.js +0 -29
  183. package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +0 -1
  184. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +0 -26
  185. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +0 -1
  186. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +0 -78
  187. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +0 -1
  188. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +0 -196
  189. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +0 -1
  190. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +0 -208
  191. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +0 -1
  192. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +0 -84
  193. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +0 -1
  194. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +0 -84
  195. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +0 -1
  196. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +0 -101
  197. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +0 -1
  198. package/dist/specs/web-terminal/WebTerminalTest.spec.js +0 -47
  199. package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +0 -1
  200. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +0 -82
  201. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +0 -1
  202. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +0 -78
  203. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +0 -1
  204. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +0 -13
  205. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  206. package/dist/suites/disconnected-ocp/APITest.suite.js +0 -14
  207. package/dist/suites/disconnected-ocp/APITest.suite.js.map +0 -1
  208. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  209. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  210. package/dist/suites/disconnected-ocp/UITest.suite.js +0 -19
  211. package/dist/suites/disconnected-ocp/UITest.suite.js.map +0 -1
  212. package/dist/suites/online-ocp/APITest.suite.js +0 -15
  213. package/dist/suites/online-ocp/APITest.suite.js.map +0 -1
  214. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  215. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  216. package/dist/suites/online-ocp/UITest.suite.js +0 -23
  217. package/dist/suites/online-ocp/UITest.suite.js.map +0 -1
  218. package/dist/tests-library/LoginTests.js +0 -76
  219. package/dist/tests-library/LoginTests.js.map +0 -1
  220. package/dist/tests-library/ProjectAndFileTests.js +0 -230
  221. package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
  222. package/dist/tests-library/WorkspaceHandlingTests.js +0 -219
  223. package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
  224. package/dist/utils/BrowserTabsUtil.js +0 -124
  225. package/dist/utils/BrowserTabsUtil.js.map +0 -1
  226. package/dist/utils/CheReporter.js +0 -238
  227. package/dist/utils/CheReporter.js.map +0 -1
  228. package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -145
  229. package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
  230. package/dist/utils/DevfilesHelper.js +0 -177
  231. package/dist/utils/DevfilesHelper.js.map +0 -1
  232. package/dist/utils/DriverHelper.js +0 -609
  233. package/dist/utils/DriverHelper.js.map +0 -1
  234. package/dist/utils/IContextParams.js +0 -12
  235. package/dist/utils/IContextParams.js.map +0 -1
  236. package/dist/utils/IKubernetesCommandLineToolsExecutor.js +0 -3
  237. package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +0 -1
  238. package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -338
  239. package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
  240. package/dist/utils/Logger.js +0 -146
  241. package/dist/utils/Logger.js.map +0 -1
  242. package/dist/utils/ScreenCatcher.js +0 -114
  243. package/dist/utils/ScreenCatcher.js.map +0 -1
  244. package/dist/utils/ShellExecutor.js +0 -47
  245. package/dist/utils/ShellExecutor.js.map +0 -1
  246. package/dist/utils/StringUtil.js +0 -107
  247. package/dist/utils/StringUtil.js.map +0 -1
  248. package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -128
  249. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
  250. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -55
  251. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  252. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +0 -12
  253. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  254. package/dist/utils/workspace/ApiUrlResolver.js +0 -117
  255. package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
  256. package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
  257. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
  258. package/dist/utils/workspace/TestWorkspaceUtil.js +0 -202
  259. package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
  260. package/dist/utils/workspace/WorkspaceStatus.js +0 -19
  261. package/dist/utils/workspace/WorkspaceStatus.js.map +0 -1
@@ -1,142 +0,0 @@
1
- "use strict";
2
- /** *******************************************************************
3
- * copyright (c) 2023 Red Hat, Inc.
4
- *
5
- * This program and the accompanying materials are made
6
- * available under the terms of the Eclipse Public License 2.0
7
- * which is available at https://www.eclipse.org/legal/epl-2.0/
8
- *
9
- * SPDX-License-Identifier: EPL-2.0
10
- **********************************************************************/
11
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- var desc = Object.getOwnPropertyDescriptor(m, k);
14
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
- desc = { enumerable: true, get: function() { return m[k]; } };
16
- }
17
- Object.defineProperty(o, k2, desc);
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
26
- });
27
- var __importStar = (this && this.__importStar) || function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.registerRunningWorkspace = exports.rpApi = void 0;
36
- require("reflect-metadata");
37
- const inversify_types_1 = require("../configs/inversify.types");
38
- const CheApiRequestHandler_1 = require("../utils/request-handlers/CheApiRequestHandler");
39
- const TIMEOUT_CONSTANTS_1 = require("../constants/TIMEOUT_CONSTANTS");
40
- const monacoPageObjects = __importStar(require("monaco-page-objects"));
41
- const vscodeExtensionTesterLocators = __importStar(require("vscode-extension-tester-locators"));
42
- const inversify_config_1 = require("../configs/inversify.config");
43
- const Logger_1 = require("../utils/Logger");
44
- const runtime_1 = require("allure-mocha/runtime");
45
- const BASE_TEST_CONSTANTS_1 = require("../constants/BASE_TEST_CONSTANTS");
46
- const MONACO_CONSTANTS_1 = require("../constants/MONACO_CONSTANTS");
47
- const CHROME_DRIVER_CONSTANTS_1 = require("../constants/CHROME_DRIVER_CONSTANTS");
48
- const inversify_1 = require("inversify");
49
- const main_1 = require("@eclipse-che/che-devworkspace-generator/lib/main");
50
- const loader_1 = require("monaco-page-objects/out/locators/loader");
51
- const REPORTER_CONSTANTS_1 = require("../constants/REPORTER_CONSTANTS");
52
- const WorkspaceHandlingTests_1 = require("../tests-library/WorkspaceHandlingTests");
53
- const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
54
- let latestWorkspace = '';
55
- exports.rpApi = undefined;
56
- function registerRunningWorkspace(workspaceName) {
57
- workspaceName !== ''
58
- ? Logger_1.Logger.debug(`with workspaceName:${workspaceName}`)
59
- : (() => {
60
- Logger_1.Logger.debug('delete workspace name');
61
- WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
62
- })();
63
- latestWorkspace = workspaceName;
64
- }
65
- exports.registerRunningWorkspace = registerRunningWorkspace;
66
- exports.mochaHooks = {
67
- beforeAll: [
68
- function initRPApi() {
69
- exports.rpApi = require('@reportportal/agent-js-mocha/lib/publicReportingAPI.js');
70
- },
71
- function decorateExternalClasses() {
72
- (0, inversify_1.decorate)((0, inversify_1.injectable)(), main_1.Main);
73
- (0, inversify_1.decorate)((0, inversify_1.injectable)(), loader_1.LocatorLoader);
74
- (0, inversify_1.decorate)((0, inversify_1.unmanaged)(), loader_1.LocatorLoader, 0);
75
- (0, inversify_1.decorate)((0, inversify_1.unmanaged)(), loader_1.LocatorLoader, 1);
76
- (0, inversify_1.decorate)((0, inversify_1.unmanaged)(), loader_1.LocatorLoader, 2);
77
- },
78
- function enableRequestInterceptor() {
79
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_REQUEST_INTERCEPTOR) {
80
- CheApiRequestHandler_1.CheApiRequestHandler.enableRequestInterceptor();
81
- }
82
- },
83
- function enableResponseInterceptor() {
84
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_RESPONSE_INTERCEPTOR) {
85
- CheApiRequestHandler_1.CheApiRequestHandler.enableResponseInterceptor();
86
- }
87
- },
88
- // init vscode-extension-tester monaco-page-objects
89
- function initMonacoPageObjects() {
90
- monacoPageObjects.initPageObjects(MONACO_CONSTANTS_1.MONACO_CONSTANTS.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION, MONACO_CONSTANTS_1.MONACO_CONSTANTS.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, vscodeExtensionTesterLocators.getLocatorsPath(), driverHelper.getDriver(), 'google-chrome');
91
- },
92
- function prolongTimeoutConstantsInDebugMode() {
93
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_DEBUG_MODE) {
94
- for (const [timeout, seconds] of Object.entries(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS)) {
95
- Object.defineProperty(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS, timeout, {
96
- value: seconds * 2
97
- });
98
- }
99
- }
100
- }
101
- ],
102
- afterEach: [
103
- async function saveAllureAttachments() {
104
- if (REPORTER_CONSTANTS_1.REPORTER_CONSTANTS.SAVE_ALLURE_REPORT_DATA && this.currentTest?.state === 'failed') {
105
- try {
106
- const screenshot = await driverHelper.getDriver().takeScreenshot();
107
- runtime_1.allure.attachment('Screenshot', Buffer.from(screenshot, 'base64'), 'image/png');
108
- }
109
- catch (e) {
110
- runtime_1.allure.attachment('No screenshot', 'Could not take a screenshot', 'text/plain');
111
- }
112
- }
113
- },
114
- async function saveReportportalAttachments() {
115
- if (REPORTER_CONSTANTS_1.REPORTER_CONSTANTS.SAVE_RP_REPORT_DATA && this.currentTest?.state === 'failed') {
116
- try {
117
- const screenshot = await driverHelper.getDriver().takeScreenshot();
118
- const attachment = {
119
- name: 'screenshot.png',
120
- type: 'image/png',
121
- content: screenshot
122
- };
123
- exports.rpApi.error('Screenshot on fail: ', attachment);
124
- }
125
- catch (e) {
126
- exports.rpApi.error('Could not attach the screenshot');
127
- }
128
- }
129
- },
130
- // stop and remove running workspace
131
- async function deleteWorkspaceOnFailedTest() {
132
- if (this.currentTest?.state === 'failed') {
133
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.DELETE_WORKSPACE_ON_FAILED_TEST && CHROME_DRIVER_CONSTANTS_1.CHROME_DRIVER_CONSTANTS.TS_USE_WEB_DRIVER_FOR_TEST) {
134
- Logger_1.Logger.trace('Property DELETE_WORKSPACE_ON_FAILED_TEST is true - trying to stop and delete running workspace with API.');
135
- const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
136
- await testWorkspaceUtil.stopAndDeleteWorkspaceByName(latestWorkspace);
137
- }
138
- }
139
- }
140
- ]
141
- };
142
- //# sourceMappingURL=MochaHooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MochaHooks.js","sourceRoot":"","sources":["../../specs/MochaHooks.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const inversify_types_1 = require("../configs/inversify.types");
4
- const inversify_config_1 = require("../configs/inversify.config");
5
- const WorkspaceHandlingTests_1 = require("../tests-library/WorkspaceHandlingTests");
6
- const MochaHooks_1 = require("./MochaHooks");
7
- const StringUtil_1 = require("../utils/StringUtil");
8
- const FACTORY_TEST_CONSTANTS_1 = require("../constants/FACTORY_TEST_CONSTANTS");
9
- const chai_1 = require("chai");
10
- const BASE_TEST_CONSTANTS_1 = require("../constants/BASE_TEST_CONSTANTS");
11
- suite(`The SmokeTest userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
12
- const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
13
- const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
14
- const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
15
- const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
16
- const factoryUrl = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/che-incubator/quarkus-api-example.git?new';
17
- let projectSection;
18
- suite(`Create workspace from factory:${factoryUrl}`, function () {
19
- suiteSetup('Login', async function () {
20
- await loginTests.loginIntoChe();
21
- });
22
- test(`Create and open new workspace from factory:${factoryUrl}`, async function () {
23
- await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
24
- });
25
- test('Obtain workspace name from workspace loader page', async function () {
26
- await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
27
- });
28
- test('Register running workspace', function () {
29
- (0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
30
- });
31
- test('Wait workspace readiness', async function () {
32
- await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
33
- });
34
- test('Check a project folder has been created', async function () {
35
- const projectName = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_PROJECT_NAME || StringUtil_1.StringUtil.getProjectNameFromGitUrl(factoryUrl);
36
- projectSection = await projectAndFileTests.getProjectViewSession();
37
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not
38
- .undefined;
39
- });
40
- test('Accept the project as a trusted one', async function () {
41
- await projectAndFileTests.performTrustAuthorDialog();
42
- });
43
- test('Check the project files was imported', async function () {
44
- (0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME), 'Project files were not imported').not.undefined;
45
- });
46
- test('Stop the workspace by UI', async function () {
47
- await workspaceHandlingTests.stopWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
48
- await browserTabsUtil.closeAllTabsExceptCurrent();
49
- });
50
- test('Delete the workspace by UI', async function () {
51
- await workspaceHandlingTests.removeWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
52
- });
53
- suiteTeardown('Unregister running workspace', function () {
54
- (0, MochaHooks_1.registerRunningWorkspace)('');
55
- });
56
- });
57
- });
58
- //# sourceMappingURL=SmokeTest.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmokeTest.spec.js","sourceRoot":"","sources":["../../specs/SmokeTest.spec.ts"],"names":[],"mappings":"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"}
@@ -1,263 +0,0 @@
1
- "use strict";
2
- /** *******************************************************************
3
- * copyright (c) 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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
16
- const inversify_config_1 = require("../../configs/inversify.config");
17
- const inversify_types_1 = require("../../configs/inversify.types");
18
- const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
19
- const chai_1 = require("chai");
20
- const API_TEST_CONSTANTS_1 = require("../../constants/API_TEST_CONSTANTS");
21
- const yaml_1 = __importDefault(require("yaml"));
22
- const Logger_1 = require("../../utils/Logger");
23
- const crypto_1 = __importDefault(require("crypto"));
24
- suite('Ansible devfile API test', function () {
25
- const devfilesRegistryHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DevfilesRegistryHelper);
26
- const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
27
- const devfileID = 'ansible';
28
- const serviceNameToPortForward = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME() + '-dashboard';
29
- // namespace where the application is deployed to port-forward the service
30
- const applicationNamespace = 'openshift-' + BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME();
31
- const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
32
- let devWorkspaceConfigurationHelper;
33
- let devfileContext;
34
- let devfileContent = '';
35
- let devfileName = '';
36
- suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
37
- kubernetesCommandLineToolsExecutor.loginToOcp();
38
- });
39
- test(`Create ${devfileID} workspace`, async function () {
40
- const randomPref = crypto_1.default.randomBytes(4).toString('hex');
41
- kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
42
- devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
43
- const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
44
- devfileName = yaml_1.default.parse(devfileContent).metadata.name;
45
- const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
46
- kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
47
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
48
- editorContent: editorDevfileContent,
49
- devfileContent: devfileContent
50
- });
51
- devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
52
- if (devfileContext.devWorkspace.metadata) {
53
- devfileContext.devWorkspace.metadata.name = uniqueName;
54
- }
55
- const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
56
- const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
57
- (0, chai_1.expect)(output.stdout).contains('condition met');
58
- Logger_1.Logger.info('Inject kubeconfig to workspace');
59
- kubernetesCommandLineToolsExecutor.startTcpPortForward(serviceNameToPortForward, applicationNamespace);
60
- const devworkspaceId = kubernetesCommandLineToolsExecutor.getDevWorkspaceId();
61
- kubernetesCommandLineToolsExecutor.injectKubeConfig(devworkspaceId);
62
- });
63
- test('Check "molecule-create" command', function () {
64
- const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
65
- const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
66
- const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
67
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
68
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
69
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
70
- let runCommandInBash;
71
- if (workdir) {
72
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
73
- }
74
- else {
75
- runCommandInBash = `${safeCommandLine}`;
76
- }
77
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
78
- (0, chai_1.expect)(output.code).eqls(0);
79
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout (CRW-12595)
80
- const combinedOutput = (output.stdout + output.stderr).trim();
81
- const recapBlocks = combinedOutput.split(/PLAY RECAP/g).slice(1);
82
- recapBlocks.forEach((block) => {
83
- (0, chai_1.expect)(block).match(/failed\s*=\s*0/);
84
- });
85
- (0, chai_1.expect)(combinedOutput).to.include('was installed successfully');
86
- (0, chai_1.expect)(combinedOutput).to.not.match(/failed\s*=\s*[1-9]\d*/);
87
- });
88
- test('Check "molecule-list" command', function () {
89
- const containerName = yaml_1.default.parse(devfileContent).commands[1].exec.component;
90
- const workdir = yaml_1.default.parse(devfileContent).commands[1].exec.workingDir;
91
- const commandLine = yaml_1.default.parse(devfileContent).commands[1].exec.commandLine;
92
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
93
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
94
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
95
- let runCommandInBash;
96
- if (workdir) {
97
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
98
- }
99
- else {
100
- runCommandInBash = `${safeCommandLine}`;
101
- }
102
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
103
- (0, chai_1.expect)(output.code).eqls(0);
104
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout
105
- const outputText = (output.stdout + output.stderr).trim();
106
- (0, chai_1.expect)(outputText).to.include('molecule');
107
- (0, chai_1.expect)(outputText).to.include('ansible');
108
- (0, chai_1.expect)(outputText).to.include('default');
109
- (0, chai_1.expect)(outputText).to.include('true');
110
- });
111
- test('Check "molecule-converge" command', function () {
112
- const containerName = yaml_1.default.parse(devfileContent).commands[2].exec.component;
113
- const workdir = yaml_1.default.parse(devfileContent).commands[2].exec.workingDir;
114
- const commandLine = yaml_1.default.parse(devfileContent).commands[2].exec.commandLine;
115
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
116
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
117
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
118
- let runCommandInBash;
119
- if (workdir) {
120
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
121
- }
122
- else {
123
- runCommandInBash = `${safeCommandLine}`;
124
- }
125
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
126
- (0, chai_1.expect)(output.code).eqls(0);
127
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout
128
- const combinedOutput = (output.stdout + output.stderr).trim();
129
- const recapBlocks = combinedOutput.split(/PLAY RECAP/g).slice(1);
130
- recapBlocks.forEach((block) => {
131
- (0, chai_1.expect)(block).match(/failed\s*=\s*0/);
132
- });
133
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Converge]');
134
- (0, chai_1.expect)(combinedOutput).to.not.match(/failed\s*=\s*[1-9]\d*/);
135
- });
136
- test('Check "molecule-verify" command', function () {
137
- const containerName = yaml_1.default.parse(devfileContent).commands[3].exec.component;
138
- const workdir = yaml_1.default.parse(devfileContent).commands[3].exec.workingDir;
139
- const commandLine = yaml_1.default.parse(devfileContent).commands[3].exec.commandLine;
140
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
141
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
142
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
143
- let runCommandInBash;
144
- if (workdir) {
145
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
146
- }
147
- else {
148
- runCommandInBash = `${safeCommandLine}`;
149
- }
150
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
151
- (0, chai_1.expect)(output.code).eqls(0);
152
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout
153
- const combinedOutput = (output.stdout + output.stderr).trim();
154
- const recapBlocks = combinedOutput.split(/PLAY RECAP/g).slice(1);
155
- recapBlocks.forEach((block) => {
156
- (0, chai_1.expect)(block).match(/failed\s*=\s*0/);
157
- });
158
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Verify]');
159
- (0, chai_1.expect)(combinedOutput).to.not.match(/failed\s*=\s*[1-9]\d*/);
160
- });
161
- test('Check "molecule-destroy" command', function () {
162
- const containerName = yaml_1.default.parse(devfileContent).commands[4].exec.component;
163
- const workdir = yaml_1.default.parse(devfileContent).commands[4].exec.workingDir;
164
- const commandLine = yaml_1.default.parse(devfileContent).commands[4].exec.commandLine;
165
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
166
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
167
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
168
- let runCommandInBash;
169
- if (workdir) {
170
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
171
- }
172
- else {
173
- runCommandInBash = `${safeCommandLine}`;
174
- }
175
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
176
- (0, chai_1.expect)(output.code).eqls(0);
177
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout
178
- const combinedOutput = (output.stdout + output.stderr).trim();
179
- const recapBlocks = combinedOutput.split(/PLAY RECAP/g).slice(1);
180
- recapBlocks.forEach((block) => {
181
- (0, chai_1.expect)(block).match(/failed\s*=\s*0/);
182
- });
183
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Destroy]');
184
- (0, chai_1.expect)(combinedOutput).to.not.match(/failed\s*=\s*[1-9]\d*/);
185
- });
186
- test('Check "molecule-test" command', function () {
187
- const containerName = yaml_1.default.parse(devfileContent).commands[5].exec.component;
188
- const workdir = yaml_1.default.parse(devfileContent).commands[5].exec.workingDir;
189
- const commandLine = yaml_1.default.parse(devfileContent).commands[5].exec.commandLine;
190
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
191
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
192
- const safeCommandLine = commandLine.replace('/source\s+\$HOME\/\.bashrc/', '[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" || true');
193
- let runCommandInBash;
194
- if (workdir) {
195
- runCommandInBash = `cd ${workdir} && ${safeCommandLine}`;
196
- }
197
- else {
198
- runCommandInBash = `${safeCommandLine}`;
199
- }
200
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
201
- (0, chai_1.expect)(output.code).eqls(0);
202
- // molecule may write its rich formatted output (box-drawing, ANSI codes) to stderr rather than stdout
203
- const combinedOutput = (output.stdout + output.stderr).trim();
204
- const recapBlocks = combinedOutput.split(/PLAY RECAP/g).slice(1);
205
- recapBlocks.forEach((block) => {
206
- (0, chai_1.expect)(block).match(/failed\s*=\s*0/);
207
- });
208
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Create]');
209
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Converge]');
210
- (0, chai_1.expect)(combinedOutput).to.include('PLAY [Verify]');
211
- (0, chai_1.expect)(combinedOutput).to.not.match(/failed\s*=\s*[1-9]\d*/);
212
- });
213
- test('Check "ansible-navigator" command', function () {
214
- const containerName = yaml_1.default.parse(devfileContent).commands[6].exec.component;
215
- const workdir = yaml_1.default.parse(devfileContent).commands[6].exec.workingDir;
216
- const rawCommandLines = yaml_1.default.parse(devfileContent).commands[6].exec.commandLine;
217
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
218
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: \n${rawCommandLines}`);
219
- const modifiedLines = rawCommandLines
220
- .trim()
221
- .split('\n')
222
- .map((line) => {
223
- const trimmed = line.trim();
224
- if (trimmed.startsWith('if [ ! -d') || trimmed === 'fi') {
225
- return ''; // remove conditional checks
226
- }
227
- if (trimmed.startsWith('ansible-navigator')) {
228
- // '--help' with '--mode stdout' disables interactive mode and ensures stable, testable output from ansible-navigator
229
- const safeCommandLine = trimmed + ' --help --mode stdout';
230
- return safeCommandLine;
231
- }
232
- return trimmed;
233
- })
234
- .filter(Boolean);
235
- const modifiedScript = modifiedLines.join(' && ');
236
- const patchedCommandLine = `bash -c \"${modifiedScript}\"`;
237
- let runCommandInBash;
238
- if (workdir) {
239
- runCommandInBash = `cd ${workdir} && ${patchedCommandLine}`;
240
- }
241
- else {
242
- runCommandInBash = `${patchedCommandLine}`;
243
- }
244
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
245
- (0, chai_1.expect)(output.code).eqls(0);
246
- // ansible-navigator may write output to stderr depending on terminal detection
247
- const outputText = (output.stdout + output.stderr).trim();
248
- (0, chai_1.expect)(outputText).to.include('ansible-navigator');
249
- (0, chai_1.expect)(outputText).to.include('collections');
250
- (0, chai_1.expect)(outputText).to.include('config');
251
- (0, chai_1.expect)(outputText).to.include('settings');
252
- (0, chai_1.expect)(outputText).to.include('welcome');
253
- });
254
- test('Check removing molecule pod afer deleting workspace', function () {
255
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
256
- kubernetesCommandLineToolsExecutor.waitRemovingPod('molecule');
257
- });
258
- suiteTeardown('Delete DevWorkspace', function () {
259
- kubernetesCommandLineToolsExecutor.stopTcpPortForward();
260
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
261
- });
262
- });
263
- //# sourceMappingURL=AnsibleDevFileAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnsibleDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/AnsibleDevFileAPI.spec.ts"],"names":[],"mappings":"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"}