@eclipse-che/che-e2e 7.62.0-dev-4f7da12 → 7.62.0-dev-13e3caa

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 (380) hide show
  1. package/configs/inversify.config.ts +88 -0
  2. package/{inversify.types.ts → configs/inversify.types.ts} +6 -9
  3. package/configs/mocharc.ts +21 -0
  4. package/{generateIndex.sh → configs/sh-scripts/generateIndex.sh} +8 -10
  5. package/{initDevfileTests.sh → configs/sh-scripts/initDevfileTests.sh} +18 -26
  6. package/{TestConstants.ts → constants/TestConstants.ts} +1 -1
  7. package/{TimeoutConstants.ts → constants/TimeoutConstants.ts} +1 -1
  8. package/dist/configs/inversify.config.js +81 -0
  9. package/dist/configs/inversify.config.js.map +1 -0
  10. package/dist/{inversify.types.js → configs/inversify.types.js} +5 -8
  11. package/dist/configs/inversify.types.js.map +1 -0
  12. package/dist/configs/mocharc.js +20 -0
  13. package/dist/configs/mocharc.js.map +1 -0
  14. package/dist/{TestConstants.js → constants/TestConstants.js} +1 -1
  15. package/dist/constants/TestConstants.js.map +1 -0
  16. package/dist/{TimeoutConstants.js → constants/TimeoutConstants.js} +1 -1
  17. package/dist/constants/TimeoutConstants.js.map +1 -0
  18. package/dist/driver/ChromeDriver.js +2 -2
  19. package/dist/driver/ChromeDriver.js.map +1 -1
  20. package/dist/pageobjects/dashboard/CreateWorkspace.js +4 -4
  21. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
  22. package/dist/pageobjects/dashboard/Dashboard.js +4 -4
  23. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
  24. package/dist/pageobjects/dashboard/Workspaces.js +3 -3
  25. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
  26. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +10 -8
  27. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
  28. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +3 -3
  29. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -1
  30. package/dist/pageobjects/login/ICheLoginPage.js +1 -1
  31. package/dist/pageobjects/login/IOcpLoginPage.js +1 -1
  32. package/dist/pageobjects/login/MultiUserLoginPage.js +3 -3
  33. package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -1
  34. package/dist/pageobjects/login/OcpUserLoginPage.js +3 -3
  35. package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -1
  36. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +4 -4
  37. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
  38. package/dist/pageobjects/login/UpdateAccountInformationPage.js +2 -2
  39. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -1
  40. package/dist/pageobjects/openshift/CheLoginPage.js +3 -3
  41. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
  42. package/dist/pageobjects/openshift/OcpLoginPage.js +4 -4
  43. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
  44. package/dist/pageobjects/third-parties/GitLoginPage.js +4 -4
  45. package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -1
  46. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +3 -3
  47. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -1
  48. package/dist/{tests → specs}/MochaHooks.js +32 -18
  49. package/dist/specs/MochaHooks.js.map +1 -0
  50. package/dist/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.js +10 -11
  51. package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -0
  52. package/dist/{tests → specs}/login/LinkCheAndOcpUsers.spec.js +13 -12
  53. package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +1 -0
  54. package/dist/{utils/AnimationChecker.js → tests-library/LoginTests.js} +26 -18
  55. package/dist/tests-library/LoginTests.js.map +1 -0
  56. package/dist/{testsLibrary/che-code/ProjectAndFileTestsCheCode.js → tests-library/ProjectAndFileTests.js} +11 -11
  57. package/dist/tests-library/ProjectAndFileTests.js.map +1 -0
  58. package/dist/{testsLibrary → tests-library}/WorkspaceHandlingTests.js +4 -4
  59. package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -0
  60. package/dist/utils/BrowserTabsUtil.js +3 -3
  61. package/dist/utils/BrowserTabsUtil.js.map +1 -1
  62. package/dist/{driver → utils}/CheReporter.js +6 -10
  63. package/dist/utils/CheReporter.js.map +1 -0
  64. package/dist/utils/DriverHelper.js +3 -3
  65. package/dist/utils/DriverHelper.js.map +1 -1
  66. package/dist/utils/Logger.js +2 -2
  67. package/dist/utils/Logger.js.map +1 -1
  68. package/dist/utils/Sanitizer.js +1 -1
  69. package/dist/utils/ScreenCatcher.js +7 -7
  70. package/dist/utils/ScreenCatcher.js.map +1 -1
  71. package/dist/utils/WorkspaceNameHandler.js +2 -2
  72. package/dist/utils/WorkspaceNameHandler.js.map +1 -1
  73. package/dist/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.js +3 -3
  74. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -0
  75. package/dist/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.js +1 -1
  76. package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  77. package/dist/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.js +1 -1
  78. package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  79. package/dist/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.js +2 -2
  80. package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
  81. package/dist/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.js +1 -1
  82. package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +1 -0
  83. package/dist/utils/{VCS → vsc}/CheGitApi.js +2 -2
  84. package/dist/utils/vsc/CheGitApi.js.map +1 -0
  85. package/dist/utils/{VCS → vsc}/github/GitHubUtil.js.map +1 -1
  86. package/dist/utils/workspace/ApiUrlResolver.js +3 -3
  87. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
  88. package/dist/utils/workspace/ITestWorkspaceUtil.js +1 -1
  89. package/dist/utils/workspace/TestWorkspaceUtil.js +4 -4
  90. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
  91. package/dist/utils/workspace/WorkspaceStatus.js +1 -1
  92. package/driver/ChromeDriver.ts +2 -2
  93. package/driver/IDriver.ts +1 -1
  94. package/package.json +6 -37
  95. package/pageobjects/dashboard/CreateWorkspace.ts +4 -4
  96. package/pageobjects/dashboard/Dashboard.ts +4 -4
  97. package/pageobjects/dashboard/Workspaces.ts +3 -3
  98. package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +8 -8
  99. package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +3 -4
  100. package/pageobjects/login/ICheLoginPage.ts +1 -1
  101. package/pageobjects/login/IOcpLoginPage.ts +1 -1
  102. package/pageobjects/login/MultiUserLoginPage.ts +3 -3
  103. package/pageobjects/login/OcpUserLoginPage.ts +3 -3
  104. package/pageobjects/login/RegularUserOcpCheLoginPage.ts +4 -4
  105. package/pageobjects/login/UpdateAccountInformationPage.ts +2 -2
  106. package/pageobjects/openshift/CheLoginPage.ts +3 -3
  107. package/pageobjects/openshift/OcpLoginPage.ts +4 -4
  108. package/pageobjects/third-parties/GitLoginPage.ts +4 -4
  109. package/pageobjects/third-parties/GitOauthAppsSettings.ts +3 -3
  110. package/specs/MochaHooks.ts +72 -0
  111. package/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.ts +12 -9
  112. package/{tests → specs}/login/LinkCheAndOcpUsers.spec.ts +5 -4
  113. package/tests-library/LoginTests.ts +35 -0
  114. package/{testsLibrary/che-code/ProjectAndFileTestsCheCode.ts → tests-library/ProjectAndFileTests.ts} +6 -6
  115. package/{testsLibrary → tests-library}/WorkspaceHandlingTests.ts +4 -4
  116. package/utils/BrowserTabsUtil.ts +3 -3
  117. package/{driver → utils}/CheReporter.ts +10 -15
  118. package/utils/DriverHelper.ts +4 -4
  119. package/utils/Logger.ts +2 -2
  120. package/utils/Sanitizer.ts +1 -1
  121. package/utils/ScreenCatcher.ts +3 -3
  122. package/utils/WorkspaceNameHandler.ts +2 -2
  123. package/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.ts +3 -3
  124. package/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.ts +2 -2
  125. package/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.ts +1 -1
  126. package/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.ts +2 -2
  127. package/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.ts +1 -1
  128. package/utils/{VCS → vsc}/CheGitApi.ts +2 -6
  129. package/utils/workspace/ApiUrlResolver.ts +3 -3
  130. package/utils/workspace/ITestWorkspaceUtil.ts +1 -1
  131. package/utils/workspace/TestWorkspaceUtil.ts +4 -4
  132. package/utils/workspace/WorkspaceStatus.ts +1 -1
  133. package/dist/TestConstants.js.map +0 -1
  134. package/dist/TimeoutConstants.js.map +0 -1
  135. package/dist/driver/CheReporter.js.map +0 -1
  136. package/dist/index.js +0 -94
  137. package/dist/index.js.map +0 -1
  138. package/dist/inversify.config.js +0 -133
  139. package/dist/inversify.config.js.map +0 -1
  140. package/dist/inversify.types.js.map +0 -1
  141. package/dist/pageobjects/ide/theia/ContextMenu.js +0 -66
  142. package/dist/pageobjects/ide/theia/ContextMenu.js.map +0 -1
  143. package/dist/pageobjects/ide/theia/DebugView.js +0 -98
  144. package/dist/pageobjects/ide/theia/DebugView.js.map +0 -1
  145. package/dist/pageobjects/ide/theia/DialogWindow.js +0 -102
  146. package/dist/pageobjects/ide/theia/DialogWindow.js.map +0 -1
  147. package/dist/pageobjects/ide/theia/Editor.js +0 -463
  148. package/dist/pageobjects/ide/theia/Editor.js.map +0 -1
  149. package/dist/pageobjects/ide/theia/Ide.js +0 -336
  150. package/dist/pageobjects/ide/theia/Ide.js.map +0 -1
  151. package/dist/pageobjects/ide/theia/LeftToolBar.js +0 -81
  152. package/dist/pageobjects/ide/theia/LeftToolBar.js.map +0 -1
  153. package/dist/pageobjects/ide/theia/NavigationBar.js +0 -57
  154. package/dist/pageobjects/ide/theia/NavigationBar.js.map +0 -1
  155. package/dist/pageobjects/ide/theia/NotificationCenter.js +0 -76
  156. package/dist/pageobjects/ide/theia/NotificationCenter.js.map +0 -1
  157. package/dist/pageobjects/ide/theia/OpenDialogWidget.js +0 -100
  158. package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +0 -1
  159. package/dist/pageobjects/ide/theia/OpenEditors.js +0 -73
  160. package/dist/pageobjects/ide/theia/OpenEditors.js.map +0 -1
  161. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +0 -62
  162. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +0 -1
  163. package/dist/pageobjects/ide/theia/PreviewWidget.js +0 -134
  164. package/dist/pageobjects/ide/theia/PreviewWidget.js.map +0 -1
  165. package/dist/pageobjects/ide/theia/ProjectTree.js +0 -282
  166. package/dist/pageobjects/ide/theia/ProjectTree.js.map +0 -1
  167. package/dist/pageobjects/ide/theia/QuickOpenContainer.js +0 -70
  168. package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +0 -1
  169. package/dist/pageobjects/ide/theia/RightToolBar.js +0 -51
  170. package/dist/pageobjects/ide/theia/RightToolBar.js.map +0 -1
  171. package/dist/pageobjects/ide/theia/Terminal.js +0 -184
  172. package/dist/pageobjects/ide/theia/Terminal.js.map +0 -1
  173. package/dist/pageobjects/ide/theia/TopMenu.js +0 -109
  174. package/dist/pageobjects/ide/theia/TopMenu.js.map +0 -1
  175. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +0 -128
  176. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +0 -1
  177. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +0 -120
  178. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +0 -1
  179. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +0 -107
  180. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +0 -1
  181. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +0 -99
  182. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +0 -1
  183. package/dist/pageobjects/ide/theia/plugins/PluginsView.js +0 -166
  184. package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +0 -1
  185. package/dist/tests/MochaHooks.js.map +0 -1
  186. package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +0 -1
  187. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +0 -73
  188. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +0 -1
  189. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +0 -47
  190. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +0 -1
  191. package/dist/tests/devfiles/theia/DotNetCore.spec.js +0 -81
  192. package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +0 -1
  193. package/dist/tests/devfiles/theia/Go.spec.js +0 -72
  194. package/dist/tests/devfiles/theia/Go.spec.js.map +0 -1
  195. package/dist/tests/devfiles/theia/JavaMaven.spec.js +0 -60
  196. package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +0 -1
  197. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +0 -66
  198. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +0 -1
  199. package/dist/tests/devfiles/theia/JavaVertx.spec.js +0 -60
  200. package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +0 -1
  201. package/dist/tests/devfiles/theia/NodeJS.spec.js +0 -64
  202. package/dist/tests/devfiles/theia/NodeJS.spec.js.map +0 -1
  203. package/dist/tests/devfiles/theia/PHPSimple.spec.js +0 -74
  204. package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +0 -1
  205. package/dist/tests/devfiles/theia/Python.spec.js +0 -58
  206. package/dist/tests/devfiles/theia/Python.spec.js.map +0 -1
  207. package/dist/tests/devfiles/theia/PythonDjango.spec.js +0 -61
  208. package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +0 -1
  209. package/dist/tests/devfiles/theia/Quarkus.spec.js +0 -69
  210. package/dist/tests/devfiles/theia/Quarkus.spec.js.map +0 -1
  211. package/dist/tests/devfiles/theia/Scala.spec.js +0 -66
  212. package/dist/tests/devfiles/theia/Scala.spec.js.map +0 -1
  213. package/dist/tests/e2e/theia/FactoryUrl.spec.js +0 -40
  214. package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +0 -1
  215. package/dist/tests/e2e/theia/GitPublishBranch.spec.js +0 -90
  216. package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +0 -1
  217. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +0 -90
  218. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +0 -1
  219. package/dist/tests/e2e/theia/GitSsh.spec.js +0 -120
  220. package/dist/tests/e2e/theia/GitSsh.spec.js.map +0 -1
  221. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +0 -124
  222. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +0 -1
  223. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +0 -50
  224. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +0 -1
  225. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +0 -48
  226. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +0 -1
  227. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +0 -48
  228. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +0 -1
  229. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +0 -277
  230. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +0 -1
  231. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +0 -314
  232. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +0 -1
  233. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +0 -39
  234. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +0 -1
  235. package/dist/tests/load_test/theia/LoadTest.spec.js +0 -41
  236. package/dist/tests/load_test/theia/LoadTest.spec.js.map +0 -1
  237. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +0 -1
  238. package/dist/tests/login/Login.spec.js +0 -28
  239. package/dist/tests/login/Login.spec.js.map +0 -1
  240. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +0 -117
  241. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +0 -1
  242. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +0 -62
  243. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +0 -1
  244. package/dist/tests/plugins/theia/JavaPlugin.spec.js +0 -82
  245. package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +0 -1
  246. package/dist/tests/plugins/theia/PhpPlugin.spec.js +0 -96
  247. package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +0 -1
  248. package/dist/tests/plugins/theia/PythonPlugin.spec.js +0 -72
  249. package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +0 -1
  250. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +0 -135
  251. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +0 -1
  252. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +0 -69
  253. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +0 -1
  254. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +0 -82
  255. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +0 -1
  256. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +0 -70
  257. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +0 -1
  258. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +0 -81
  259. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +0 -1
  260. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +0 -78
  261. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +0 -1
  262. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +0 -1
  263. package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +0 -1
  264. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +0 -248
  265. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +0 -1
  266. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +0 -230
  267. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +0 -1
  268. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +0 -133
  269. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +0 -1
  270. package/dist/utils/AnimationChecker.js.map +0 -1
  271. package/dist/utils/VCS/CheGitApi.js.map +0 -1
  272. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +0 -1
  273. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
  274. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
  275. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
  276. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +0 -1
  277. package/dist/utils/theia/PreferencesHandlerTheia.js +0 -142
  278. package/dist/utils/theia/PreferencesHandlerTheia.js.map +0 -1
  279. package/index.ts +0 -69
  280. package/initPluginTest.sh +0 -9
  281. package/inversify.config.ts +0 -141
  282. package/mocha-all-devfiles-che-code.json +0 -12
  283. package/mocha-all-devfiles-theia.json +0 -15
  284. package/mocha-all-factories-che-code.json +0 -14
  285. package/mocha-all-factories-theia.json +0 -16
  286. package/mocha-all-plugins-che-code.json +0 -13
  287. package/mocha-all-plugins-theia.json +0 -15
  288. package/mocha-che-code.json +0 -12
  289. package/mocha-connector-theia.json +0 -12
  290. package/mocha-devworkspace-happy-path-che-code.json +0 -13
  291. package/mocha-devworkspace-happy-path-theia.json +0 -14
  292. package/mocha-empty-workspace-devworkspace-happy-path-che-code.json +0 -14
  293. package/mocha-factory-che-code.json +0 -13
  294. package/mocha-factory-theia.json +0 -14
  295. package/mocha-git-publish-branch-theia.json +0 -14
  296. package/mocha-git-self-sign-cert-theia.json +0 -14
  297. package/mocha-git-ssh-theia.json +0 -14
  298. package/mocha-happy-path-che-code.json +0 -14
  299. package/mocha-happy-path-theia.json +0 -15
  300. package/mocha-java-maven.json +0 -13
  301. package/mocha-java-springboot-che-code.json +0 -12
  302. package/mocha-java-springboot-theia.json +0 -13
  303. package/mocha-java-vertx-che-code.json +0 -12
  304. package/mocha-java-vertx-theia.json +0 -13
  305. package/mocha-load-theia.json +0 -12
  306. package/mocha-scala.json +0 -13
  307. package/mocha-single-devfile.json +0 -11
  308. package/mocha-theia.json +0 -12
  309. package/mocha-ws-creation-and-ls-theia.json +0 -12
  310. package/mocha.intelij.json +0 -13
  311. package/mocha.ocp.link.json +0 -11
  312. package/mocha.single.plugin.json +0 -8
  313. package/pageobjects/ide/theia/ContextMenu.ts +0 -55
  314. package/pageobjects/ide/theia/DebugView.ts +0 -88
  315. package/pageobjects/ide/theia/DialogWindow.ts +0 -101
  316. package/pageobjects/ide/theia/Editor.ts +0 -601
  317. package/pageobjects/ide/theia/Ide.ts +0 -393
  318. package/pageobjects/ide/theia/LeftToolBar.ts +0 -81
  319. package/pageobjects/ide/theia/NavigationBar.ts +0 -41
  320. package/pageobjects/ide/theia/NotificationCenter.ts +0 -75
  321. package/pageobjects/ide/theia/OpenDialogWidget.ts +0 -92
  322. package/pageobjects/ide/theia/OpenEditors.ts +0 -63
  323. package/pageobjects/ide/theia/OpenWorkspaceWidget.ts +0 -48
  324. package/pageobjects/ide/theia/PreviewWidget.ts +0 -142
  325. package/pageobjects/ide/theia/ProjectTree.ts +0 -338
  326. package/pageobjects/ide/theia/QuickOpenContainer.ts +0 -59
  327. package/pageobjects/ide/theia/RightToolBar.ts +0 -34
  328. package/pageobjects/ide/theia/Terminal.ts +0 -219
  329. package/pageobjects/ide/theia/TopMenu.ts +0 -103
  330. package/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.ts +0 -130
  331. package/pageobjects/ide/theia/plugins/GitPlugin.ts +0 -118
  332. package/pageobjects/ide/theia/plugins/KubernetesPlugin.ts +0 -113
  333. package/pageobjects/ide/theia/plugins/OpenshiftPlugin.ts +0 -87
  334. package/pageobjects/ide/theia/plugins/PluginsView.ts +0 -191
  335. package/tests/MochaHooks.ts +0 -57
  336. package/tests/devfiles/theia/CSlashCPlusPlus.spec.ts +0 -78
  337. package/tests/devfiles/theia/DevfileSmoke.spec.ts +0 -50
  338. package/tests/devfiles/theia/DotNetCore.spec.ts +0 -87
  339. package/tests/devfiles/theia/Go.spec.ts +0 -81
  340. package/tests/devfiles/theia/JavaMaven.spec.ts +0 -64
  341. package/tests/devfiles/theia/JavaSpringBoot.spec.ts +0 -71
  342. package/tests/devfiles/theia/JavaVertx.spec.ts +0 -65
  343. package/tests/devfiles/theia/NodeJS.spec.ts +0 -71
  344. package/tests/devfiles/theia/PHPSimple.spec.ts +0 -80
  345. package/tests/devfiles/theia/Python.spec.ts +0 -64
  346. package/tests/devfiles/theia/PythonDjango.spec.ts +0 -67
  347. package/tests/devfiles/theia/Quarkus.spec.ts +0 -76
  348. package/tests/devfiles/theia/Scala.spec.ts +0 -70
  349. package/tests/e2e/theia/FactoryUrl.spec.ts +0 -47
  350. package/tests/e2e/theia/GitPublishBranch.spec.ts +0 -109
  351. package/tests/e2e/theia/GitSelfSignCert.spec.ts +0 -110
  352. package/tests/e2e/theia/GitSsh.spec.ts +0 -144
  353. package/tests/e2e/theia/OpenshiftConnector.spec.ts +0 -144
  354. package/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.ts +0 -60
  355. package/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.ts +0 -57
  356. package/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.ts +0 -57
  357. package/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.ts +0 -294
  358. package/tests/e2e_happy_path/theia/HappyPath.spec.ts +0 -348
  359. package/tests/intelij/IntelijOpenWorkspace.spec.ts +0 -47
  360. package/tests/load_test/theia/LoadTest.spec.ts +0 -55
  361. package/tests/login/Login.spec.ts +0 -31
  362. package/tests/plugins/theia/GitHubPullRequestPlugin.spec.ts +0 -147
  363. package/tests/plugins/theia/InstallPluginUsingUI.spec.ts +0 -77
  364. package/tests/plugins/theia/JavaPlugin.spec.ts +0 -100
  365. package/tests/plugins/theia/PhpPlugin.spec.ts +0 -115
  366. package/tests/plugins/theia/PythonPlugin.spec.ts +0 -86
  367. package/tests/plugins/theia/TypescriptPlugin.spec.ts +0 -168
  368. package/tests/plugins/theia/VscodeKubernetesPlugin.spec.ts +0 -83
  369. package/tests/plugins/theia/VscodeShellcheckPlugin.spec.ts +0 -100
  370. package/tests/plugins/theia/VscodeValePlugin.spec.ts +0 -85
  371. package/tests/plugins/theia/VscodeXmlPlugin.spec.ts +0 -104
  372. package/tests/plugins/theia/VscodeYamlPlugin.spec.ts +0 -99
  373. package/testsLibrary/theia/CodeExecutionTestsTheia.ts +0 -220
  374. package/testsLibrary/theia/LanguageServerTestsTheia.ts +0 -205
  375. package/testsLibrary/theia/ProjectAndFileTestsTheia.ts +0 -113
  376. package/utils/AnimationChecker.ts +0 -27
  377. package/utils/theia/PreferencesHandlerTheia.ts +0 -123
  378. /package/{initDefaultValues.sh → configs/sh-scripts/initDefaultValues.sh} +0 -0
  379. /package/dist/utils/{VCS → vsc}/github/GitHubUtil.js +0 -0
  380. /package/utils/{VCS → vsc}/github/GitHubUtil.ts +0 -0
