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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/index.ts +5 -5
  2. package/package.json +1 -1
  3. package/dist/configs/inversify.config.js +0 -121
  4. package/dist/configs/inversify.config.js.map +0 -1
  5. package/dist/configs/inversify.types.js +0 -73
  6. package/dist/configs/inversify.types.js.map +0 -1
  7. package/dist/configs/mocharc.js +0 -42
  8. package/dist/configs/mocharc.js.map +0 -1
  9. package/dist/constants/API_TEST_CONSTANTS.js +0 -60
  10. package/dist/constants/API_TEST_CONSTANTS.js.map +0 -1
  11. package/dist/constants/BASE_TEST_CONSTANTS.js +0 -109
  12. package/dist/constants/BASE_TEST_CONSTANTS.js.map +0 -1
  13. package/dist/constants/CHROME_DRIVER_CONSTANTS.js +0 -40
  14. package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +0 -1
  15. package/dist/constants/EDITOR_CONSTANTS.js +0 -114
  16. package/dist/constants/EDITOR_CONSTANTS.js.map +0 -1
  17. package/dist/constants/FACTORY_TEST_CONSTANTS.js +0 -87
  18. package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +0 -1
  19. package/dist/constants/MOCHA_CONSTANTS.js +0 -24
  20. package/dist/constants/MOCHA_CONSTANTS.js.map +0 -1
  21. package/dist/constants/MONACO_CONSTANTS.js +0 -25
  22. package/dist/constants/MONACO_CONSTANTS.js.map +0 -1
  23. package/dist/constants/OAUTH_CONSTANTS.js +0 -53
  24. package/dist/constants/OAUTH_CONSTANTS.js.map +0 -1
  25. package/dist/constants/PLUGIN_TEST_CONSTANTS.js +0 -19
  26. package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +0 -1
  27. package/dist/constants/REPORTER_CONSTANTS.js +0 -123
  28. package/dist/constants/REPORTER_CONSTANTS.js.map +0 -1
  29. package/dist/constants/TIMEOUT_CONSTANTS.js +0 -101
  30. package/dist/constants/TIMEOUT_CONSTANTS.js.map +0 -1
  31. package/dist/driver/ChromeDriver.js +0 -77
  32. package/dist/driver/ChromeDriver.js.map +0 -1
  33. package/dist/driver/IDriver.js +0 -3
  34. package/dist/driver/IDriver.js.map +0 -1
  35. package/dist/index.js +0 -98
  36. package/dist/index.js.map +0 -1
  37. package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -181
  38. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
  39. package/dist/pageobjects/dashboard/Dashboard.js +0 -208
  40. package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
  41. package/dist/pageobjects/dashboard/TrustAuthorPopup.js +0 -61
  42. package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +0 -1
  43. package/dist/pageobjects/dashboard/UserPreferences.js +0 -268
  44. package/dist/pageobjects/dashboard/UserPreferences.js.map +0 -1
  45. package/dist/pageobjects/dashboard/Workspaces.js +0 -242
  46. package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
  47. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -186
  48. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
  49. package/dist/pageobjects/git-providers/OauthPage.js +0 -218
  50. package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
  51. package/dist/pageobjects/ide/AiCodeSignInDialog.js +0 -55
  52. package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +0 -1
  53. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -108
  54. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
  55. package/dist/pageobjects/ide/CommandPalette.js +0 -117
  56. package/dist/pageobjects/ide/CommandPalette.js.map +0 -1
  57. package/dist/pageobjects/ide/ExplorerView.js +0 -108
  58. package/dist/pageobjects/ide/ExplorerView.js.map +0 -1
  59. package/dist/pageobjects/ide/ExtensionsView.js +0 -162
  60. package/dist/pageobjects/ide/ExtensionsView.js.map +0 -1
  61. package/dist/pageobjects/ide/GitHubExtensionDialog.js +0 -66
  62. package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +0 -1
  63. package/dist/pageobjects/ide/NotificationHandler.js +0 -83
  64. package/dist/pageobjects/ide/NotificationHandler.js.map +0 -1
  65. package/dist/pageobjects/ide/RestrictedModeButton.js +0 -57
  66. package/dist/pageobjects/ide/RestrictedModeButton.js.map +0 -1
  67. package/dist/pageobjects/ide/SourceControlView.js +0 -52
  68. package/dist/pageobjects/ide/SourceControlView.js.map +0 -1
  69. package/dist/pageobjects/ide/ViewsMoreActionsButton.js +0 -73
  70. package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +0 -1
  71. package/dist/pageobjects/login/interfaces/ICheLoginPage.js +0 -12
  72. package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +0 -1
  73. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +0 -12
  74. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +0 -1
  75. package/dist/pageobjects/login/kubernetes/DexLoginPage.js +0 -69
  76. package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +0 -1
  77. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +0 -50
  78. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +0 -1
  79. package/dist/pageobjects/login/openshift/OcpLoginPage.js +0 -88
  80. package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +0 -1
  81. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +0 -73
  82. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +0 -1
  83. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +0 -53
  84. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +0 -1
  85. package/dist/pageobjects/login/openshift/RedHatLoginPage.js +0 -85
  86. package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +0 -1
  87. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +0 -65
  88. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +0 -1
  89. package/dist/pageobjects/openshift/OcpApplicationPage.js +0 -60
  90. package/dist/pageobjects/openshift/OcpApplicationPage.js.map +0 -1
  91. package/dist/pageobjects/openshift/OcpImportFromGitPage.js +0 -92
  92. package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
  93. package/dist/pageobjects/openshift/OcpMainPage.js +0 -140
  94. package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
  95. package/dist/pageobjects/webterminal/WebTerminalPage.js +0 -182
  96. package/dist/pageobjects/webterminal/WebTerminalPage.js.map +0 -1
  97. package/dist/specs/MochaHooks.js +0 -142
  98. package/dist/specs/MochaHooks.js.map +0 -1
  99. package/dist/specs/SmokeTest.spec.js +0 -58
  100. package/dist/specs/SmokeTest.spec.js.map +0 -1
  101. package/dist/specs/api/AnsibleDevFileAPI.spec.js +0 -256
  102. package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +0 -1
  103. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +0 -147
  104. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +0 -1
  105. package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -40
  106. package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
  107. package/dist/specs/api/CppDevFileAPI.spec.js +0 -87
  108. package/dist/specs/api/CppDevFileAPI.spec.js.map +0 -1
  109. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -99
  110. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
  111. package/dist/specs/api/DotnetDevFileAPI.spec.js +0 -89
  112. package/dist/specs/api/DotnetDevFileAPI.spec.js.map +0 -1
  113. package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -60
  114. package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
  115. package/dist/specs/api/GoDevFileAPI.spec.js +0 -82
  116. package/dist/specs/api/GoDevFileAPI.spec.js.map +0 -1
  117. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +0 -97
  118. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +0 -1
  119. package/dist/specs/api/JBossEapDevFileAPI.spec.js +0 -127
  120. package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +0 -1
  121. package/dist/specs/api/LombokDevFileAPI.spec.js +0 -81
  122. package/dist/specs/api/LombokDevFileAPI.spec.js.map +0 -1
  123. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +0 -81
  124. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +0 -1
  125. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +0 -130
  126. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +0 -1
  127. package/dist/specs/api/PhpDevFileAPI.spec.js +0 -71
  128. package/dist/specs/api/PhpDevFileAPI.spec.js.map +0 -1
  129. package/dist/specs/api/PodOverridesAPI.spec.js +0 -46
  130. package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
  131. package/dist/specs/api/PythonDevFileAPI.spec.js +0 -71
  132. package/dist/specs/api/PythonDevFileAPI.spec.js.map +0 -1
  133. package/dist/specs/api/QuarkusDevFileAPI.spec.js +0 -97
  134. package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +0 -1
  135. package/dist/specs/dashboard-samples/Documentation.spec.js +0 -118
  136. package/dist/specs/dashboard-samples/Documentation.spec.js.map +0 -1
  137. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -60
  138. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
  139. package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -64
  140. package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
  141. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +0 -345
  142. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +0 -1
  143. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +0 -171
  144. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +0 -1
  145. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -155
  146. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
  147. package/dist/specs/factory/Factory.spec.js +0 -183
  148. package/dist/specs/factory/Factory.spec.js.map +0 -1
  149. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +0 -63
  150. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +0 -1
  151. package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -212
  152. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
  153. package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -239
  154. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
  155. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +0 -202
  156. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +0 -1
  157. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +0 -77
  158. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +0 -1
  159. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +0 -106
  160. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +0 -1
  161. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +0 -113
  162. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +0 -1
  163. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +0 -116
  164. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +0 -1
  165. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +0 -205
  166. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +0 -1
  167. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +0 -129
  168. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +0 -1
  169. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +0 -121
  170. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +0 -1
  171. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +0 -103
  172. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +0 -1
  173. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -111
  174. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
  175. package/dist/specs/miscellaneous/RenameWorkspace.spec.js +0 -116
  176. package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +0 -1
  177. package/dist/specs/miscellaneous/RevokeOauth.spec.js +0 -29
  178. package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +0 -1
  179. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +0 -26
  180. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +0 -1
  181. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +0 -78
  182. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +0 -1
  183. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +0 -196
  184. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +0 -1
  185. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +0 -208
  186. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +0 -1
  187. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +0 -84
  188. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +0 -1
  189. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +0 -84
  190. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +0 -1
  191. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +0 -101
  192. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +0 -1
  193. package/dist/specs/web-terminal/WebTerminalTest.spec.js +0 -47
  194. package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +0 -1
  195. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +0 -82
  196. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +0 -1
  197. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +0 -78
  198. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +0 -1
  199. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +0 -13
  200. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  201. package/dist/suites/disconnected-ocp/APITest.suite.js +0 -14
  202. package/dist/suites/disconnected-ocp/APITest.suite.js.map +0 -1
  203. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  204. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  205. package/dist/suites/disconnected-ocp/UITest.suite.js +0 -19
  206. package/dist/suites/disconnected-ocp/UITest.suite.js.map +0 -1
  207. package/dist/suites/online-ocp/APITest.suite.js +0 -15
  208. package/dist/suites/online-ocp/APITest.suite.js.map +0 -1
  209. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  210. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  211. package/dist/suites/online-ocp/UITest.suite.js +0 -23
  212. package/dist/suites/online-ocp/UITest.suite.js.map +0 -1
  213. package/dist/tests-library/LoginTests.js +0 -76
  214. package/dist/tests-library/LoginTests.js.map +0 -1
  215. package/dist/tests-library/ProjectAndFileTests.js +0 -230
  216. package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
  217. package/dist/tests-library/WorkspaceHandlingTests.js +0 -219
  218. package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
  219. package/dist/utils/BrowserTabsUtil.js +0 -124
  220. package/dist/utils/BrowserTabsUtil.js.map +0 -1
  221. package/dist/utils/CheReporter.js +0 -238
  222. package/dist/utils/CheReporter.js.map +0 -1
  223. package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -145
  224. package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
  225. package/dist/utils/DevfilesHelper.js +0 -177
  226. package/dist/utils/DevfilesHelper.js.map +0 -1
  227. package/dist/utils/DriverHelper.js +0 -609
  228. package/dist/utils/DriverHelper.js.map +0 -1
  229. package/dist/utils/IContextParams.js +0 -12
  230. package/dist/utils/IContextParams.js.map +0 -1
  231. package/dist/utils/IKubernetesCommandLineToolsExecutor.js +0 -3
  232. package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +0 -1
  233. package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -338
  234. package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
  235. package/dist/utils/Logger.js +0 -146
  236. package/dist/utils/Logger.js.map +0 -1
  237. package/dist/utils/ScreenCatcher.js +0 -114
  238. package/dist/utils/ScreenCatcher.js.map +0 -1
  239. package/dist/utils/ShellExecutor.js +0 -47
  240. package/dist/utils/ShellExecutor.js.map +0 -1
  241. package/dist/utils/StringUtil.js +0 -107
  242. package/dist/utils/StringUtil.js.map +0 -1
  243. package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -128
  244. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
  245. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -55
  246. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  247. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +0 -12
  248. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  249. package/dist/utils/workspace/ApiUrlResolver.js +0 -117
  250. package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
  251. package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
  252. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
  253. package/dist/utils/workspace/TestWorkspaceUtil.js +0 -202
  254. package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
  255. package/dist/utils/workspace/WorkspaceStatus.js +0 -19
  256. package/dist/utils/workspace/WorkspaceStatus.js.map +0 -1
