@eclipse-che/che-e2e 7.62.0-dev-af91f02 → 7.62.0-dev-461d6d3

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 (381) 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/configs/sh-scripts/initDevfileTests.sh +53 -0
  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/initDevfileTests.sh +0 -66
  281. package/initPluginTest.sh +0 -9
  282. package/inversify.config.ts +0 -141
  283. package/mocha-all-devfiles-che-code.json +0 -12
  284. package/mocha-all-devfiles-theia.json +0 -15
  285. package/mocha-all-factories-che-code.json +0 -14
  286. package/mocha-all-factories-theia.json +0 -16
  287. package/mocha-all-plugins-che-code.json +0 -13
  288. package/mocha-all-plugins-theia.json +0 -15
  289. package/mocha-che-code.json +0 -12
  290. package/mocha-connector-theia.json +0 -12
  291. package/mocha-devworkspace-happy-path-che-code.json +0 -13
  292. package/mocha-devworkspace-happy-path-theia.json +0 -14
  293. package/mocha-empty-workspace-devworkspace-happy-path-che-code.json +0 -14
  294. package/mocha-factory-che-code.json +0 -13
  295. package/mocha-factory-theia.json +0 -14
  296. package/mocha-git-publish-branch-theia.json +0 -14
  297. package/mocha-git-self-sign-cert-theia.json +0 -14
  298. package/mocha-git-ssh-theia.json +0 -14
  299. package/mocha-happy-path-che-code.json +0 -14
  300. package/mocha-happy-path-theia.json +0 -15
  301. package/mocha-java-maven.json +0 -13
  302. package/mocha-java-springboot-che-code.json +0 -12
  303. package/mocha-java-springboot-theia.json +0 -13
  304. package/mocha-java-vertx-che-code.json +0 -12
  305. package/mocha-java-vertx-theia.json +0 -13
  306. package/mocha-load-theia.json +0 -12
  307. package/mocha-scala.json +0 -13
  308. package/mocha-single-devfile.json +0 -11
  309. package/mocha-theia.json +0 -12
  310. package/mocha-ws-creation-and-ls-theia.json +0 -12
  311. package/mocha.intelij.json +0 -13
  312. package/mocha.ocp.link.json +0 -11
  313. package/mocha.single.plugin.json +0 -8
  314. package/pageobjects/ide/theia/ContextMenu.ts +0 -55
  315. package/pageobjects/ide/theia/DebugView.ts +0 -88
  316. package/pageobjects/ide/theia/DialogWindow.ts +0 -101
  317. package/pageobjects/ide/theia/Editor.ts +0 -601
  318. package/pageobjects/ide/theia/Ide.ts +0 -393
  319. package/pageobjects/ide/theia/LeftToolBar.ts +0 -81
  320. package/pageobjects/ide/theia/NavigationBar.ts +0 -41
  321. package/pageobjects/ide/theia/NotificationCenter.ts +0 -75
  322. package/pageobjects/ide/theia/OpenDialogWidget.ts +0 -92
  323. package/pageobjects/ide/theia/OpenEditors.ts +0 -63
  324. package/pageobjects/ide/theia/OpenWorkspaceWidget.ts +0 -48
  325. package/pageobjects/ide/theia/PreviewWidget.ts +0 -142
  326. package/pageobjects/ide/theia/ProjectTree.ts +0 -338
  327. package/pageobjects/ide/theia/QuickOpenContainer.ts +0 -59
  328. package/pageobjects/ide/theia/RightToolBar.ts +0 -34
  329. package/pageobjects/ide/theia/Terminal.ts +0 -219
  330. package/pageobjects/ide/theia/TopMenu.ts +0 -103
  331. package/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.ts +0 -130
  332. package/pageobjects/ide/theia/plugins/GitPlugin.ts +0 -118
  333. package/pageobjects/ide/theia/plugins/KubernetesPlugin.ts +0 -113
  334. package/pageobjects/ide/theia/plugins/OpenshiftPlugin.ts +0 -87
  335. package/pageobjects/ide/theia/plugins/PluginsView.ts +0 -191
  336. package/tests/MochaHooks.ts +0 -57
  337. package/tests/devfiles/theia/CSlashCPlusPlus.spec.ts +0 -78
  338. package/tests/devfiles/theia/DevfileSmoke.spec.ts +0 -50
  339. package/tests/devfiles/theia/DotNetCore.spec.ts +0 -87
  340. package/tests/devfiles/theia/Go.spec.ts +0 -81
  341. package/tests/devfiles/theia/JavaMaven.spec.ts +0 -64
  342. package/tests/devfiles/theia/JavaSpringBoot.spec.ts +0 -71
  343. package/tests/devfiles/theia/JavaVertx.spec.ts +0 -65
  344. package/tests/devfiles/theia/NodeJS.spec.ts +0 -71
  345. package/tests/devfiles/theia/PHPSimple.spec.ts +0 -80
  346. package/tests/devfiles/theia/Python.spec.ts +0 -64
  347. package/tests/devfiles/theia/PythonDjango.spec.ts +0 -67
  348. package/tests/devfiles/theia/Quarkus.spec.ts +0 -76
  349. package/tests/devfiles/theia/Scala.spec.ts +0 -70
  350. package/tests/e2e/theia/FactoryUrl.spec.ts +0 -47
  351. package/tests/e2e/theia/GitPublishBranch.spec.ts +0 -109
  352. package/tests/e2e/theia/GitSelfSignCert.spec.ts +0 -110
  353. package/tests/e2e/theia/GitSsh.spec.ts +0 -144
  354. package/tests/e2e/theia/OpenshiftConnector.spec.ts +0 -144
  355. package/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.ts +0 -60
  356. package/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.ts +0 -57
  357. package/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.ts +0 -57
  358. package/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.ts +0 -294
  359. package/tests/e2e_happy_path/theia/HappyPath.spec.ts +0 -348
  360. package/tests/intelij/IntelijOpenWorkspace.spec.ts +0 -47
  361. package/tests/load_test/theia/LoadTest.spec.ts +0 -55
  362. package/tests/login/Login.spec.ts +0 -31
  363. package/tests/plugins/theia/GitHubPullRequestPlugin.spec.ts +0 -147
  364. package/tests/plugins/theia/InstallPluginUsingUI.spec.ts +0 -77
  365. package/tests/plugins/theia/JavaPlugin.spec.ts +0 -100
  366. package/tests/plugins/theia/PhpPlugin.spec.ts +0 -115
  367. package/tests/plugins/theia/PythonPlugin.spec.ts +0 -86
  368. package/tests/plugins/theia/TypescriptPlugin.spec.ts +0 -168
  369. package/tests/plugins/theia/VscodeKubernetesPlugin.spec.ts +0 -83
  370. package/tests/plugins/theia/VscodeShellcheckPlugin.spec.ts +0 -100
  371. package/tests/plugins/theia/VscodeValePlugin.spec.ts +0 -85
  372. package/tests/plugins/theia/VscodeXmlPlugin.spec.ts +0 -104
  373. package/tests/plugins/theia/VscodeYamlPlugin.spec.ts +0 -99
  374. package/testsLibrary/theia/CodeExecutionTestsTheia.ts +0 -220
  375. package/testsLibrary/theia/LanguageServerTestsTheia.ts +0 -205
  376. package/testsLibrary/theia/ProjectAndFileTestsTheia.ts +0 -113
  377. package/utils/AnimationChecker.ts +0 -27
  378. package/utils/theia/PreferencesHandlerTheia.ts +0 -123
  379. /package/{initDefaultValues.sh → configs/sh-scripts/initDefaultValues.sh} +0 -0
  380. /package/dist/utils/{VCS → vsc}/github/GitHubUtil.js +0 -0
  381. /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