@eclipse-che/che-e2e 7.121.0-next-dbf1127 → 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 (258) hide show
  1. package/index.ts +5 -5
  2. package/package.json +1 -1
  3. package/pageobjects/dashboard/UserPreferences.ts +2 -2
  4. package/specs/factory/SshUrlNoOauthPatFactory.spec.ts +2 -2
  5. package/dist/configs/inversify.config.js +0 -121
  6. package/dist/configs/inversify.config.js.map +0 -1
  7. package/dist/configs/inversify.types.js +0 -73
  8. package/dist/configs/inversify.types.js.map +0 -1
  9. package/dist/configs/mocharc.js +0 -42
  10. package/dist/configs/mocharc.js.map +0 -1
  11. package/dist/constants/API_TEST_CONSTANTS.js +0 -60
  12. package/dist/constants/API_TEST_CONSTANTS.js.map +0 -1
  13. package/dist/constants/BASE_TEST_CONSTANTS.js +0 -109
  14. package/dist/constants/BASE_TEST_CONSTANTS.js.map +0 -1
  15. package/dist/constants/CHROME_DRIVER_CONSTANTS.js +0 -40
  16. package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +0 -1
  17. package/dist/constants/EDITOR_CONSTANTS.js +0 -114
  18. package/dist/constants/EDITOR_CONSTANTS.js.map +0 -1
  19. package/dist/constants/FACTORY_TEST_CONSTANTS.js +0 -87
  20. package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +0 -1
  21. package/dist/constants/MOCHA_CONSTANTS.js +0 -24
  22. package/dist/constants/MOCHA_CONSTANTS.js.map +0 -1
  23. package/dist/constants/MONACO_CONSTANTS.js +0 -25
  24. package/dist/constants/MONACO_CONSTANTS.js.map +0 -1
  25. package/dist/constants/OAUTH_CONSTANTS.js +0 -53
  26. package/dist/constants/OAUTH_CONSTANTS.js.map +0 -1
  27. package/dist/constants/PLUGIN_TEST_CONSTANTS.js +0 -19
  28. package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +0 -1
  29. package/dist/constants/REPORTER_CONSTANTS.js +0 -123
  30. package/dist/constants/REPORTER_CONSTANTS.js.map +0 -1
  31. package/dist/constants/TIMEOUT_CONSTANTS.js +0 -101
  32. package/dist/constants/TIMEOUT_CONSTANTS.js.map +0 -1
  33. package/dist/driver/ChromeDriver.js +0 -77
  34. package/dist/driver/ChromeDriver.js.map +0 -1
  35. package/dist/driver/IDriver.js +0 -3
  36. package/dist/driver/IDriver.js.map +0 -1
  37. package/dist/index.js +0 -98
  38. package/dist/index.js.map +0 -1
  39. package/dist/pageobjects/dashboard/CreateWorkspace.js +0 -181
  40. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +0 -1
  41. package/dist/pageobjects/dashboard/Dashboard.js +0 -208
  42. package/dist/pageobjects/dashboard/Dashboard.js.map +0 -1
  43. package/dist/pageobjects/dashboard/TrustAuthorPopup.js +0 -61
  44. package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +0 -1
  45. package/dist/pageobjects/dashboard/UserPreferences.js +0 -268
  46. package/dist/pageobjects/dashboard/UserPreferences.js.map +0 -1
  47. package/dist/pageobjects/dashboard/Workspaces.js +0 -242
  48. package/dist/pageobjects/dashboard/Workspaces.js.map +0 -1
  49. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +0 -186
  50. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +0 -1
  51. package/dist/pageobjects/git-providers/OauthPage.js +0 -218
  52. package/dist/pageobjects/git-providers/OauthPage.js.map +0 -1
  53. package/dist/pageobjects/ide/AiCodeSignInDialog.js +0 -55
  54. package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +0 -1
  55. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +0 -108
  56. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +0 -1
  57. package/dist/pageobjects/ide/CommandPalette.js +0 -117
  58. package/dist/pageobjects/ide/CommandPalette.js.map +0 -1
  59. package/dist/pageobjects/ide/ExplorerView.js +0 -108
  60. package/dist/pageobjects/ide/ExplorerView.js.map +0 -1
  61. package/dist/pageobjects/ide/ExtensionsView.js +0 -162
  62. package/dist/pageobjects/ide/ExtensionsView.js.map +0 -1
  63. package/dist/pageobjects/ide/GitHubExtensionDialog.js +0 -66
  64. package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +0 -1
  65. package/dist/pageobjects/ide/NotificationHandler.js +0 -83
  66. package/dist/pageobjects/ide/NotificationHandler.js.map +0 -1
  67. package/dist/pageobjects/ide/RestrictedModeButton.js +0 -57
  68. package/dist/pageobjects/ide/RestrictedModeButton.js.map +0 -1
  69. package/dist/pageobjects/ide/SourceControlView.js +0 -52
  70. package/dist/pageobjects/ide/SourceControlView.js.map +0 -1
  71. package/dist/pageobjects/ide/ViewsMoreActionsButton.js +0 -73
  72. package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +0 -1
  73. package/dist/pageobjects/login/interfaces/ICheLoginPage.js +0 -12
  74. package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +0 -1
  75. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +0 -12
  76. package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +0 -1
  77. package/dist/pageobjects/login/kubernetes/DexLoginPage.js +0 -69
  78. package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +0 -1
  79. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +0 -50
  80. package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +0 -1
  81. package/dist/pageobjects/login/openshift/OcpLoginPage.js +0 -88
  82. package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +0 -1
  83. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +0 -73
  84. package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +0 -1
  85. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +0 -53
  86. package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +0 -1
  87. package/dist/pageobjects/login/openshift/RedHatLoginPage.js +0 -85
  88. package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +0 -1
  89. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +0 -65
  90. package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +0 -1
  91. package/dist/pageobjects/openshift/OcpApplicationPage.js +0 -60
  92. package/dist/pageobjects/openshift/OcpApplicationPage.js.map +0 -1
  93. package/dist/pageobjects/openshift/OcpImportFromGitPage.js +0 -92
  94. package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +0 -1
  95. package/dist/pageobjects/openshift/OcpMainPage.js +0 -140
  96. package/dist/pageobjects/openshift/OcpMainPage.js.map +0 -1
  97. package/dist/pageobjects/webterminal/WebTerminalPage.js +0 -182
  98. package/dist/pageobjects/webterminal/WebTerminalPage.js.map +0 -1
  99. package/dist/specs/MochaHooks.js +0 -142
  100. package/dist/specs/MochaHooks.js.map +0 -1
  101. package/dist/specs/SmokeTest.spec.js +0 -58
  102. package/dist/specs/SmokeTest.spec.js.map +0 -1
  103. package/dist/specs/api/AnsibleDevFileAPI.spec.js +0 -256
  104. package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +0 -1
  105. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +0 -147
  106. package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +0 -1
  107. package/dist/specs/api/ContainerOverridesAPI.spec.js +0 -40
  108. package/dist/specs/api/ContainerOverridesAPI.spec.js.map +0 -1
  109. package/dist/specs/api/CppDevFileAPI.spec.js +0 -87
  110. package/dist/specs/api/CppDevFileAPI.spec.js.map +0 -1
  111. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +0 -99
  112. package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +0 -1
  113. package/dist/specs/api/DotnetDevFileAPI.spec.js +0 -89
  114. package/dist/specs/api/DotnetDevFileAPI.spec.js.map +0 -1
  115. package/dist/specs/api/EmptyWorkspaceAPI.spec.js +0 -60
  116. package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +0 -1
  117. package/dist/specs/api/GoDevFileAPI.spec.js +0 -82
  118. package/dist/specs/api/GoDevFileAPI.spec.js.map +0 -1
  119. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +0 -97
  120. package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +0 -1
  121. package/dist/specs/api/JBossEapDevFileAPI.spec.js +0 -127
  122. package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +0 -1
  123. package/dist/specs/api/LombokDevFileAPI.spec.js +0 -81
  124. package/dist/specs/api/LombokDevFileAPI.spec.js.map +0 -1
  125. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +0 -81
  126. package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +0 -1
  127. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +0 -130
  128. package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +0 -1
  129. package/dist/specs/api/PhpDevFileAPI.spec.js +0 -71
  130. package/dist/specs/api/PhpDevFileAPI.spec.js.map +0 -1
  131. package/dist/specs/api/PodOverridesAPI.spec.js +0 -46
  132. package/dist/specs/api/PodOverridesAPI.spec.js.map +0 -1
  133. package/dist/specs/api/PythonDevFileAPI.spec.js +0 -71
  134. package/dist/specs/api/PythonDevFileAPI.spec.js.map +0 -1
  135. package/dist/specs/api/QuarkusDevFileAPI.spec.js +0 -97
  136. package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +0 -1
  137. package/dist/specs/dashboard-samples/Documentation.spec.js +0 -118
  138. package/dist/specs/dashboard-samples/Documentation.spec.js.map +0 -1
  139. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +0 -60
  140. package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +0 -1
  141. package/dist/specs/dashboard-samples/Quarkus.spec.js +0 -64
  142. package/dist/specs/dashboard-samples/Quarkus.spec.js.map +0 -1
  143. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +0 -345
  144. package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +0 -1
  145. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +0 -171
  146. package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +0 -1
  147. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +0 -155
  148. package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +0 -1
  149. package/dist/specs/factory/Factory.spec.js +0 -183
  150. package/dist/specs/factory/Factory.spec.js.map +0 -1
  151. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +0 -63
  152. package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +0 -1
  153. package/dist/specs/factory/NoSetupRepoFactory.spec.js +0 -212
  154. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +0 -1
  155. package/dist/specs/factory/RefusedOAuthFactory.spec.js +0 -239
  156. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +0 -1
  157. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +0 -202
  158. package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +0 -1
  159. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +0 -77
  160. package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +0 -1
  161. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +0 -106
  162. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +0 -1
  163. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +0 -113
  164. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +0 -1
  165. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +0 -116
  166. package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +0 -1
  167. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +0 -205
  168. package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +0 -1
  169. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +0 -129
  170. package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +0 -1
  171. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +0 -121
  172. package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +0 -1
  173. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +0 -103
  174. package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +0 -1
  175. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +0 -111
  176. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +0 -1
  177. package/dist/specs/miscellaneous/RenameWorkspace.spec.js +0 -116
  178. package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +0 -1
  179. package/dist/specs/miscellaneous/RevokeOauth.spec.js +0 -29
  180. package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +0 -1
  181. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +0 -26
  182. package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +0 -1
  183. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +0 -78
  184. package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +0 -1
  185. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +0 -196
  186. package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +0 -1
  187. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +0 -208
  188. package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +0 -1
  189. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +0 -84
  190. package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +0 -1
  191. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +0 -84
  192. package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +0 -1
  193. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +0 -101
  194. package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +0 -1
  195. package/dist/specs/web-terminal/WebTerminalTest.spec.js +0 -47
  196. package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +0 -1
  197. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +0 -82
  198. package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +0 -1
  199. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +0 -78
  200. package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +0 -1
  201. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +0 -13
  202. package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  203. package/dist/suites/disconnected-ocp/APITest.suite.js +0 -14
  204. package/dist/suites/disconnected-ocp/APITest.suite.js.map +0 -1
  205. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  206. package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  207. package/dist/suites/disconnected-ocp/UITest.suite.js +0 -19
  208. package/dist/suites/disconnected-ocp/UITest.suite.js.map +0 -1
  209. package/dist/suites/online-ocp/APITest.suite.js +0 -15
  210. package/dist/suites/online-ocp/APITest.suite.js.map +0 -1
  211. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +0 -13
  212. package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +0 -1
  213. package/dist/suites/online-ocp/UITest.suite.js +0 -23
  214. package/dist/suites/online-ocp/UITest.suite.js.map +0 -1
  215. package/dist/tests-library/LoginTests.js +0 -76
  216. package/dist/tests-library/LoginTests.js.map +0 -1
  217. package/dist/tests-library/ProjectAndFileTests.js +0 -230
  218. package/dist/tests-library/ProjectAndFileTests.js.map +0 -1
  219. package/dist/tests-library/WorkspaceHandlingTests.js +0 -219
  220. package/dist/tests-library/WorkspaceHandlingTests.js.map +0 -1
  221. package/dist/utils/BrowserTabsUtil.js +0 -124
  222. package/dist/utils/BrowserTabsUtil.js.map +0 -1
  223. package/dist/utils/CheReporter.js +0 -238
  224. package/dist/utils/CheReporter.js.map +0 -1
  225. package/dist/utils/DevWorkspaceConfigurationHelper.js +0 -145
  226. package/dist/utils/DevWorkspaceConfigurationHelper.js.map +0 -1
  227. package/dist/utils/DevfilesHelper.js +0 -177
  228. package/dist/utils/DevfilesHelper.js.map +0 -1
  229. package/dist/utils/DriverHelper.js +0 -609
  230. package/dist/utils/DriverHelper.js.map +0 -1
  231. package/dist/utils/IContextParams.js +0 -12
  232. package/dist/utils/IContextParams.js.map +0 -1
  233. package/dist/utils/IKubernetesCommandLineToolsExecutor.js +0 -3
  234. package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +0 -1
  235. package/dist/utils/KubernetesCommandLineToolsExecutor.js +0 -338
  236. package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +0 -1
  237. package/dist/utils/Logger.js +0 -146
  238. package/dist/utils/Logger.js.map +0 -1
  239. package/dist/utils/ScreenCatcher.js +0 -114
  240. package/dist/utils/ScreenCatcher.js.map +0 -1
  241. package/dist/utils/ShellExecutor.js +0 -47
  242. package/dist/utils/ShellExecutor.js.map +0 -1
  243. package/dist/utils/StringUtil.js +0 -107
  244. package/dist/utils/StringUtil.js.map +0 -1
  245. package/dist/utils/request-handlers/CheApiRequestHandler.js +0 -128
  246. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +0 -1
  247. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +0 -55
  248. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  249. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +0 -12
  250. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  251. package/dist/utils/workspace/ApiUrlResolver.js +0 -117
  252. package/dist/utils/workspace/ApiUrlResolver.js.map +0 -1
  253. package/dist/utils/workspace/ITestWorkspaceUtil.js +0 -12
  254. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +0 -1
  255. package/dist/utils/workspace/TestWorkspaceUtil.js +0 -202
  256. package/dist/utils/workspace/TestWorkspaceUtil.js.map +0 -1
  257. package/dist/utils/workspace/WorkspaceStatus.js +0 -19
  258. 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":"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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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"}