@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,82 +0,0 @@
1
- "use strict";
2
- /** *******************************************************************
3
- * copyright (c) 2024 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('Go 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 = 'go';
28
- const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
29
- let devWorkspaceConfigurationHelper;
30
- let devfileContext;
31
- let devfileContent = '';
32
- let devfileName = '';
33
- suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
34
- kubernetesCommandLineToolsExecutor.loginToOcp();
35
- });
36
- test(`Create ${devfileID} workspace`, async function () {
37
- const randomPref = crypto_1.default.randomBytes(4).toString('hex');
38
- kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
39
- devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
40
- const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
41
- devfileName = yaml_1.default.parse(devfileContent).metadata.name;
42
- const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
43
- kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
44
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
45
- editorContent: editorDevfileContent,
46
- devfileContent: devfileContent
47
- });
48
- devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
49
- if (devfileContext.devWorkspace.metadata) {
50
- devfileContext.devWorkspace.metadata.name = uniqueName;
51
- }
52
- const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
53
- const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
54
- (0, chai_1.expect)(output.stdout).contains('condition met');
55
- });
56
- test('Check devfile commands', function () {
57
- const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
58
- const buildCommandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
59
- const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
60
- Logger_1.Logger.info('"Test \'build\' command execution"');
61
- Logger_1.Logger.info(`workdir from exec section of DevFile: ${workdir}`);
62
- Logger_1.Logger.info(`commandLine from exec section of DevFile: ${buildCommandLine}`);
63
- const runCommandInBash = `cd ${workdir} && ${buildCommandLine}`;
64
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
65
- Logger_1.Logger.info(`Output stderr: ${output.stderr}`);
66
- (0, chai_1.expect)(output.code).eqls(0);
67
- (0, chai_1.expect)(output.stderr.trim()).contains('go: downloading');
68
- Logger_1.Logger.info('"Test \'run\' command execution"');
69
- const runCommandLine = yaml_1.default.parse(devfileContent).commands[1].exec.commandLine;
70
- Logger_1.Logger.info(`commandLine from exec section of DevFile: ${runCommandLine}`);
71
- const runCommandInBash2 = `cd ${workdir} && sh -c "(${runCommandLine} > server.log 2>&1 &) && exit"`;
72
- const output2 = containerTerminal.execInContainerCommand(runCommandInBash2, containerName);
73
- (0, chai_1.expect)(output2.code).eqls(0);
74
- const logOutput = containerTerminal.execInContainerCommand(`cat ${workdir}/server.log`, containerName);
75
- Logger_1.Logger.info(`Log output: ${logOutput.stdout}`);
76
- (0, chai_1.expect)(logOutput.stdout.trim()).contains('Web server running on port 8080');
77
- });
78
- suiteTeardown('Delete DevWorkspace', function () {
79
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
80
- });
81
- });
82
- //# sourceMappingURL=GoDevFileAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GoDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/GoDevFileAPI.spec.ts"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
4
- const chai_1 = require("chai");
5
- const StringUtil_1 = require("../../utils/StringUtil");
6
- const Logger_1 = require("../../utils/Logger");
7
- const inversify_config_1 = require("../../configs/inversify.config");
8
- const inversify_types_1 = require("../../configs/inversify.types");
9
- const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
10
- const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
11
- const API_TEST_CONSTANTS_1 = require("../../constants/API_TEST_CONSTANTS");
12
- const MOCHA_CONSTANTS_1 = require("../../constants/MOCHA_CONSTANTS");
13
- /**
14
- * dynamically generating tests
15
- * info: https://mochajs.org/#delayed-root-suite
16
- */
17
- void (async function () {
18
- const devfilesRegistryHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DevfilesRegistryHelper);
19
- let devfileSamples;
20
- if (MOCHA_CONSTANTS_1.MOCHA_CONSTANTS.MOCHA_DELAYED_SUITE) {
21
- devfileSamples = await devfilesRegistryHelper.collectPathsToDevfilesFromRegistry(true, API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_DEV_WORKSPACE_LIST?.split(','));
22
- }
23
- for (const devfileSample of devfileSamples) {
24
- suite(`Inbuilt DevWorkspaces test suite for "${devfileSample.name}" sample ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
25
- this.bail(false);
26
- let devWorkspaceConfigurationHelper;
27
- let kubernetesCommandLineToolsExecutor;
28
- let containerTerminal;
29
- let devfileContextYaml;
30
- let devWorkspaceName;
31
- let clonedProjectName;
32
- let containerWorkDir;
33
- const devfilesBuildCommands = [];
34
- test('Get DevWorkspace configuration', function () {
35
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({});
36
- devfileContextYaml = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationsAsYaml(devfileSample.devWorkspaceConfigurationString);
37
- devWorkspaceName = devfileContextYaml.DevWorkspace.metadata.name;
38
- kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
39
- kubernetesCommandLineToolsExecutor.workspaceName = devWorkspaceName;
40
- containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
41
- kubernetesCommandLineToolsExecutor.loginToOcp();
42
- });
43
- test('Collect build commands from the devfile', function () {
44
- if (devfileContextYaml.DevWorkspace.spec.template.commands === undefined) {
45
- Logger_1.Logger.info('Devfile does not contains any commands.');
46
- }
47
- else {
48
- devfileContextYaml.DevWorkspace.spec.template.commands.forEach((command) => {
49
- if (command.exec?.group?.kind === 'build') {
50
- Logger_1.Logger.debug(`Build command found: ${command.exec.commandLine}`);
51
- devfilesBuildCommands.push(command);
52
- }
53
- });
54
- }
55
- });
56
- test('Create and wait DevWorkspace', function () {
57
- const output = kubernetesCommandLineToolsExecutor.applyYamlConfigurationAsStringOutput(devfileSample.devWorkspaceConfigurationString);
58
- (0, chai_1.expect)(output.stdout)
59
- .contains('devworkspacetemplate')
60
- .and.contains('devworkspace')
61
- .and.contains.oneOf(['created', 'configured']);
62
- });
63
- test('Wait until DevWorkspace has status "ready"', function () {
64
- this.timeout(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
65
- (0, chai_1.expect)(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
66
- });
67
- test('Check if project was created', function () {
68
- clonedProjectName = devfileContextYaml.DevWorkspace.spec.template.projects[0].name;
69
- (0, chai_1.expect)(containerTerminal.ls().stdout).includes(clonedProjectName);
70
- });
71
- test('Check if project files are imported', function () {
72
- containerWorkDir = containerTerminal.pwd().stdout.replace('\n', '');
73
- (0, chai_1.expect)(containerTerminal.ls(`${containerWorkDir}/${clonedProjectName}`).stdout).includes('devfile.yaml');
74
- });
75
- test('Check if build commands returns success', function () {
76
- this.test?.timeout(1500000); // 25 minutes because build of Quarkus sample takes 20+ minutes
77
- if (devfilesBuildCommands.length === 0) {
78
- Logger_1.Logger.info('Devfile does not contains build commands.');
79
- }
80
- else {
81
- devfilesBuildCommands.forEach((command) => {
82
- Logger_1.Logger.info(`command.exec: ${JSON.stringify(command.exec)}`);
83
- const commandString = StringUtil_1.StringUtil.updateCommandEnvsToShStyle(`cd ${command.exec.workingDir} && ${command.exec.commandLine}`);
84
- Logger_1.Logger.info(`Full build command to be executed: ${commandString}`);
85
- const output = containerTerminal.execInContainerCommand(commandString, command.exec.component);
86
- (0, chai_1.expect)(output.code).eqls(0);
87
- });
88
- }
89
- });
90
- test('Delete DevWorkspace', function () {
91
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
92
- });
93
- });
94
- }
95
- run();
96
- })();
97
- //# sourceMappingURL=InbuiltApplicationDevWorkspacesAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InbuiltApplicationDevWorkspacesAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/InbuiltApplicationDevWorkspacesAPI.spec.ts"],"names":[],"mappings":";;AAUA,iGAA8F;AAE9F,+BAA8B;AAC9B,uDAAoD;AAEpD,+CAA4C;AAC5C,qEAA8D;AAC9D,mEAAwD;AACxD,6EAA0E;AAC1E,yEAAsE;AACtE,2EAAwE;AACxE,qEAAkE;AAElE;;;GAGG;AAEH,KAAK,CAAC,KAAK;IACV,MAAM,sBAAsB,GAAmB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IAChG,IAAI,cAAmB,CAAC;IACxB,IAAI,iCAAe,CAAC,mBAAmB,EAAE;QACxC,cAAc,GAAG,MAAM,sBAAsB,CAAC,kCAAkC,CAC/E,IAAI,EACJ,uCAAkB,CAAC,8BAA8B,EAAE,KAAK,CAAC,GAAG,CAAC,CAC7D,CAAC;KACF;IAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC3C,KAAK,CACJ,yCAAyC,aAAa,CAAC,IAAI,YAAY,yCAAmB,CAAC,gBAAgB,EAAE,EAC7G;YACC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,+BAAgE,CAAC;YACrE,IAAI,kCAAsE,CAAC;YAC3E,IAAI,iBAAoC,CAAC;YACzC,IAAI,kBAAuB,CAAC;YAC5B,IAAI,gBAAoC,CAAC;YACzC,IAAI,iBAAyB,CAAC;YAC9B,IAAI,gBAAwB,CAAC;YAC7B,MAAM,qBAAqB,GAAU,EAAE,CAAC;YAExC,IAAI,CAAC,gCAAgC,EAAE;gBACtC,+BAA+B,GAAG,IAAI,iEAA+B,CAAC,EAAE,CAAC,CAAC;gBAC1E,kBAAkB,GAAG,+BAA+B,CAAC,mCAAmC,CACvF,aAAa,CAAC,+BAA+B,CAC7C,CAAC;gBACF,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjE,kCAAkC,GAAG,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,kCAAkC,CAAC,CAAC;gBAClG,kCAAkC,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBACpE,iBAAiB,GAAG,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,iBAAiB,CAAC,CAAC;gBAChE,kCAAkC,CAAC,UAAU,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,yCAAyC,EAAE;gBAC/C,IAAI,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;oBACzE,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;iBACvD;qBAAM;oBACN,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAY,EAAQ,EAAE;wBACrF,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE;4BAC1C,eAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;4BACjE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACpC;oBACF,CAAC,CAAC,CAAC;iBACH;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,8BAA8B,EAAE;gBACpC,MAAM,MAAM,GAAgB,kCAAkC,CAAC,oCAAoC,CAClG,aAAa,CAAC,+BAA+B,CAC7C,CAAC;gBACF,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC;qBACnB,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;qBAC5B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,4CAA4C,EAAE;gBAClD,IAAI,CAAC,OAAO,CAAC,qCAAiB,CAAC,mCAAmC,CAAC,CAAC;gBACpE,IAAA,aAAM,EAAC,kCAAkC,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,8BAA8B,EAAE;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,IAAA,aAAM,EAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qCAAqC,EAAE;gBAC3C,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAA,aAAM,EAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,gBAAgB,IAAI,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC1G,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,yCAAyC,EAAE;gBAC/C,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,+DAA+D;gBAC5F,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvC,eAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;iBACzD;qBAAM;oBACN,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAQ,EAAE;wBAC/C,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAE7D,MAAM,aAAa,GAAW,uBAAU,CAAC,0BAA0B,CAClE,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9D,CAAC;wBACF,eAAM,CAAC,IAAI,CAAC,sCAAsC,aAAa,EAAE,CAAC,CAAC;wBAEnE,MAAM,MAAM,GAAgB,iBAAiB,CAAC,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC5G,IAAA,aAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBACH;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,EAAE;gBAC3B,kCAAkC,CAAC,kBAAkB,EAAE,CAAC;YACzD,CAAC,CAAC,CAAC;QACJ,CAAC,CACD,CAAC;KACF;IAED,GAAG,EAAE,CAAC;AACP,CAAC,CAAC,EAAE,CAAC"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /** *******************************************************************
7
- * copyright (c) 2024 Red Hat, Inc.
8
- *
9
- * This program and the accompanying materials are made
10
- * available under the terms of the Eclipse Public License 2.0
11
- * which is available at https://www.eclipse.org/legal/epl-2.0/
12
- *
13
- * SPDX-License-Identifier: EPL-2.0
14
- **********************************************************************/
15
- const 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('JBoss EAP 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 = 'java-jboss-eap';
28
- const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
29
- let devWorkspaceConfigurationHelper;
30
- let devfileContext;
31
- let devfileContent = '';
32
- let devfileName = '';
33
- suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
34
- kubernetesCommandLineToolsExecutor.loginToOcp();
35
- });
36
- test(`Create ${devfileID} workspace`, async function () {
37
- const randomPref = crypto_1.default.randomBytes(4).toString('hex');
38
- kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
39
- devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
40
- const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
41
- devfileName = yaml_1.default.parse(devfileContent).metadata.name;
42
- const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
43
- kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
44
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
45
- editorContent: editorDevfileContent,
46
- devfileContent: devfileContent
47
- });
48
- devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
49
- if (devfileContext.devWorkspace.metadata) {
50
- devfileContext.devWorkspace.metadata.name = uniqueName;
51
- }
52
- const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
53
- const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
54
- (0, chai_1.expect)(output.stdout).contains('condition met');
55
- });
56
- test('Check "package" command', function () {
57
- const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
58
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
59
- Logger_1.Logger.info('Test cluster is disconnected. Init Java Truststore...');
60
- const initJavaTruststoreCommand = 'cp /home/user/init-java-truststore.sh /tmp && chmod +x /tmp/init-java-truststore.sh && /tmp/init-java-truststore.sh';
61
- const output = containerTerminal.execInContainerCommand(initJavaTruststoreCommand, containerName);
62
- (0, chai_1.expect)(output.code).eqls(0);
63
- }
64
- const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
65
- const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
66
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
67
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
68
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
69
- if (workdir !== undefined && workdir !== '') {
70
- runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
71
- }
72
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
73
- (0, chai_1.expect)(output.code).eqls(0);
74
- const outputText = output.stdout.trim();
75
- (0, chai_1.expect)(outputText).contains('BUILD SUCCESS');
76
- });
77
- test('Check "run" command', function () {
78
- const workdir = yaml_1.default.parse(devfileContent).commands[1].exec.workingDir;
79
- const commandLine = yaml_1.default.parse(devfileContent).commands[1].exec.commandLine;
80
- const containerName = yaml_1.default.parse(devfileContent).commands[1].exec.component;
81
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
82
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
83
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
84
- if (workdir !== undefined && workdir !== '') {
85
- runCommandInBash = `cd ${workdir} && sh -c "(` + runCommandInBash + ' > command.log 2>&1 &) && sleep 15s && exit"';
86
- }
87
- let commandOutput = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
88
- (0, chai_1.expect)(commandOutput.code).eqls(0);
89
- commandOutput = containerTerminal.execInContainerCommand(`cat ${workdir}/command.log`, containerName);
90
- const commandLog = commandOutput.stdout.trim();
91
- (0, chai_1.expect)(commandLog).contains('Server configuration file in use: standalone.xml');
92
- });
93
- test('Check "shutdown" command', function () {
94
- const workdir = yaml_1.default.parse(devfileContent).commands[3].exec.workingDir;
95
- const commandLine = yaml_1.default.parse(devfileContent).commands[3].exec.commandLine;
96
- const containerName = yaml_1.default.parse(devfileContent).commands[3].exec.component;
97
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
98
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
99
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
100
- if (workdir !== undefined && workdir !== '') {
101
- runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
102
- }
103
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
104
- (0, chai_1.expect)(output.code).eqls(0);
105
- });
106
- test('Check "debug" command', function () {
107
- const workdir = yaml_1.default.parse(devfileContent).commands[2].exec.workingDir;
108
- const commandLine = yaml_1.default.parse(devfileContent).commands[2].exec.commandLine;
109
- const containerName = yaml_1.default.parse(devfileContent).commands[2].exec.component;
110
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
111
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
112
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
113
- if (workdir !== undefined && workdir !== '') {
114
- runCommandInBash = `cd ${workdir} && sh -c "(` + runCommandInBash + ' > command.log 2>&1 &) && sleep 15s && exit"';
115
- }
116
- let commandOutput = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
117
- (0, chai_1.expect)(commandOutput.code).eqls(0);
118
- commandOutput = containerTerminal.execInContainerCommand(`cat ${workdir}/command.log`, containerName);
119
- const commandLog = commandOutput.stdout.trim();
120
- (0, chai_1.expect)(commandLog).contains('Listening for transport dt_socket at address: 5005');
121
- (0, chai_1.expect)(commandLog).contains('Server configuration file in use: standalone.xml');
122
- });
123
- suiteTeardown('Delete workspace', function () {
124
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
125
- });
126
- });
127
- //# sourceMappingURL=JBossEapDevFileAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JBossEapDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/JBossEapDevFileAPI.spec.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /** *******************************************************************
7
- * copyright (c) 2024 Red Hat, Inc.
8
- *
9
- * This program and the accompanying materials are made
10
- * available under the terms of the Eclipse Public License 2.0
11
- * which is available at https://www.eclipse.org/legal/epl-2.0/
12
- *
13
- * SPDX-License-Identifier: EPL-2.0
14
- **********************************************************************/
15
- const 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('Lombok 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 = 'java-lombok';
28
- const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
29
- let devWorkspaceConfigurationHelper;
30
- let devfileContext;
31
- let devfileContent = '';
32
- let devfileName = '';
33
- suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
34
- kubernetesCommandLineToolsExecutor.loginToOcp();
35
- });
36
- test(`Create ${devfileID} workspace`, async function () {
37
- const randomPref = crypto_1.default.randomBytes(4).toString('hex');
38
- kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
39
- devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
40
- const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
41
- devfileName = yaml_1.default.parse(devfileContent).metadata.name;
42
- const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
43
- kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
44
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
45
- editorContent: editorDevfileContent,
46
- devfileContent: devfileContent
47
- });
48
- devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
49
- if (devfileContext.devWorkspace.metadata) {
50
- devfileContext.devWorkspace.metadata.name = uniqueName;
51
- }
52
- const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
53
- const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
54
- (0, chai_1.expect)(output.stdout).contains('condition met');
55
- });
56
- test('Check build application', function () {
57
- const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
58
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
59
- Logger_1.Logger.info('Test cluster is disconnected. Init Java Truststore...');
60
- const initJavaTruststoreCommand = 'cp /home/user/init-java-truststore.sh /tmp && chmod +x /tmp/init-java-truststore.sh && /tmp/init-java-truststore.sh';
61
- const output = containerTerminal.execInContainerCommand(initJavaTruststoreCommand, containerName);
62
- (0, chai_1.expect)(output.code).eqls(0);
63
- }
64
- const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
65
- const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
66
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
67
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
68
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
69
- if (workdir !== undefined && workdir !== '') {
70
- runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
71
- }
72
- const output = containerTerminal.execInContainerCommand(runCommandInBash, containerName);
73
- (0, chai_1.expect)(output.code).eqls(0);
74
- const outputText = output.stdout.trim();
75
- (0, chai_1.expect)(outputText).contains('BUILD SUCCESS');
76
- });
77
- suiteTeardown('Delete workspace', function () {
78
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
79
- });
80
- });
81
- //# sourceMappingURL=LombokDevFileAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LombokDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/LombokDevFileAPI.spec.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /** *******************************************************************
7
- * copyright (c) 2024 Red Hat, Inc.
8
- *
9
- * This program and the accompanying materials are made
10
- * available under the terms of the Eclipse Public License 2.0
11
- * which is available at https://www.eclipse.org/legal/epl-2.0/
12
- *
13
- * SPDX-License-Identifier: EPL-2.0
14
- **********************************************************************/
15
- const 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('NodeJS MongoDB 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 = 'nodejs-mongodb';
28
- const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
29
- let devWorkspaceConfigurationHelper;
30
- let devfileContext;
31
- let devfileContent = '';
32
- let devfileName = '';
33
- suiteSetup(`Prepare login ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
34
- kubernetesCommandLineToolsExecutor.loginToOcp();
35
- });
36
- test(`Create ${devfileID} workspace`, async function () {
37
- const randomPref = crypto_1.default.randomBytes(4).toString('hex');
38
- kubernetesCommandLineToolsExecutor.namespace = API_TEST_CONSTANTS_1.API_TEST_CONSTANTS.TS_API_TEST_NAMESPACE;
39
- devfileContent = devfilesRegistryHelper.getDevfileContent(devfileID);
40
- const editorDevfileContent = devfilesRegistryHelper.obtainCheDevFileEditorFromCheConfigMap('editors-definitions');
41
- devfileName = yaml_1.default.parse(devfileContent).metadata.name;
42
- const uniqueName = yaml_1.default.parse(devfileContent).metadata.name + randomPref;
43
- kubernetesCommandLineToolsExecutor.workspaceName = uniqueName;
44
- devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
45
- editorContent: editorDevfileContent,
46
- devfileContent: devfileContent
47
- });
48
- devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
49
- if (devfileContext.devWorkspace.metadata) {
50
- devfileContext.devWorkspace.metadata.name = uniqueName;
51
- }
52
- const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
53
- const output = kubernetesCommandLineToolsExecutor.applyAndWaitDevWorkspace(devWorkspaceConfigurationYamlString);
54
- (0, chai_1.expect)(output.stdout).contains('condition met');
55
- });
56
- test('Check "Run the application" command', function () {
57
- const containerName = yaml_1.default.parse(devfileContent).commands[0].exec.component;
58
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
59
- Logger_1.Logger.info('Test cluster is disconnected. Ignore Self-Signed Certificate error.');
60
- const ignoreSelfSignedCertificateErrorCommand = 'npm config set strict-ssl false';
61
- const output = containerTerminal.execInContainerCommand(ignoreSelfSignedCertificateErrorCommand, containerName);
62
- (0, chai_1.expect)(output.code).eqls(0);
63
- }
64
- const workdir = yaml_1.default.parse(devfileContent).commands[0].exec.workingDir;
65
- const commandLine = yaml_1.default.parse(devfileContent).commands[0].exec.commandLine;
66
- Logger_1.Logger.info(`workdir from exec section of DevWorkspace file: ${workdir}`);
67
- Logger_1.Logger.info(`commandLine from exec section of DevWorkspace file: ${commandLine}`);
68
- let runCommandInBash = commandLine.replaceAll('$', '\\$'); // don't wipe out env. vars like "${PROJECTS_ROOT}"
69
- if (workdir !== undefined && workdir !== '') {
70
- runCommandInBash = `cd ${workdir} && ` + runCommandInBash;
71
- }
72
- const output = containerTerminal.execInContainerCommandWithTimeout(runCommandInBash, containerName);
73
- (0, chai_1.expect)(output.code).eqls(124);
74
- const outputText = output.stdout.trim();
75
- (0, chai_1.expect)(outputText).contains('App listening on port 8080');
76
- });
77
- suiteTeardown('Delete workspace', function () {
78
- kubernetesCommandLineToolsExecutor.deleteDevWorkspace(devfileName);
79
- });
80
- });
81
- //# sourceMappingURL=NodeJSMongoDBDevFileAPI.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeJSMongoDBDevFileAPI.spec.js","sourceRoot":"","sources":["../../../specs/api/NodeJSMongoDBDevFileAPI.spec.ts"],"names":[],"mappings":"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"}