@@ -1,205 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019 Red Hat, Inc.
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- **********************************************************************/
10
-
11
- import 'reflect-metadata';
12
- import { inject, injectable } from 'inversify';
13
- import { CLASSES } from '../../inversify.types';
14
- import { TimeoutConstants } from '../../TimeoutConstants';
15
- import { Editor } from '../../pageobjects/ide/theia/Editor';
16
- import { Ide, LeftToolbarButton } from '../../pageobjects/ide/theia/Ide';
17
- import { TopMenu } from '../../pageobjects/ide/theia/TopMenu';
18
- import { DebugView } from '../../pageobjects/ide/theia/DebugView';
19
- import { Key, error } from 'selenium-webdriver';
20
- import { Logger } from '../../utils/Logger';
21
- import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
22
-
23
- @injectable()
24
- export class LanguageServerTestsTheia {
25
-
26
- constructor(
27
- @inject(CLASSES.Editor) private readonly editor: Editor,
28
- @inject(CLASSES.Ide) private readonly ide: Ide,
29
- @inject(CLASSES.TopMenu) private readonly topMenu: TopMenu,
30
- @inject(CLASSES.DebugView) private readonly debugView: DebugView,
31
- @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil) { }
32
-
33
- public errorHighlighting(openedTab: string, textToWrite: string, line: number) {
34
- test('Error highlighting', async () => {
35
- await this.editor.type(openedTab, textToWrite, line);
36
- try {
37
- await this.editor.waitErrorInLine(line, openedTab);
38
- } catch (err) {
39
- if (!(err instanceof error.TimeoutError)) {
40
- throw err;
41
- }
42
- }
43
- for (let i = 0; i < textToWrite.length; i++) {
44
- await this.editor.performKeyCombination(openedTab, Key.BACK_SPACE);
45
- }
46
- await this.editor.waitErrorInLineDisappearance(line, openedTab);
47
- });
48
- }
49
-
50
- public suggestionInvoking(openedTab: string, line: number, char: number, suggestionText: string) {
51
- test('Suggestion invoking', async () => {
52
- await this.ide.closeAllNotifications();
53
- await this.editor.waitEditorAvailable(openedTab);
54
- await this.editor.clickOnTab(openedTab);
55
- await this.editor.waitEditorAvailable(openedTab);
56
- await this.editor.waitTabFocused(openedTab);
57
- await this.editor.moveCursorToLineAndChar(openedTab, line, char);
58
- await this.editor.pressControlSpaceCombination(openedTab);
59
- await this.editor.waitSuggestion(openedTab, suggestionText);
60
- });
61
- }
62
-
63
- public autocomplete(openedTab: string, line: number, char: number, expectedText: string) {
64
- test('Autocomplete', async () => {
65
- await this.editor.moveCursorToLineAndChar(openedTab, line, char);
66
- await this.editor.pressControlSpaceCombination(openedTab);
67
- await this.editor.waitSuggestionContainer();
68
- await this.editor.waitSuggestionWithScrolling(openedTab, expectedText);
69
- await this.editor.waitTabWithSavedStatus(openedTab);
70
- });
71
- }
72
-
73
- public waitLSInitialization(startingNote: string, alternateNote: string = '', startTimeout: number = TimeoutConstants.TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT) {
74
- test('LS initialization', async () => {
75
- try {
76
- await this.ide.checkLsInitializationStart(startingNote);
77
- } catch (err) {
78
- if (alternateNote.length === 0) {
79
- throw err;
80
- }
81
- if (!(err instanceof error.TimeoutError)) {
82
- throw err;
83
- }
84
- Logger.warn('Known flakiness has occurred https://github.com/eclipse/che/issues/17864');
85
- await this.ide.waitStatusBarContains(alternateNote);
86
- await this.ide.waitStatusBarTextAbsence(alternateNote, startTimeout);
87
- return;
88
- }
89
- await this.ide.waitStatusBarTextAbsence(startingNote, startTimeout);
90
- Logger.debug('Starting note successfully disappeared.');
91
- if (alternateNote.length > 0) {
92
- Logger.debug('AlternateNote value is set, waiting for presence and disappearance.');
93
- await this.ide.waitStatusBarContains(alternateNote);
94
- await this.ide.waitStatusBarTextAbsence(alternateNote, startTimeout);
95
- }
96
- Logger.debug('Language Server successfully initialized.');
97
- });
98
- }
99
-
100
- public goToDefinition(openedFile: string, line: number, char: number, codeNavigationClassName: string, timeout: number = TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
101
- test('Go to Definition', async () => {
102
- try {
103
- await this.editor.moveCursorToLineAndChar(openedFile, line, char);
104
- await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F11));
105
- await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
106
- } catch (err) {
107
- // https://github.com/eclipse/che/issues/17411 was fixed by adding a retry
108
- if (err instanceof error.TimeoutError) {
109
- Logger.warn('Code navigation (definition) didn\'t work. Trying again.');
110
- try {
111
- await this.editor.moveCursorToLineAndChar(openedFile, line, char);
112
- await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F11));
113
- await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
114
- } catch (err) {
115
- Logger.error('Code navigation (definition) didn\'t work even after retrying.');
116
- throw err;
117
- }
118
- } else {
119
- Logger.error('Code navigation (definition) failed with unexpected exception.');
120
- throw err;
121
- }
122
- }
123
- });
124
- }
125
-
126
- public goToImplementations(openedFile: string, line: number, char: number, codeNavigationClassName: string, timeout: number = TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
127
- test('Go to Implementations', async () => {
128
- try {
129
- await this.editor.moveCursorToLineAndChar(openedFile, line, char);
130
- await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F12));
131
- await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
132
- } catch (err) {
133
- // https://github.com/eclipse/che/issues/17411 was fixed by adding a retry
134
- if (err instanceof error.TimeoutError) {
135
- Logger.warn('Code navigation (implementations) didn\'t work. Trying again.');
136
- try {
137
- await this.editor.moveCursorToLineAndChar(openedFile, line, char);
138
- await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F12));
139
- await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
140
- } catch (err) {
141
- Logger.error('Code navigation (implementations) didn\'t work even after retrying.');
142
- throw err;
143
- }
144
- } else {
145
- Logger.error('Code navigation (implementations) failed with unexpected exception.');
146
- throw err;
147
- }
148
- }
149
- });
150
- }
151
-
152
- public startAndAttachDebugger(openedFile: string) {
153
- test('Open debug panel', async () => {
154
- await this.editor.selectTab(openedFile);
155
- await this.topMenu.selectOption('View', 'Debug');
156
- await this.ide.waitLeftToolbarButton(LeftToolbarButton.Debug);
157
- });
158
-
159
- test('Run debug', async () => {
160
- try {
161
- await this.debugView.clickOnRunDebugButton();
162
- } catch (err) {
163
- // debug config is probably missing, refresh IDE and try again https://github.com/eclipse/che/issues/19887
164
- await this.browserTabsUtil.refreshPage();
165
- await this.ide.waitIde();
166
- await this.debugView.clickOnRunDebugButton();
167
- }
168
- });
169
- }
170
-
171
- public startAndAttachDebuggerWithConfiguration(openedFile: string, configurationName: string) {
172
- test('Open debug panel', async () => {
173
- await this.editor.selectTab(openedFile);
174
- await this.topMenu.selectOption('View', 'Debug');
175
- await this.ide.waitLeftToolbarButton(LeftToolbarButton.Debug);
176
- });
177
-
178
- test('Run debug', async () => {
179
- try {
180
- await this.debugView.clickOnDebugConfigurationDropDown();
181
- await this.debugView.clickOnDebugConfigurationItem(configurationName);
182
- await this.debugView.clickOnRunDebugButton();
183
- } catch (err) {
184
- // debug config is probably missing, refresh IDE and try again https://github.com/eclipse/che/issues/19887
185
- await this.browserTabsUtil.refreshPage();
186
- await this.ide.waitIde();
187
- await this.debugView.clickOnDebugConfigurationDropDown();
188
- await this.debugView.clickOnDebugConfigurationItem(configurationName);
189
- await this.debugView.clickOnRunDebugButton();
190
- }
191
- });
192
- }
193
-
194
- public setBreakpoint(openedFile: string, line: number) {
195
- test('Activating breakpoint', async () => {
196
- await this.editor.activateBreakpoint(openedFile, line);
197
- });
198
- }
199
-
200
- public checkDebuggerStoppedAtBreakpoint(openedFile: string, line: number, timeout: number) {
201
- test('Check that debug stopped at the breakpoint', async () => {
202
- await this.editor.waitStoppedDebugBreakpoint(openedFile, line, timeout);
203
- });
204
- }
205
- }
@@ -1,113 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019 Red Hat, Inc.
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- **********************************************************************/
10
-
11
- import 'reflect-metadata';
12
- import { inject, injectable } from 'inversify';
13
- import { By, error } from 'selenium-webdriver';
14
- import { Ide } from '../../pageobjects/ide/theia/Ide';
15
- import { ProjectTree } from '../../pageobjects/ide/theia/ProjectTree';
16
- import { OpenEditors } from '../../pageobjects/ide/theia/OpenEditors';
17
- import { Editor } from '../../pageobjects/ide/theia/Editor';
18
- import { TimeoutConstants } from '../../TimeoutConstants';
19
- import { DriverHelper } from '../../utils/DriverHelper';
20
- import { CLASSES } from '../../inversify.types';
21
- import { Logger } from '../../utils/Logger';
22
- import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
23
-
24
- @injectable()
25
- export class ProjectAndFileTestsTheia {
26
-
27
- constructor(
28
- @inject(CLASSES.Ide) private readonly ide: Ide,
29
- @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
30
- @inject(CLASSES.ProjectTree) private readonly projectTree: ProjectTree,
31
- @inject(CLASSES.OpenEditors) private readonly openEditors: OpenEditors,
32
- @inject(CLASSES.Editor) private readonly editor: Editor,
33
- @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil) {}
34
-
35
- public switchBackToFirstOpenIdeTabFromLeftToRight() {
36
- test('WorkspaceHandlingTests.switchBackToIdeTab', async () => {
37
- let tabs = await this.driverHelper.getDriver().getAllWindowHandles();
38
- Logger.trace(`WorkspaceHandlingTests.switchBackToIdeTab Found ${tabs.length} window handles, iterating...`);
39
- for (let i = 0; i < tabs.length; i++) {
40
- await this.browserTabsUtil.switchToWindow(tabs[i]);
41
- try {
42
- await this.ide.waitIde(TimeoutConstants.TS_IDE_LOAD_TIMEOUT);
43
- Logger.debug(`WorkspaceHandlingTests.switchBackToIdeTab located and switched to IDE tab`);
44
- return;
45
- } catch (err) {
46
- if (err instanceof error.TimeoutError) {
47
- Logger.warn(`WorkspaceHandlingTests.switchBackToIdeTab Locator timed out, trying with another window handle.`);
48
- continue;
49
- }
50
- Logger.error(`WorkspaceHandlingTests.switchBackToIdeTab Received unexpected exception while trying to locate IDE tab:${err}`);
51
- throw err;
52
- }
53
- }
54
- Logger.error(`WorkspaceHandlingTests.switchBackToIdeTab Failed to locate IDE tab, out of window handles.`);
55
- });
56
- }
57
-
58
- public waitWorkspaceReadiness(sampleName: string, folder: string, checkNotification: boolean = true, restartWorkspaceDialogIsExpected: boolean = false) {
59
- test('Wait for workspace readiness', async () => {
60
- await this.ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
61
-
62
- if (restartWorkspaceDialogIsExpected) {
63
- await this.ide.clickOnCancelDialogButton();
64
- }
65
-
66
- await this.projectTree.openProjectTreeContainer();
67
- if (!await this.openEditors.isExpansionToggleCollapsed()) {
68
- await this.openEditors.waitAndClickExpansionToggle();
69
- }
70
-
71
- await this.projectTree.waitProjectImported(sampleName, folder);
72
- });
73
- }
74
-
75
- public waitWorkspaceReadinessNoSubfolder(sampleName: string, checkNotification: boolean = true) {
76
- test('Wait for workspace readiness', async () => {
77
- await this.ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
78
- if (checkNotification) {
79
- await this.ide.waitNotificationAndClickOnButton('Do you trust the authors of', 'Yes, I trust', 60_000);
80
- }
81
- await this.projectTree.openProjectTreeContainer();
82
- if (!await this.openEditors.isExpansionToggleCollapsed()) {
83
- await this.openEditors.waitAndClickExpansionToggle();
84
- }
85
- await this.projectTree.waitProjectImportedNoSubfolder(sampleName);
86
- });
87
- }
88
-
89
- public openFile(filePath: string, fileName: string) {
90
- test('Expand project and open file in editor', async () => {
91
- await this.projectTree.expandPathAndOpenFile(filePath, fileName);
92
- await this.editor.selectTab(fileName);
93
- });
94
- }
95
-
96
- public checkFilePresence(filePath: string, timeout: number) {
97
- test('Check that file is present in project', async () => {
98
- await this.projectTree.waitItem(filePath, timeout);
99
- });
100
- }
101
-
102
- public checkFileNotExists(filePath: string) {
103
- test('Check that file is not exist in project', async () => {
104
- await this.projectTree.waitItemDisappearance(filePath);
105
- });
106
- }
107
-
108
- public checkProjectBranchName(branchName: string) {
109
- test('Check branch name is ${}', async () => {
110
- await this.driverHelper.waitVisibility(By.xpath(`//div[@id='theia-statusBar']/div//span[text()=' ${branchName}']`));
111
- });
112
- }
113
- }
@@ -1,27 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2021 Red Hat, Inc.
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- **********************************************************************/
10
-
11
- import { injectable, inject } from 'inversify';
12
- import { CLASSES } from '../inversify.types';
13
- import { DriverHelper } from './DriverHelper';
14
- import { Logger } from './Logger';
15
- import { TimeoutConstants } from '../TimeoutConstants';
16
-
17
- @injectable()
18
- export class AnimationChecker {
19
- constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
20
-
21
- async waitDropDownAnimationEnd() {
22
- Logger.debug('AnimationChecker.waitDropDownAnimationEnd');
23
-
24
- await this.driverHelper.wait(TimeoutConstants.TS_SELENIUM_ANIMATION_END_DELAY);
25
- }
26
-
27
- }
@@ -1,123 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019 Red Hat, Inc.
3
- *
4
- * This program and the accompanying materials are made
5
- * available under the terms of the Eclipse Public License 2.0
6
- * which is available at https://www.eclipse.org/legal/epl-2.0/
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- **********************************************************************/
10
-
11
- import { injectable, inject } from 'inversify';
12
- import { Logger } from '../Logger';
13
- import { CLASSES } from '../../inversify.types';
14
- import { CheApiRequestHandler } from '../requestHandlers/CheApiRequestHandler';
15
- import { Editor } from '../../pageobjects/ide/theia/Editor';
16
- import { QuickOpenContainer } from '../../pageobjects/ide/theia/QuickOpenContainer';
17
- import { TopMenu } from '../../pageobjects/ide/theia/TopMenu';
18
- import { Key } from 'selenium-webdriver';
19
-
20
- export enum TerminalRendererTypeTheia {
21
- canvas = 'canvas',
22
- dom = 'dom'
23
- }
24
-
25
- export enum AskForConfirmationTypeTheia {
26
- never = 'never',
27
- ifRquired = 'ifRequired',
28
- always = 'always'
29
- }
30
-
31
- @injectable()
32
- export class PreferencesHandlerTheia {
33
-
34
- constructor(@inject(CLASSES.CheApiRequestHandler) private readonly requestHandler: CheApiRequestHandler,
35
- @inject(CLASSES.Editor) private readonly editor: Editor,
36
- @inject(CLASSES.QuickOpenContainer) private readonly quickOpenContainer: QuickOpenContainer,
37
- @inject(CLASSES.TopMenu) private readonly topMenu: TopMenu) {
38
- }
39
-
40
- /**
41
- * Works properly only for the running workspace.
42
- */
43
- public async setPreferenceUsingUI(property: string, value: any) {
44
- const tabTitle: string = 'settings.json';
45
-
46
- await this.topMenu.selectOption('View', 'Find Command...');
47
- await this.quickOpenContainer.typeAndSelectSuggestion('Preferences:', 'Preferences: Open Preferences (JSON)');
48
-
49
- let editorText: string = await this.editor.getEditorVisibleText(tabTitle);
50
- if (!editorText) {
51
- editorText = '{}';
52
- }
53
- let preferences = JSON.parse(editorText);
54
- preferences[property] = value;
55
-
56
- await this.editor.deleteAllText(tabTitle);
57
- await this.editor.type(tabTitle, JSON.stringify(preferences), 1);
58
- await this.editor.type(tabTitle, Key.chord(Key.CONTROL, Key.SHIFT, 'i'), 1);
59
- }
60
-
61
- /**
62
- * Works properly only if set before workspace startup.
63
- */
64
- public async setTerminalType(type: TerminalRendererTypeTheia) {
65
- Logger.debug('PreferencesHandler.setTerminalToDom');
66
- await this.setPreference('terminal.integrated.rendererType', type);
67
- }
68
-
69
- /**
70
- *
71
- * @param askForConfirmation possible values are "never", "ifRequired" and "always"
72
- */
73
- public async setConfirmExit(askForConfirmation: AskForConfirmationTypeTheia) {
74
- Logger.debug(`PreferencesHandler.setConfirmExit to ${askForConfirmation}`);
75
- await this.setPreference(`application.confirmExit`, askForConfirmation);
76
- }
77
-
78
- /**
79
- * Works properly only if set before workspace startup.
80
- */
81
- public async setUseGoLanaguageServer() {
82
- Logger.debug(`PreferencesHandler.setUseGoLanguageServer to true.`);
83
- await this.setPreference('go.useLanguageServer', 'true');
84
- }
85
-
86
- /**
87
- * Works properly only if set before workspace startup.
88
- */
89
- public async setVscodeKubernetesPluginConfig(vsKubernetesConfig: any) {
90
- Logger.debug(`PreferencesHandler.setVscodeKubernetesPluginConfig`);
91
- await this.setPreference('vs-kubernetes', vsKubernetesConfig);
92
- }
93
-
94
- public async setPreference(attribute: string, value: any) {
95
- Logger.trace(`PreferencesHandler.setPreferences ${attribute} to ${value}`);
96
- let response;
97
- try {
98
- response = await this.requestHandler.get('api/preferences');
99
- } catch (e) {
100
- Logger.error(`PreferencesHandler.setPreferences failed to get user preferences: ${e}`);
101
- return;
102
- }
103
- let userPref = response.data;
104
- try {
105
- let theiaPref = JSON.parse(userPref['theia-user-preferences']);
106
- theiaPref[attribute] = value;
107
- userPref['theia-user-preferences'] = JSON.stringify(theiaPref);
108
- await this.requestHandler.post('api/preferences', userPref);
109
- } catch (e) {
110
- // setting terminal before running a workspace, so no theia preferences are set
111
- Logger.warn(`PreferencesHandler.setPreference could not set theia-user-preferences from api/preferences response, forcing manually.`);
112
- let theiaPref = `{ "${attribute}":"${value}" }`;
113
- userPref['theia-user-preferences'] = JSON.stringify(JSON.parse(theiaPref));
114
- try {
115
- await this.requestHandler.post('api/preferences', userPref);
116
- } catch (e) {
117
- Logger.error(`PreferencesHandler.setPreference failed to manually set preferences value: ${e}`);
118
- return;
119
- }
120
- }
121
- Logger.trace(`PreferencesHandler.setPreferences ${attribute} to ${value} done.`);
122
- }
123
- }
File without changes
File without changes