@@ -1,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":";AAAA;;;;;;;;wEAQwE;;;;;AAExE,6EAA0E;AAC1E,qEAA8D;AAC9D,mEAAwD;AAGxD,iGAA8F;AAG9F,+BAA8B;AAC9B,2EAAwE;AACxE,gDAAwB;AACxB,+CAA4C;AAC5C,oDAA4B;AAE5B,KAAK,CAAC,qBAAqB,EAAE;IAC5B,MAAM,sBAAsB,GAAmB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IAChG,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IACF,MAAM,SAAS,GAAW,IAAI,CAAC;IAC/B,MAAM,iBAAiB,GAAsB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAI,+BAAgE,CAAC;IACrE,IAAI,cAA8B,CAAC;IACnC,IAAI,cAAc,GAAW,EAAE,CAAC;IAChC,IAAI,WAAW,GAAW,EAAE,CAAC;IAE7B,UAAU,CAAC,iBAAiB,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;QACnE,kCAAkC,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,SAAS,YAAY,EAAE,KAAK;QAC1C,MAAM,UAAU,GAAW,gBAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,kCAAkC,CAAC,SAAS,GAAG,uCAAkB,CAAC,qBAAqB,CAAC;QACxF,cAAc,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAW,sBAAsB,CAAC,sCAAsC,CAAC,qBAAqB,CAAC,CAAC;QAC1H,WAAW,GAAG,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvD,MAAM,UAAU,GAAW,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QACjF,kCAAkC,CAAC,aAAa,GAAG,UAAU,CAAC;QAE9D,+BAA+B,GAAG,IAAI,iEAA+B,CAAC;YACrE,aAAa,EAAE,oBAAoB;YACnC,cAAc,EAAE,cAAc;SAC9B,CAAC,CAAC;QACH,cAAc,GAAG,MAAM,+BAA+B,CAAC,sBAAsB,EAAE,CAAC;QAChF,IAAI,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE;YACzC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;SACvD;QACD,MAAM,mCAAmC,GACxC,+BAA+B,CAAC,wCAAwC,CAAC,cAAc,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAgB,kCAAkC,CAAC,wBAAwB,CAAC,mCAAmC,CAAC,CAAC;QAC7H,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE;QAC9B,MAAM,OAAO,GAAW,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/E,MAAM,gBAAgB,GAAW,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACzF,MAAM,aAAa,GAAW,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpF,eAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,eAAM,CAAC,IAAI,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QAChE,eAAM,CAAC,IAAI,CAAC,6CAA6C,gBAAgB,EAAE,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAW,MAAM,OAAO,OAAO,gBAAgB,EAAE,CAAC;QACxE,MAAM,MAAM,GAAgB,iBAAiB,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACtG,eAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEzD,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,cAAc,GAAW,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACvF,eAAM,CAAC,IAAI,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAW,MAAM,OAAO,eAAe,cAAc,gCAAgC,CAAC;QAC7G,MAAM,OAAO,GAAgB,iBAAiB,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACxG,IAAA,aAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAgB,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,OAAO,aAAa,EAAE,aAAa,CAAC,CAAC;QACpH,eAAM,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,qBAAqB,EAAE;QACpC,kCAAkC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -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":"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"}
@@ -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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"}