@eclipse-che/che-e2e 7.56.1-dev-8788793 → 7.56.1-dev-3722260

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 (215) hide show
  1. package/dist/TestConstants.js +240 -0
  2. package/dist/TestConstants.js.map +1 -0
  3. package/dist/TimeoutConstants.js +184 -0
  4. package/dist/TimeoutConstants.js.map +1 -0
  5. package/dist/driver/CheReporter.js +191 -0
  6. package/dist/driver/CheReporter.js.map +1 -0
  7. package/dist/driver/ChromeDriver.js +77 -0
  8. package/dist/driver/ChromeDriver.js.map +1 -0
  9. package/dist/driver/IDriver.js +3 -0
  10. package/dist/driver/IDriver.js.map +1 -0
  11. package/dist/index.js +93 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/inversify.config.js +130 -0
  14. package/dist/inversify.config.js.map +1 -0
  15. package/dist/inversify.types.js +74 -0
  16. package/dist/inversify.types.js.map +1 -0
  17. package/dist/pageobjects/dashboard/CreateWorkspace.js +72 -0
  18. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
  19. package/dist/pageobjects/dashboard/Dashboard.js +115 -0
  20. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
  21. package/dist/pageobjects/dashboard/Workspaces.js +157 -0
  22. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
  23. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
  24. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
  25. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
  26. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
  27. package/dist/pageobjects/ide/theia/ContextMenu.js +66 -0
  28. package/dist/pageobjects/ide/theia/ContextMenu.js.map +1 -0
  29. package/dist/pageobjects/ide/theia/DebugView.js +98 -0
  30. package/dist/pageobjects/ide/theia/DebugView.js.map +1 -0
  31. package/dist/pageobjects/ide/theia/DialogWindow.js +102 -0
  32. package/dist/pageobjects/ide/theia/DialogWindow.js.map +1 -0
  33. package/dist/pageobjects/ide/theia/Editor.js +463 -0
  34. package/dist/pageobjects/ide/theia/Editor.js.map +1 -0
  35. package/dist/pageobjects/ide/theia/Ide.js +336 -0
  36. package/dist/pageobjects/ide/theia/Ide.js.map +1 -0
  37. package/dist/pageobjects/ide/theia/LeftToolBar.js +81 -0
  38. package/dist/pageobjects/ide/theia/LeftToolBar.js.map +1 -0
  39. package/dist/pageobjects/ide/theia/NavigationBar.js +57 -0
  40. package/dist/pageobjects/ide/theia/NavigationBar.js.map +1 -0
  41. package/dist/pageobjects/ide/theia/NotificationCenter.js +76 -0
  42. package/dist/pageobjects/ide/theia/NotificationCenter.js.map +1 -0
  43. package/dist/pageobjects/ide/theia/OpenDialogWidget.js +100 -0
  44. package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +1 -0
  45. package/dist/pageobjects/ide/theia/OpenEditors.js +73 -0
  46. package/dist/pageobjects/ide/theia/OpenEditors.js.map +1 -0
  47. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +62 -0
  48. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +1 -0
  49. package/dist/pageobjects/ide/theia/PreviewWidget.js +134 -0
  50. package/dist/pageobjects/ide/theia/PreviewWidget.js.map +1 -0
  51. package/dist/pageobjects/ide/theia/ProjectTree.js +282 -0
  52. package/dist/pageobjects/ide/theia/ProjectTree.js.map +1 -0
  53. package/dist/pageobjects/ide/theia/QuickOpenContainer.js +70 -0
  54. package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +1 -0
  55. package/dist/pageobjects/ide/theia/RightToolBar.js +51 -0
  56. package/dist/pageobjects/ide/theia/RightToolBar.js.map +1 -0
  57. package/dist/pageobjects/ide/theia/Terminal.js +184 -0
  58. package/dist/pageobjects/ide/theia/Terminal.js.map +1 -0
  59. package/dist/pageobjects/ide/theia/TopMenu.js +109 -0
  60. package/dist/pageobjects/ide/theia/TopMenu.js.map +1 -0
  61. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +128 -0
  62. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +1 -0
  63. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +120 -0
  64. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +1 -0
  65. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +107 -0
  66. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +1 -0
  67. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +99 -0
  68. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +1 -0
  69. package/dist/pageobjects/ide/theia/plugins/PluginsView.js +166 -0
  70. package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +1 -0
  71. package/dist/pageobjects/login/ICheLoginPage.js +12 -0
  72. package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
  73. package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
  74. package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
  75. package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
  76. package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
  77. package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
  78. package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
  79. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
  80. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
  81. package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
  82. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
  83. package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
  84. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
  85. package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
  86. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
  87. package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
  88. package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
  89. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
  90. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
  91. package/dist/tests/devfiles/code/JavaSpringBoot.spec.js +76 -0
  92. package/dist/tests/devfiles/code/JavaSpringBoot.spec.js.map +1 -0
  93. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +73 -0
  94. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +1 -0
  95. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +47 -0
  96. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +1 -0
  97. package/dist/tests/devfiles/theia/DotNetCore.spec.js +81 -0
  98. package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +1 -0
  99. package/dist/tests/devfiles/theia/Go.spec.js +72 -0
  100. package/dist/tests/devfiles/theia/Go.spec.js.map +1 -0
  101. package/dist/tests/devfiles/theia/JavaMaven.spec.js +60 -0
  102. package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +1 -0
  103. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +66 -0
  104. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +1 -0
  105. package/dist/tests/devfiles/theia/JavaVertx.spec.js +60 -0
  106. package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +1 -0
  107. package/dist/tests/devfiles/theia/NodeJS.spec.js +64 -0
  108. package/dist/tests/devfiles/theia/NodeJS.spec.js.map +1 -0
  109. package/dist/tests/devfiles/theia/PHPSimple.spec.js +74 -0
  110. package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +1 -0
  111. package/dist/tests/devfiles/theia/Python.spec.js +58 -0
  112. package/dist/tests/devfiles/theia/Python.spec.js.map +1 -0
  113. package/dist/tests/devfiles/theia/PythonDjango.spec.js +61 -0
  114. package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +1 -0
  115. package/dist/tests/devfiles/theia/Quarkus.spec.js +69 -0
  116. package/dist/tests/devfiles/theia/Quarkus.spec.js.map +1 -0
  117. package/dist/tests/devfiles/theia/Scala.spec.js +66 -0
  118. package/dist/tests/devfiles/theia/Scala.spec.js.map +1 -0
  119. package/dist/tests/e2e/theia/FactoryUrl.spec.js +40 -0
  120. package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +1 -0
  121. package/dist/tests/e2e/theia/GitPublishBranch.spec.js +90 -0
  122. package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +1 -0
  123. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +90 -0
  124. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +1 -0
  125. package/dist/tests/e2e/theia/GitSsh.spec.js +120 -0
  126. package/dist/tests/e2e/theia/GitSsh.spec.js.map +1 -0
  127. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +124 -0
  128. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +1 -0
  129. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +50 -0
  130. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
  131. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +48 -0
  132. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
  133. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +48 -0
  134. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
  135. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +277 -0
  136. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +1 -0
  137. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +314 -0
  138. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +1 -0
  139. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +39 -0
  140. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
  141. package/dist/tests/load_test/theia/LoadTest.spec.js +41 -0
  142. package/dist/tests/load_test/theia/LoadTest.spec.js.map +1 -0
  143. package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
  144. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
  145. package/dist/tests/login/Login.spec.js +28 -0
  146. package/dist/tests/login/Login.spec.js.map +1 -0
  147. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +117 -0
  148. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +1 -0
  149. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +62 -0
  150. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +1 -0
  151. package/dist/tests/plugins/theia/JavaPlugin.spec.js +82 -0
  152. package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +1 -0
  153. package/dist/tests/plugins/theia/PhpPlugin.spec.js +96 -0
  154. package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +1 -0
  155. package/dist/tests/plugins/theia/PythonPlugin.spec.js +72 -0
  156. package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +1 -0
  157. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +135 -0
  158. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +1 -0
  159. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +69 -0
  160. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +1 -0
  161. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +82 -0
  162. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +1 -0
  163. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +70 -0
  164. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +1 -0
  165. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +81 -0
  166. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +1 -0
  167. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +78 -0
  168. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +1 -0
  169. package/dist/testsLibrary/WorkspaceHandlingTests.js +140 -0
  170. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
  171. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +248 -0
  172. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +1 -0
  173. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +230 -0
  174. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +1 -0
  175. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +133 -0
  176. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +1 -0
  177. package/dist/utils/AnimationChecker.js +45 -0
  178. package/dist/utils/AnimationChecker.js.map +1 -0
  179. package/dist/utils/BrowserTabsUtil.js +115 -0
  180. package/dist/utils/BrowserTabsUtil.js.map +1 -0
  181. package/dist/utils/DriverHelper.js +616 -0
  182. package/dist/utils/DriverHelper.js.map +1 -0
  183. package/dist/utils/Logger.js +84 -0
  184. package/dist/utils/Logger.js.map +1 -0
  185. package/dist/utils/Sanitizer.js +29 -0
  186. package/dist/utils/Sanitizer.js.map +1 -0
  187. package/dist/utils/ScreenCatcher.js +107 -0
  188. package/dist/utils/ScreenCatcher.js.map +1 -0
  189. package/dist/utils/VCS/CheGitApi.js +42 -0
  190. package/dist/utils/VCS/CheGitApi.js.map +1 -0
  191. package/dist/utils/VCS/github/GitHubUtil.js +126 -0
  192. package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
  193. package/dist/utils/WorkspaceNameHandler.js +60 -0
  194. package/dist/utils/WorkspaceNameHandler.js.map +1 -0
  195. package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
  196. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
  197. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +49 -0
  198. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  199. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
  200. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  201. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
  202. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
  203. package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
  204. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
  205. package/dist/utils/theia/PreferencesHandlerTheia.js +142 -0
  206. package/dist/utils/theia/PreferencesHandlerTheia.js.map +1 -0
  207. package/dist/utils/workspace/ApiUrlResolver.js +67 -0
  208. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
  209. package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
  210. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
  211. package/dist/utils/workspace/TestWorkspaceUtil.js +357 -0
  212. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
  213. package/dist/utils/workspace/WorkspaceStatus.js +19 -0
  214. package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
  215. package/package.json +1 -1
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /*********************************************************************
3
+ * Copyright (c) 2019 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ **********************************************************************/
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TestConstants = exports.EditorType = void 0;
13
+ function getBaseUrl() {
14
+ const baseUrl = process.env.TS_SELENIUM_BASE_URL;
15
+ if (!baseUrl) {
16
+ return 'http://sample-url';
17
+ }
18
+ return baseUrl.replace(/\/$/, '');
19
+ }
20
+ var EditorType;
21
+ (function (EditorType) {
22
+ EditorType["THEIA"] = "theia";
23
+ EditorType["CHE_CODE"] = "che-code";
24
+ })(EditorType = exports.EditorType || (exports.EditorType = {}));
25
+ exports.TestConstants = {
26
+ /**
27
+ * Base URL of the application which should be checked
28
+ */
29
+ TS_SELENIUM_BASE_URL: getBaseUrl(),
30
+ /**
31
+ * Base URl of web console OpenShift which uses to test OperatorHub.
32
+ */
33
+ TS_SELENIUM_WEB_CONSOLE_OCP_URL: process.env.TS_SELENIUM_WEB_CONSOLE_OCP_URL || 'https://console-openshift-console.apps.',
34
+ /**
35
+ * Run browser in "Headless" (hiden) mode, "false" by default.
36
+ */
37
+ TS_SELENIUM_HEADLESS: process.env.TS_SELENIUM_HEADLESS === 'true',
38
+ /**
39
+ * Run browser in "Fullscreen" (kiosk) mode.
40
+ * Default to true if undefined
41
+ */
42
+ TS_SELENIUM_LAUNCH_FULLSCREEN: (process.env.TS_SELENIUM_LAUNCH_FULLSCREEN === 'false') ? false : true,
43
+ /**
44
+ * Run browser with an enabled or disabled W3C protocol (on Chrome 76 and upper, it is enabled by default), "true" by default.
45
+ */
46
+ TS_SELENIUM_W3C_CHROME_OPTION: process.env.TS_SELENIUM_W3C_CHROME_OPTION !== 'false',
47
+ /**
48
+ * Browser width resolution, "1920" by default.
49
+ */
50
+ TS_SELENIUM_RESOLUTION_WIDTH: Number(process.env.TS_SELENIUM_RESOLUTION_WIDTH) || 1920,
51
+ /**
52
+ * Browser height resolution, "1080" by default.
53
+ */
54
+ TS_SELENIUM_RESOLUTION_HEIGHT: Number(process.env.TS_SELENIUM_RESOLUTION_HEIGHT) || 1080,
55
+ /**
56
+ * Editor the tests are running against, "code" by default.
57
+ * Possible values: "che-code", "theia"
58
+ */
59
+ TS_SELENIUM_EDITOR: process.env.TS_SELENIUM_EDITOR || EditorType.CHE_CODE,
60
+ /**
61
+ * Base version of VSCode editor for monaco-page-objects, "1.37.0" by default.
62
+ */
63
+ TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION: process.env.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION || '1.37.0',
64
+ /**
65
+ * Latest compatible version to be used, based on versions available in
66
+ * https://github.com/redhat-developer/vscode-extension-tester/tree/master/locators/lib ,
67
+ * "1.73.0" by default.
68
+ */
69
+ TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION: process.env.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION || '1.73.0',
70
+ /**
71
+ * Default ammount of tries, "5" by default.
72
+ */
73
+ TS_SELENIUM_DEFAULT_ATTEMPTS: Number(process.env.TS_SELENIUM_DEFAULT_ATTEMPTS) || 5,
74
+ /**
75
+ * Default delay in milliseconds between tries, "1000" by default.
76
+ */
77
+ TS_SELENIUM_DEFAULT_POLLING: Number(process.env.TS_SELENIUM_DEFAULT_POLLING) || 1000,
78
+ /**
79
+ * Amount of tries for checking workspace status.
80
+ */
81
+ TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS: Number(process.env.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS) || 90,
82
+ /**
83
+ * Delay in milliseconds between checking workspace status tries.
84
+ */
85
+ TS_SELENIUM_WORKSPACE_STATUS_POLLING: Number(process.env.TS_SELENIUM_WORKSPACE_STATUS_POLLING) || 10000,
86
+ /**
87
+ * Amount of tries for checking plugin precence.
88
+ */
89
+ TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS: Number(process.env.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS) || 20,
90
+ /**
91
+ * Name of workspace created for 'Happy Path' scenario validation.
92
+ */
93
+ TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: process.env.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME || 'petclinic-dev-environment',
94
+ /**
95
+ * Using 'single-host' strategy, "false" by default.
96
+ */
97
+ TS_SELENIUM_SINGLE_HOST: process.env.TS_SELENIUM_SINGLE_HOST === 'true',
98
+ /**
99
+ * Value of OpenShift oAuth property determines how to login in installed application,
100
+ * if 'false' as an user of application, if 'true' as a regular user of OCP.
101
+ */
102
+ TS_SELENIUM_VALUE_OPENSHIFT_OAUTH: process.env.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH || 'false',
103
+ /**
104
+ * Username used to log in MultiUser Che.
105
+ */
106
+ TS_SELENIUM_USERNAME: process.env.TS_SELENIUM_USERNAME || 'che',
107
+ /**
108
+ * Password used to log in MultiUser Che.
109
+ */
110
+ TS_SELENIUM_PASSWORD: process.env.TS_SELENIUM_PASSWORD || '',
111
+ /**
112
+ * Log into OCP by using appropriate provider title.
113
+ */
114
+ TS_OCP_LOGIN_PAGE_PROVIDER_TITLE: process.env.TS_OCP_LOGIN_PAGE_PROVIDER_TITLE || '',
115
+ /**
116
+ * Path to folder with load tests execution report.
117
+ */
118
+ TS_SELENIUM_LOAD_TEST_REPORT_FOLDER: process.env.TS_SELENIUM_LOAD_TEST_REPORT_FOLDER || './load-test-folder',
119
+ /**
120
+ * Regular username used to login in OCP.
121
+ */
122
+ TS_SELENIUM_OCP_USERNAME: process.env.TS_SELENIUM_OCP_USERNAME || '',
123
+ /**
124
+ * Password regular user used to login in OCP.
125
+ */
126
+ TS_SELENIUM_OCP_PASSWORD: process.env.TS_SELENIUM_OCP_PASSWORD || '',
127
+ /**
128
+ * Email of regular user OpenShift to login CHE.
129
+ */
130
+ TS_SELENIUM_EMAIL_USER: process.env.TS_SELENIUM_EMAIL_USER || 'test@test.com',
131
+ /**
132
+ * First name of regular user OpenShift to login CHE.
133
+ */
134
+ TS_SELENIUM_FIRST_NAME: process.env.TS_SELENIUM_FIRST_NAME || 'qa',
135
+ /**
136
+ * Last name of regular user Openshift to login CHE.
137
+ */
138
+ TS_SELENIUM_LAST_NAME: process.env.TS_SELENIUM_LAST_NAME || 'test',
139
+ /**
140
+ * Delay between screenshots catching in the milliseconds for the execution screencast.
141
+ */
142
+ TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: Number(process.env.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS) || 1000,
143
+ /**
144
+ * Path to folder with tests execution report.
145
+ */
146
+ TS_SELENIUM_REPORT_FOLDER: process.env.TS_SELENIUM_REPORT_FOLDER || './report',
147
+ /**
148
+ * Enable or disable storing of execution screencast, "false" by default.
149
+ */
150
+ TS_SELENIUM_EXECUTION_SCREENCAST: process.env.TS_SELENIUM_EXECUTION_SCREENCAST === 'true',
151
+ /**
152
+ * Delete screencast after execution if all tests passed, "true" by default.
153
+ */
154
+ DELETE_SCREENCAST_IF_TEST_PASS: process.env.DELETE_SCREENCAST_IF_TEST_PASS !== 'false',
155
+ /**
156
+ * Remote driver URL.
157
+ */
158
+ TS_SELENIUM_REMOTE_DRIVER_URL: process.env.TS_SELENIUM_REMOTE_DRIVER_URL || '',
159
+ /**
160
+ * Stop and remove workspace if a test fails.
161
+ */
162
+ DELETE_WORKSPACE_ON_FAILED_TEST: process.env.DELETE_WORKSPACE_ON_FAILED_TEST === 'true',
163
+ /**
164
+ * Log level settings, possible variants: 'INFO' (by default), 'DEBUG', 'TRACE'.
165
+ */
166
+ TS_SELENIUM_LOG_LEVEL: process.env.TS_SELENIUM_LOG_LEVEL || 'INFO',
167
+ /**
168
+ * Enable Axios request interceptor, false by default
169
+ */
170
+ TS_SELENIUM_REQUEST_INTERCEPTOR: process.env.TS_SELENIUM_REQUEST_INTERCEPTOR === 'true',
171
+ /**
172
+ * Enable Axios response interceptor, false by default
173
+ */
174
+ TS_SELENIUM_RESPONSE_INTERCEPTOR: process.env.TS_SELENIUM_RESPONSE_INTERCEPTOR === 'true',
175
+ /**
176
+ * Running test suite - possible variants can be found in package.json scripts part.
177
+ */
178
+ TEST_SUITE: process.env.TEST_SUITE || 'test-happy-path',
179
+ /**
180
+ * The repo (with README.md in root) and access token are needed for to run test-git-ssh
181
+ */
182
+ TS_GITHUB_TEST_REPO: process.env.TS_GITHUB_TEST_REPO || '',
183
+ /**
184
+ * Token for a github repository with permissions which allow add the ssh keys
185
+ */
186
+ TS_GITHUB_TEST_REPO_ACCESS_TOKEN: process.env.TS_GITHUB_TEST_REPO_ACCESS_TOKEN || '',
187
+ /**
188
+ * Username of the github account
189
+ */
190
+ TS_GITHUB_USERNAME: process.env.TS_GITHUB_USERNAME || '',
191
+ /**
192
+ * Password of the github account
193
+ */
194
+ TS_GITHUB_PASSWORD: process.env.TS_GITHUB_PASSWORD || '',
195
+ /**
196
+ * Login for a user whom has been created in the test Openshift cluster. Need for Openshift connector test
197
+ */
198
+ TS_TEST_OPENSHIFT_PLUGIN_USERNAME: process.env.TS_TEST_OPENSHIFT_PLUGIN_USERNAME || '',
199
+ /**
200
+ * Password for a user whom has been created in the test Openshift cluster. Need for Openshift connector test
201
+ */
202
+ TS_TEST_OPENSHIFT_PLUGIN_PASSWORD: process.env.TS_TEST_OPENSHIFT_PLUGIN_PASSWORD || '',
203
+ /**
204
+ * The name of project in the Openshift plugin tree
205
+ */
206
+ TS_TEST_OPENSHIFT_PLUGIN_PROJECT: process.env.TS_TEST_OPENSHIFT_PLUGIN_PROJECT || '',
207
+ /**
208
+ * The name of the Openshift connector plugin component type
209
+ */
210
+ TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE || 'nodejs (s2i)',
211
+ /**
212
+ * The name of the Openshift connector plugin component version
213
+ */
214
+ TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION || 'latest',
215
+ /**
216
+ * Print all timeout variables when tests launch, defaulte to false
217
+ */
218
+ TS_SELENIUM_PRINT_TIMEOUT_VARIABLES: process.env.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES || false,
219
+ /**
220
+ * URL of the workspace created by devworkspace-controller
221
+ */
222
+ TS_SELENIUM_DEVWORKSPACE_URL: process.env.TS_SELENIUM_DEVWORKSPACE_URL,
223
+ /**
224
+ * This variable specifies that run test is used for load testing and that all artifacts will be sent to ftp client.
225
+ */
226
+ TS_LOAD_TESTS: process.env.TS_LOAD_TESTS || 'false',
227
+ /**
228
+ * This variable determines whether to delete the workspace after the test or leave the workspace running.
229
+ */
230
+ TS_DELETE_PLUGINS_TEST_WORKSPACE: process.env.TS_DELETE_PLUGINS_TEST_WORKSPACE || 'true',
231
+ /**
232
+ * URL of Gogs self-hosted Git server.
233
+ */
234
+ TS_SELF_HOSTED_GIT_SERVER_URL: process.env.TS_SELF_HOSTED_GIT_SERVER_URL || '10.0.104.86:10080',
235
+ /**
236
+ * URL of workspace devfile test repository.
237
+ */
238
+ TS_TEST_WORKSPACE_DEVFILE_REPO: process.env.TS_TEST_WORKSPACE_DEVFILE_REPO || ''
239
+ };
240
+ //# sourceMappingURL=TestConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestConstants.js","sourceRoot":"","sources":["../TestConstants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /*********************************************************************
3
+ * Copyright (c) 2020 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ **********************************************************************/
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TimeoutConstants = void 0;
13
+ exports.TimeoutConstants = {
14
+ // -------------------------------------------- INSTALLING AND STARTUP --------------------------------------------
15
+ /**
16
+ * Wait between workspace started and IDE ready to be used, "20 000" by default.
17
+ */
18
+ TS_IDE_LOAD_TIMEOUT: Number(process.env.TS_IDE_LOAD_TIMEOUT) || 20000,
19
+ /**
20
+ * Timeout in milliseconds waiting for workspace start, "360 000" by default.
21
+ */
22
+ TS_SELENIUM_START_WORKSPACE_TIMEOUT: Number(process.env.TS_SELENIUM_START_WORKSPACE_TIMEOUT) || 360000,
23
+ /**
24
+ * Timeout in milliseconds waiting for page load, "20 000" by default.
25
+ */
26
+ TS_SELENIUM_LOAD_PAGE_TIMEOUT: Number(process.env.TS_SELENIUM_LOAD_PAGE_TIMEOUT) || 20000,
27
+ /**
28
+ * Wait for loader absence, "60 000" by default.
29
+ */
30
+ TS_WAIT_LOADER_ABSENCE_TIMEOUT: Number(process.env.TS_WAIT_LOADER_ABSENCE_TIMEOUT) || 60000,
31
+ /**
32
+ * Wait for loader absence, "60 000" by default.
33
+ */
34
+ TS_WAIT_LOADER_PRESENCE_TIMEOUT: Number(process.env.TS_WAIT_LOADER_PRESENCE_TIMEOUT) || 60000,
35
+ /**
36
+ * Timeout waiting for URL, "5 000" by default.
37
+ */
38
+ TS_WAIT_URL_TIMEOUT: Number(process.env.TS_WAIT_URL_TIMEOUT) || 5000,
39
+ // -------------------------------------------- DASHBOARD --------------------------------------------
40
+ /**
41
+ * Common timeout for dashboard items, "5 000" by default
42
+ */
43
+ TS_COMMON_DASHBOARD_WAIT_TIMEOUT: Number(process.env.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) || 5000,
44
+ /**
45
+ * Timeout for clicking on dashboard menu items, "2 000" by default
46
+ */
47
+ TS_CLICK_DASHBOARD_ITEM_TIMEOUT: Number(process.env.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) || 2000,
48
+ /**
49
+ * Timeout for workspace stopped status, "30 000" by default
50
+ */
51
+ TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT: Number(process.env.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) || 30000,
52
+ // -------------------------------------------- LANGUAGE SERVER VALIDATION --------------------------------------------
53
+ /**
54
+ * Timeout in milliseconds waiting for language server initialization, "180 000" by default.
55
+ */
56
+ TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT: Number(process.env.TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT) || 180000,
57
+ /**
58
+ * Timeout for suggestion invoking, "60 000" by default.
59
+ */
60
+ TS_SUGGESTION_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 60000,
61
+ /**
62
+ * Timeout for error highlighting presence, "90 000" by default
63
+ */
64
+ TS_ERROR_HIGHLIGHTING_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 90000,
65
+ // -------------------------------------------- PROJECT TREE --------------------------------------------
66
+ /**
67
+ * Wait for IDE showing project tree tab, "60 000" by default.
68
+ */
69
+ TS_PROJECT_TREE_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 60000,
70
+ /**
71
+ * Click on item timeout (project tree), "10 000" by default.
72
+ */
73
+ TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT: Number(process.env.TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT) || 10000,
74
+ /**
75
+ * Expand item in project tree, "5 000" by default.
76
+ */
77
+ TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT: Number(process.env.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT) || 5000,
78
+ /**
79
+ * Timeout for waiting workspace sample import, 50_000 by default.
80
+ */
81
+ TS_IMPORT_PROJECT_DEFAULT_POLLING: Number(process.env.TS_SELENIUM_DEFAULT_POLLING) || 50000,
82
+ // ---------------------------------------- OPEN EDITORS ------------------------------------------
83
+ /**
84
+ * Wait for IDE showing open editors tab, "60 000" by default.
85
+ */
86
+ TS_OPEN_EDITORS_TIMEOUT: Number(process.env.TS_OPEN_EDITORS_TIMEOUT) || 60000,
87
+ /**
88
+ * Click on item timeout (open editors), "10 000" by default.
89
+ */
90
+ TS_OPEN_EDITORS_CLICK_ON_ITEM_TIMEOUT: Number(process.env.TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT) || 10000,
91
+ // -------------------------------------------- EDITOR --------------------------------------------
92
+ /**
93
+ * Timeout for inetractions with editor tab - wait, click, select, "5 000" by default.
94
+ */
95
+ TS_EDITOR_TAB_INTERACTION_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 5000,
96
+ /**
97
+ * Wait for file to be opened in editor, "30 000" by default.
98
+ */
99
+ TS_OPEN_EDITOR_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 30000,
100
+ /**
101
+ * Wait for suggestion container closure, "3 000" by default.
102
+ */
103
+ TS_CLOSE_SUGGESTION_CONTAINER_TIMEOUT: Number(process.env.TS_CLOSE_SUGGESTION_CONTAINER_TIMEOUT) || 3000,
104
+ // -------------------------------------------- IDE --------------------------------------------
105
+ /**
106
+ * Timeout for context menu manipulation, "10 000" by default
107
+ */
108
+ TS_CONTEXT_MENU_TIMEOUT: Number(process.env.TS_CONTEXT_MENU_TIMEOUT) || 10000,
109
+ /**
110
+ * Timeout for interactions with Notification center - open, close, "10 000" by default.
111
+ */
112
+ TS_NOTIFICATION_CENTER_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 10000,
113
+ /**
114
+ * Timeout for debugger to connect, "60 000" by default
115
+ */
116
+ TS_DEBUGGER_CONNECTION_TIMEOUT: Number(process.env.TS_DEBUGGER_CONNECTION_TIMEOUT) || 60000,
117
+ /**
118
+ * Timeout for waiting visibility of the debug configuration.
119
+ */
120
+ TS_DEBUGGER_CONFIGURATION_VISIBILITY_TIMEOUT: Number(process.env.TS_DEBUGGER_CONFIGURATION_VISIBILITY_TIMEOUT) || 30000,
121
+ /**
122
+ * Timeout for context menu manipulation, "10 000" by default
123
+ */
124
+ TS_DIALOG_WINDOW_DEFAULT_TIMEOUT: Number(process.env.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT) || 10000,
125
+ /**
126
+ * Timeout for breakpoint interactions, "20 000" by default
127
+ */
128
+ TS_BREAKPOINT_DEFAULT_TIMEOUT: Number(process.env.TS_BREAKPOINT_DEFAULT_TIMEOUT) || 20000,
129
+ /**
130
+ * Timeout for interactions with Git Plugin container, "20 000" by default
131
+ */
132
+ TS_GIT_CONAINER_INTERACTION_TIMEOUT: Number(process.env.TS_GIT_CONAINER_INTERACTION_TIMEOUT) || 20000,
133
+ /**
134
+ * Timeout for toolbars interaction, "30 000" by default
135
+ */
136
+ TS_SELENIUM_TOOLBAR_TIMEOUT: Number(process.env.TS_SELENIUM_TOOLBAR_TIMEOUT) || 30000,
137
+ /**
138
+ * Timeout for clicking on visible item, "5 000" by default
139
+ */
140
+ TS_SELENIUM_CLICK_ON_VISIBLE_ITEM: Number(process.env.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) || 5000,
141
+ /**
142
+ * Timeout for OpenDialogWidget class, "5 000" by default
143
+ */
144
+ TS_SELENIUM_DIALOG_WIDGET_TIMEOUT: Number(process.env.TS_SELENIUM_DIALOG_WIDGET_TIMEOUT) || 5000,
145
+ /**
146
+ * Default timeout for interaction with terminal, "3 000" by default
147
+ */
148
+ TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT: Number(process.env.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) || 5000,
149
+ /**
150
+ * Default timeout for preview widget, "10 000" by default
151
+ */
152
+ TS_SELENIUM_PREVIEW_WIDGET_DEFAULT_TIMEOUT: Number(process.env.TS_SELENIUM_PREVIEW_WIDGET_DEFAULT_TIMEOUT) || 10000,
153
+ /**
154
+ * Timeout for opening quick menu from top panel, "10 000" by default
155
+ */
156
+ TS_SELENIUM_TOP_MENU_QUICK_CONTAINER_TIMEOUT: Number(process.env.TS_SELENIUM_TOP_MENU_QUICK_CONTAINER_TIMEOUT) || 10000,
157
+ /**
158
+ * Timeout waiting for url, "10 000" by default
159
+ */
160
+ TS_SELENIUM_WAIT_FOR_URL: Number(process.env.TS_SELENIUM_WAIT_FOR_URL) || 10000,
161
+ /**
162
+ * Timeout waiting for an executed task to finish, waiting stops automatically if any exit code notification is present, "300 000" by default
163
+ */
164
+ TS_SELENIUM_WAIT_TASK_EXIT_CODE_TIMEOUT: Number(process.env.TS_SELENIUM_WAIT_TASK_EXIT_CODE_TIMEOUT) || 300000,
165
+ /**
166
+ * Timeout waiting for end of the animation, "5000" by default.
167
+ */
168
+ TS_SELENIUM_ANIMATION_END_DELAY: Number(process.env.TS_SELENIUM_ANIMATION_END_DELAY) || 5000,
169
+ // ------------------------------------ OPENSHIFT RELATED ------------------------------------
170
+ /**
171
+ * Timeout for obtaining cluster IP, "10 000" by default.
172
+ */
173
+ TS_GET_CLUSTER_IP_TIMEOUT: Number(process.env.TS_GET_CLUSTER_IP_TIMEOUT) || 60000,
174
+ /**
175
+ * Timeout for waiting fr openshift connector tree, "10 000" by default.
176
+ */
177
+ TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT: Number(process.env.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) || 120000,
178
+ // ----------------------------------------- PLUGINS -----------------------------------------
179
+ /**
180
+ * Common timeout for plugins.
181
+ */
182
+ TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) || 20000
183
+ };
184
+ //# sourceMappingURL=TimeoutConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeoutConstants.js","sourceRoot":"","sources":["../TimeoutConstants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ /*********************************************************************
22
+ * Copyright (c) 2019 Red Hat, Inc.
23
+ *
24
+ * This program and the accompanying materials are made
25
+ * available under the terms of the Eclipse Public License 2.0
26
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
27
+ *
28
+ * SPDX-License-Identifier: EPL-2.0
29
+ **********************************************************************/
30
+ const mocha = __importStar(require("mocha"));
31
+ const __1 = require("..");
32
+ const __2 = require("..");
33
+ const fs = __importStar(require("fs"));
34
+ const rm = __importStar(require("rimraf"));
35
+ const TestConstants_1 = require("../TestConstants");
36
+ const PreferencesHandlerTheia_1 = require("../utils/theia/PreferencesHandlerTheia");
37
+ const CheApiRequestHandler_1 = require("../utils/requestHandlers/CheApiRequestHandler");
38
+ const TimeoutConstants_1 = require("../TimeoutConstants");
39
+ const Logger_1 = require("../utils/Logger");
40
+ const monacoPageObjects = __importStar(require("monaco-page-objects"));
41
+ const vscodeExtensionTesterLocators = __importStar(require("vscode-extension-tester-locators"));
42
+ const e2eContainer = __1.inversifyConfig.e2eContainer;
43
+ const driver = e2eContainer.get(__2.TYPES.Driver);
44
+ const driverHelper = e2eContainer.get(__2.CLASSES.DriverHelper);
45
+ const screenCatcher = e2eContainer.get(__2.CLASSES.ScreenCatcher);
46
+ const sanitizer = e2eContainer.get(__2.CLASSES.Sanitizer);
47
+ let methodIndex = 0;
48
+ let deleteScreencast = true;
49
+ let testWorkspaceUtil = e2eContainer.get(__2.TYPES.WorkspaceUtil);
50
+ class CheReporter extends mocha.reporters.Spec {
51
+ constructor(runner, options) {
52
+ super(runner, options);
53
+ runner.on('start', async (test) => {
54
+ let launchInformation = `################## Launch Information ##################
55
+
56
+ TS_SELENIUM_BASE_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL}
57
+ TS_SELENIUM_HEADLESS: ${TestConstants_1.TestConstants.TS_SELENIUM_HEADLESS}
58
+
59
+ TS_SELENIUM_USERNAME: ${TestConstants_1.TestConstants.TS_SELENIUM_USERNAME}
60
+ TS_SELENIUM_PASSWORD: ${TestConstants_1.TestConstants.TS_SELENIUM_PASSWORD}
61
+
62
+ TS_SELENIUM_EDITOR: ${TestConstants_1.TestConstants.TS_SELENIUM_EDITOR}
63
+
64
+ TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: ${TestConstants_1.TestConstants.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME}
65
+ TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: ${TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS}
66
+ TS_SELENIUM_REPORT_FOLDER: ${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}
67
+ TS_SELENIUM_EXECUTION_SCREENCAST: ${TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST}
68
+ DELETE_SCREENCAST_IF_TEST_PASS: ${TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS}
69
+ TS_SELENIUM_REMOTE_DRIVER_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_REMOTE_DRIVER_URL}
70
+ DELETE_WORKSPACE_ON_FAILED_TEST: ${TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST}
71
+ TS_SELENIUM_LOG_LEVEL: ${TestConstants_1.TestConstants.TS_SELENIUM_LOG_LEVEL}
72
+ TS_SELENIUM_LAUNCH_FULLSCREEN: ${TestConstants_1.TestConstants.TS_SELENIUM_LAUNCH_FULLSCREEN}
73
+ `;
74
+ if (TestConstants_1.TestConstants.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES) {
75
+ launchInformation += `\n TS_SELENIUM_PRINT_TIMEOUT_VARIABLES is set to true: \n`;
76
+ Object.entries(TimeoutConstants_1.TimeoutConstants).forEach(([key, value]) => launchInformation += `\n ${key}: ${value}`);
77
+ }
78
+ else {
79
+ launchInformation += `\n to output timeout variables, set TS_SELENIUM_PRINT_TIMEOUT_VARIABLES to true`;
80
+ }
81
+ launchInformation += `\n ######################################################## \n`;
82
+ console.log(launchInformation);
83
+ rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
84
+ if (TestConstants_1.TestConstants.TS_SELENIUM_REQUEST_INTERCEPTOR) {
85
+ CheApiRequestHandler_1.CheApiRequestHandler.enableRequestInteceptor();
86
+ }
87
+ if (TestConstants_1.TestConstants.TS_SELENIUM_RESPONSE_INTERCEPTOR) {
88
+ CheApiRequestHandler_1.CheApiRequestHandler.enableResponseInterceptor();
89
+ }
90
+ if (TestConstants_1.TestConstants.TS_SELENIUM_EDITOR === TestConstants_1.EditorType.THEIA) {
91
+ let preferencesHandler = e2eContainer.get(__2.CLASSES.PreferencesHandlerTheia);
92
+ await preferencesHandler.setConfirmExit(PreferencesHandlerTheia_1.AskForConfirmationTypeTheia.never);
93
+ await preferencesHandler.setTerminalType(PreferencesHandlerTheia_1.TerminalRendererTypeTheia.dom);
94
+ }
95
+ else if (TestConstants_1.TestConstants.TS_SELENIUM_EDITOR === TestConstants_1.EditorType.CHE_CODE) {
96
+ // init vscode-extension-tester monaco-page-objects
97
+ monacoPageObjects.initPageObjects(TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION, TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, vscodeExtensionTesterLocators.getLocatorsPath(), driver.get(), 'google-chrome');
98
+ }
99
+ });
100
+ runner.on('test', async function (test) {
101
+ if (!TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST) {
102
+ return;
103
+ }
104
+ methodIndex = methodIndex + 1;
105
+ const currentMethodIndex = methodIndex;
106
+ let iterationIndex = 1;
107
+ while (!(test.state === 'passed' || test.state === 'failed')) {
108
+ await screenCatcher.catchMethodScreen(test.title, currentMethodIndex, iterationIndex);
109
+ iterationIndex = iterationIndex + 1;
110
+ await driverHelper.wait(TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS);
111
+ }
112
+ });
113
+ runner.on('pass', async (test) => {
114
+ if (TestConstants_1.TestConstants.TS_LOAD_TESTS) {
115
+ const loadTestReportFolder = TestConstants_1.TestConstants.TS_SELENIUM_LOAD_TEST_REPORT_FOLDER;
116
+ const loadTestFilePath = loadTestReportFolder + '/load-test-results.txt';
117
+ const report = test.title + ': ' + test.duration + '\r';
118
+ if (!fs.existsSync(loadTestReportFolder)) {
119
+ fs.mkdirSync(loadTestReportFolder);
120
+ }
121
+ fs.appendFileSync(loadTestFilePath, report);
122
+ }
123
+ });
124
+ runner.on('end', async function (test) {
125
+ // ensure that fired events done
126
+ await driver.get().sleep(5000);
127
+ // close driver
128
+ await driver.get().quit();
129
+ // delete screencast folder if conditions matched
130
+ if (deleteScreencast && TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS) {
131
+ rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
132
+ }
133
+ });
134
+ runner.on('fail', async function (test) {
135
+ Logger_1.Logger.error(`CheReporter runner.on.fail: ${test.fullTitle()} failed after ${test.duration}ms`);
136
+ // raise flag for keeping the screencast
137
+ deleteScreencast = false;
138
+ Logger_1.Logger.trace(`FullTitle:${test.fullTitle()}`);
139
+ const testFullTitle = sanitizer.sanitize(test.fullTitle());
140
+ Logger_1.Logger.trace(`FullTitleSanitized:${testFullTitle}`);
141
+ Logger_1.Logger.trace(`TestTitle:${test.title}`);
142
+ const testTitle = sanitizer.sanitize(test.title);
143
+ Logger_1.Logger.trace(`TestTitleSanitized:${testTitle}`);
144
+ const testReportDirPath = `${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}/${testFullTitle}`;
145
+ const screenshotFileName = `${testReportDirPath}/screenshot-${testTitle}.png`;
146
+ const pageSourceFileName = `${testReportDirPath}/pagesource-${testTitle}.html`;
147
+ const browserLogsFileName = `${testReportDirPath}/browserlogs-${testTitle}.txt`;
148
+ // create reporter dir if not exist
149
+ const reportDirExists = fs.existsSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
150
+ if (!reportDirExists) {
151
+ fs.mkdirSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
152
+ }
153
+ // create dir for failed test report if not exist
154
+ const testReportDirExists = fs.existsSync(testReportDirPath);
155
+ if (!testReportDirExists) {
156
+ fs.mkdirSync(testReportDirPath);
157
+ }
158
+ // take screenshot and write to file
159
+ const screenshot = await driver.get().takeScreenshot();
160
+ const screenshotStream = fs.createWriteStream(screenshotFileName);
161
+ screenshotStream.write(Buffer.from(screenshot, 'base64'));
162
+ screenshotStream.end();
163
+ // take pagesource and write to file
164
+ const pageSource = await driver.get().getPageSource();
165
+ const pageSourceStream = fs.createWriteStream(pageSourceFileName);
166
+ pageSourceStream.write(Buffer.from(pageSource));
167
+ pageSourceStream.end();
168
+ // take browser console logs and write to file
169
+ const browserLogsEntries = await driverHelper.getDriver().manage().logs().get('browser');
170
+ let browserLogs = '';
171
+ browserLogsEntries.forEach(log => {
172
+ browserLogs += `\"${log.level}\" \"${log.type}\" \"${log.message}\"\n`;
173
+ });
174
+ const browserLogsStream = fs.createWriteStream(browserLogsFileName);
175
+ browserLogsStream.write(Buffer.from(browserLogs));
176
+ browserLogsStream.end();
177
+ // stop and remove running workspace
178
+ if (TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST) {
179
+ Logger_1.Logger.warn('Property DELETE_WORKSPACE_ON_FAILED_TEST se to true - trying to stop and delete running workspace.');
180
+ await testWorkspaceUtil.stopAndDeleteWorkspaceByName(CheReporter.latestWorkspace);
181
+ }
182
+ });
183
+ }
184
+ static registerRunningWorkspace(workspaceName) {
185
+ Logger_1.Logger.debug(`CheReporter.registerRunningWorkspace {${workspaceName}}`);
186
+ CheReporter.latestWorkspace = workspaceName;
187
+ }
188
+ }
189
+ CheReporter.latestWorkspace = '';
190
+ module.exports = CheReporter;
191
+ //# sourceMappingURL=CheReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheReporter.js","sourceRoot":"","sources":["../../driver/CheReporter.ts"],"names":[],"mappings":"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"}