@eclipse-che/che-e2e 7.62.0 → 7.64.0-dev-20514b2

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 -27
  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,100 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2020 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
- import 'reflect-metadata';
11
- import { e2eContainer } from '../../../inversify.config';
12
- import { CLASSES } from '../../../inversify.types';
13
- import { Ide } from '../../../pageobjects/ide/theia/Ide';
14
- import { TimeoutConstants } from '../../../TimeoutConstants';
15
- import { TestConstants } from '../../../TestConstants';
16
- import { PreferencesHandlerTheia } from '../../../utils/theia/PreferencesHandlerTheia';
17
- import { Editor } from '../../../pageobjects/ide/theia/Editor';
18
- import { ProjectTree } from '../../../pageobjects/ide/theia/ProjectTree';
19
- import { Key } from 'selenium-webdriver';
20
- import { WorkspaceHandlingTests } from '../../../testsLibrary/WorkspaceHandlingTests';
21
- import { Logger } from '../../../utils/Logger';
22
- import { BrowserTabsUtil } from '../../../utils/BrowserTabsUtil';
23
-
24
- const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
25
- const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
26
- const ide: Ide = e2eContainer.get(CLASSES.Ide);
27
- const preferencesHandler: PreferencesHandlerTheia = e2eContainer.get(CLASSES.PreferencesHandlerTheia);
28
- const editor: Editor = e2eContainer.get(CLASSES.Editor);
29
- const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
30
-
31
- const devfileUrl: string = 'https://raw.githubusercontent.com/eclipse/che/main/tests/e2e/files/devfiles/plugins/VscodeShellcheckPlugin.yaml';
32
- const factoryUrl: string = `${TestConstants.TS_SELENIUM_BASE_URL}/f?url=${devfileUrl}`;
33
- const sampleName: string = 'nodejs-web-app';
34
- const subRootFolder: string = 'app';
35
- const pathToFile: string = `${sampleName}`;
36
- const fileName: string = 'test.sh';
37
-
38
- suite(`The 'VscodeShellcheckPlugin' test`, async () => {
39
- suite('Create workspace', async () => {
40
- test('Set shellcheck path', async () => {
41
- const shellcheckExecutablePathPropertyName: string = 'shellcheck.executablePath';
42
- const shellcheckExecutablePath: string = '/bin/shellcheck';
43
-
44
- await preferencesHandler.setPreference(shellcheckExecutablePathPropertyName, shellcheckExecutablePath);
45
- });
46
-
47
- test('Create workspace using factory', async () => {
48
- await browserTabsUtil.navigateTo(factoryUrl);
49
- });
50
-
51
- workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
52
-
53
- test('Wait until created workspace is started', async () => {
54
- await ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
55
- await ide.waitNotificationAndClickOnButton('Do you trust the authors of', 'Yes, I trust', 60_000);
56
-
57
- await projectTree.openProjectTreeContainer();
58
- await projectTree.waitProjectImported(sampleName, subRootFolder);
59
- });
60
- });
61
-
62
- suite('Check the "Shellcheck" plugin', async () => {
63
- test('Check errors highlighting', async () => {
64
- // the simple " character as a result. Workaround to avoiding autocomplete.
65
- const errorText: string = Key.chord('"""', Key.BACK_SPACE, Key.BACK_SPACE);
66
-
67
- await projectTree.expandPathAndOpenFile(pathToFile, fileName);
68
- await editor.type(fileName, errorText, 4);
69
- await editor.waitErrorInLine(4, fileName);
70
- });
71
-
72
- test('Check errors highlighting disappearance', async () => {
73
- await editor.type(fileName, Key.DELETE, 4);
74
- await editor.waitErrorInLineDisappearance(4, fileName);
75
- });
76
-
77
- test('Check warning highlighting', async () => {
78
- await editor.waitWarningInLine(5, fileName);
79
- });
80
-
81
- test('Uncomment the 4-th row', async () => {
82
- await editor.type(fileName, Key.DELETE, 3);
83
- });
84
-
85
- test('Check warning highlighting disappearance', async () => {
86
- await editor.waitWarningInLineDisappearance(5, fileName);
87
- });
88
- });
89
-
90
- suite('Stopping and deleting the workspace', async () => {
91
- test('Stop and remove workspace', async () => {
92
- if (TestConstants.TS_DELETE_PLUGINS_TEST_WORKSPACE === 'true') {
93
- await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests.getWorkspaceName());
94
- return;
95
- }
96
-
97
- Logger.info(`As far as the "TS_DELETE_PLUGINS_TEST_WORKSPACE" value is "false the workspace deletion is skipped"`);
98
- });
99
- });
100
- });
@@ -1,85 +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 { e2eContainer } from '../../../inversify.config';
12
- import { CLASSES } from '../../../inversify.types';
13
- import { Ide } from '../../../pageobjects/ide/theia/Ide';
14
- import { ProjectTree } from '../../../pageobjects/ide/theia/ProjectTree';
15
- import { Editor } from '../../../pageobjects/ide/theia/Editor';
16
- import { TestConstants } from '../../../TestConstants';
17
- import { TimeoutConstants } from '../../../TimeoutConstants';
18
- import { Terminal } from '../../../pageobjects/ide/theia/Terminal';
19
- import { Logger } from '../../../utils/Logger';
20
- import { WorkspaceHandlingTests } from '../../../testsLibrary/WorkspaceHandlingTests';
21
- import { BrowserTabsUtil } from '../../../utils/BrowserTabsUtil';
22
- import { Key } from 'selenium-webdriver';
23
-
24
- const ide: Ide = e2eContainer.get(CLASSES.Ide);
25
- const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
26
- const editor: Editor = e2eContainer.get(CLASSES.Editor);
27
- const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
28
- const terminal: Terminal = e2eContainer.get(CLASSES.Terminal);
29
- const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
30
-
31
- const devfileUrl: string = 'https://raw.githubusercontent.com/eclipse/che/main/tests/e2e/files/devfiles/plugins/VscodeValePlugin.yaml';
32
- const factoryUrl: string = `${TestConstants.TS_SELENIUM_BASE_URL}/f?url=${devfileUrl}`;
33
- const projectName: string = 'che-docs';
34
- const pathToFile: string = `${projectName}/modules/administration-guide/partials`;
35
- const docFileName: string = 'assembly_authenticating-users.adoc';
36
-
37
- suite('The "VscodeValePlugin" userstory', async () => {
38
- suite('Create workspace', async () => {
39
- test('Create workspace using factory', async () => {
40
- await browserTabsUtil.navigateTo(factoryUrl);
41
- });
42
-
43
- workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
44
-
45
- test('Wait until created workspace is started', async () => {
46
- await ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
47
- await ide.waitNotificationAndClickOnButton('Do you trust the authors of', 'Yes, I trust', 60_000);
48
- });
49
- });
50
-
51
- suite('Check workspace readiness to work', async () => {
52
- test('Wait until project is imported', async () => {
53
- await projectTree.openProjectTreeContainer();
54
- await projectTree.waitProjectImported(projectName, 'modules');
55
- });
56
- });
57
-
58
- suite('Check the "vale" plugin', async () => {
59
- test('Check warning in the editor appearance', async () => {
60
- await projectTree.expandPathAndOpenFile(pathToFile, docFileName);
61
- await editor.waitInfoInLine(16, docFileName);
62
- });
63
-
64
- test('Open the "Problems" terminal tab', async () => {
65
- await editor.type(docFileName, Key.chord(Key.CONTROL, Key.SHIFT, 'm'), 3);
66
- await terminal.waitTab('Problems', 60_000);
67
- });
68
-
69
- test('Check the vale plugin output in the "Problems" tab', async () => {
70
- await terminal.waitTextInProblemsTab('Keep sentences short and to the point', 60_000);
71
- });
72
-
73
- });
74
-
75
- suite('Stopping and deleting the workspace', async () => {
76
- test('Stop and remove workspace', async () => {
77
- if (TestConstants.TS_DELETE_PLUGINS_TEST_WORKSPACE === 'true') {
78
- await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests.getWorkspaceName());
79
- return;
80
- }
81
-
82
- Logger.info(`As far as the "TS_DELETE_PLUGINS_TEST_WORKSPACE" value is "false the workspace deletion is skipped"`);
83
- });
84
- });
85
- });
@@ -1,104 +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 { e2eContainer } from '../../../inversify.config';
12
- import { CLASSES } from '../../../inversify.types';
13
- import { ProjectTree } from '../../../pageobjects/ide/theia/ProjectTree';
14
- import { Editor } from '../../../pageobjects/ide/theia/Editor';
15
- import { TestConstants } from '../../../TestConstants';
16
- import { WorkspaceHandlingTests } from '../../../testsLibrary/WorkspaceHandlingTests';
17
- import { BrowserTabsUtil } from '../../../utils/BrowserTabsUtil';
18
- import { PreferencesHandlerTheia } from '../../../utils/theia/PreferencesHandlerTheia';
19
- import { ProjectAndFileTestsTheia } from '../../../testsLibrary/theia/ProjectAndFileTestsTheia';
20
- import { Key } from 'selenium-webdriver';
21
-
22
- const projectAndFileTests: ProjectAndFileTestsTheia = e2eContainer.get(CLASSES.ProjectAndFileTestsTheia);
23
- const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
24
- const editor: Editor = e2eContainer.get(CLASSES.Editor);
25
- const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
26
- const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
27
- const preferencesHandler: PreferencesHandlerTheia = e2eContainer.get(CLASSES.PreferencesHandlerTheia);
28
-
29
- const devfileUrl: string = TestConstants.TS_TEST_WORKSPACE_DEVFILE_REPO || 'https://github.com/che-samples/web-nodejs-sample/tree/xml-plugin';
30
- const factoryUrl: string = `${TestConstants.TS_SELENIUM_BASE_URL}/f?url=${devfileUrl}`;
31
- const projectName: string = 'web-nodejs-sample';
32
- const pathToFile: string = `${projectName}`;
33
- const xmlFileName: string = 'hello.xml';
34
- const subRootFolder: string = 'app';
35
-
36
- suite('The "VscodeXmlPlugin" userstory', async () => {
37
- suite('Create workspace', async () => {
38
- test('Create workspace using factory', async () => {
39
- await browserTabsUtil.navigateTo(factoryUrl);
40
- });
41
-
42
- workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
43
-
44
- projectAndFileTests.waitWorkspaceReadiness(projectName, subRootFolder);
45
- });
46
-
47
- suite('Check the "vscode-xml" plugin', async () => {
48
- test('Set confirmExit preference to never', async () => {
49
- await preferencesHandler.setPreferenceUsingUI('application.confirmExit', 'never');
50
- });
51
-
52
- test('Check autocomplete', async () => {
53
- await projectTree.expandPathAndOpenFile(pathToFile, xmlFileName);
54
- await editor.waitSuggestion(xmlFileName, 'rollback', 60000, 16, 4);
55
- });
56
-
57
- test('Check error appearance', async () => {
58
- await projectTree.expandPathAndOpenFile(pathToFile, xmlFileName);
59
-
60
- await editor.type(xmlFileName, '\$\%\^\#', 16);
61
- await editor.waitErrorInLine(16, xmlFileName);
62
- });
63
-
64
- test('Check error disappearance', async () => {
65
- await editor.performKeyCombination(xmlFileName, Key.chord(Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE));
66
- await editor.waitErrorInLineDisappearance(16, xmlFileName);
67
- });
68
-
69
- test('Check auto-close tags', async () => {
70
- await projectTree.expandPathAndOpenFile(pathToFile, xmlFileName);
71
-
72
- await editor.type(xmlFileName, '<test>', 21);
73
- await editor.waitText(xmlFileName, '<test></test>', 60000, 10000);
74
-
75
- await editor.performKeyCombination(xmlFileName, Key.chord(Key.CONTROL, 'z'));
76
- await editor.performKeyCombination(xmlFileName, Key.chord(Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE, Key.BACK_SPACE));
77
- });
78
-
79
- test('To unformat the "xml" file', async () => {
80
- const expectedTextBeforeFormating: string = '<constant >Hello World!!!';
81
- await projectTree.expandPathAndOpenFile(pathToFile, xmlFileName);
82
-
83
- await editor.selectTab(xmlFileName);
84
- await editor.moveCursorToLineAndChar(xmlFileName, 25, 22);
85
- await editor.performKeyCombination(xmlFileName, Key.chord(Key.SPACE, Key.SPACE, Key.SPACE, Key.SPACE));
86
- await editor.waitText(xmlFileName, expectedTextBeforeFormating, 60000, 10000);
87
- });
88
-
89
- test('To format the "xml" document', async () => {
90
- const expectedTextAfterFormating: string = '<constant>Hello World!!!';
91
-
92
- await editor.type(xmlFileName, Key.chord(Key.CONTROL, Key.SHIFT, 'I'), 25);
93
- await editor.waitText(xmlFileName, expectedTextAfterFormating, 60000, 10000);
94
- });
95
-
96
- });
97
-
98
- suite ('Stopping and deleting the workspace', async () => {
99
- test('Stop and remove workspace', async () => {
100
- await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests.getWorkspaceName());
101
- });
102
- });
103
-
104
- });
@@ -1,99 +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 { e2eContainer } from '../../../inversify.config';
12
- import { CLASSES } from '../../../inversify.types';
13
- import { ProjectTree } from '../../../pageobjects/ide/theia/ProjectTree';
14
- import { Editor } from '../../../pageobjects/ide/theia/Editor';
15
- import { TestConstants } from '../../../TestConstants';
16
- import { WorkspaceHandlingTests } from '../../../testsLibrary/WorkspaceHandlingTests';
17
- import { BrowserTabsUtil } from '../../../utils/BrowserTabsUtil';
18
- import { PreferencesHandlerTheia } from '../../../utils/theia/PreferencesHandlerTheia';
19
- import { ProjectAndFileTestsTheia } from '../../../testsLibrary/theia/ProjectAndFileTestsTheia';
20
- import { Key } from 'selenium-webdriver';
21
-
22
- const projectAndFileTests: ProjectAndFileTestsTheia = e2eContainer.get(CLASSES.ProjectAndFileTestsTheia);
23
- const projectTree: ProjectTree = e2eContainer.get(CLASSES.ProjectTree);
24
- const editor: Editor = e2eContainer.get(CLASSES.Editor);
25
- const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
26
- const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
27
- const preferencesHandler: PreferencesHandlerTheia = e2eContainer.get(CLASSES.PreferencesHandlerTheia);
28
-
29
- const devfileUrl: string = TestConstants.TS_TEST_WORKSPACE_DEVFILE_REPO || 'https://github.com/che-samples/web-nodejs-sample/tree/yaml-plugin';
30
- const factoryUrl: string = `${TestConstants.TS_SELENIUM_BASE_URL}/f?url=${devfileUrl}`;
31
- const projectName: string = 'web-nodejs-sample';
32
- const subRootFolder: string = 'app';
33
- const pathToFile: string = `${projectName}`;
34
- const yamlFileName: string = 'routes.yaml';
35
- const yamlSchema = { 'yaml-schema.json': '*.yaml' };
36
-
37
- suite('The "VscodeYamlPlugin" userstory', async () => {
38
- suite('Create workspace', async () => {
39
- test('Create workspace using factory', async () => {
40
- await browserTabsUtil.navigateTo(factoryUrl);
41
- });
42
-
43
- workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
44
-
45
- projectAndFileTests.waitWorkspaceReadiness(projectName, subRootFolder);
46
- });
47
-
48
- suite('Check the "vscode-yaml" plugin', async () => {
49
- test('Set confirmExit preference to never', async () => {
50
- await preferencesHandler.setPreferenceUsingUI('application.confirmExit', 'never');
51
- });
52
-
53
- test('Set the yaml schema path', async () => {
54
- await preferencesHandler.setPreferenceUsingUI('yaml.schemas', yamlSchema);
55
- });
56
-
57
- test('Check autocomplete', async () => {
58
- await projectTree.expandPathAndOpenFile(pathToFile, yamlFileName);
59
- await editor.waitSuggestion(yamlFileName, 'from', 60000, 18, 5);
60
- });
61
-
62
- test('Check error appearance', async () => {
63
- await projectTree.expandPathAndOpenFile(pathToFile, yamlFileName);
64
-
65
- await editor.type(yamlFileName, Key.SPACE, 20);
66
- await editor.waitErrorInLine(20, yamlFileName);
67
- });
68
-
69
- test('Check error disappearance', async () => {
70
- await editor.performKeyCombination(yamlFileName, Key.BACK_SPACE);
71
- await editor.waitErrorInLineDisappearance(20, yamlFileName);
72
- });
73
-
74
- test('To unformat the "yaml" file', async () => {
75
- const expectedTextBeforeFormating: string = 'uri: "timer:tick"';
76
- await projectTree.expandPathAndOpenFile(pathToFile, yamlFileName);
77
-
78
- await editor.selectTab(yamlFileName);
79
- await editor.moveCursorToLineAndChar(yamlFileName, 19, 10);
80
- await editor.performKeyCombination(yamlFileName, Key.chord(Key.SPACE, Key.SPACE, Key.SPACE, Key.SPACE));
81
- await editor.waitText(yamlFileName, expectedTextBeforeFormating, 60000, 10000);
82
- });
83
-
84
- test('To format the "yaml" document', async () => {
85
- const expectedTextAfterFormating: string = 'uri: "timer:tick"';
86
-
87
- await editor.type(yamlFileName, Key.chord(Key.CONTROL, Key.SHIFT, 'I'), 19);
88
- await editor.waitText(yamlFileName, expectedTextAfterFormating, 60000, 10000);
89
- });
90
-
91
- });
92
-
93
- suite ('Stopping and deleting the workspace', async () => {
94
- test('Stop and remove workspace', async () => {
95
- await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests.getWorkspaceName());
96
- });
97
- });
98
-
99
- });
@@ -1,220 +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 Axios from 'axios';
13
- import { CLASSES } from '../../inversify.types';
14
- import { inject, injectable } from 'inversify';
15
- import { By, error, Key } from 'selenium-webdriver';
16
- import { Ide } from '../../pageobjects/ide/theia/Ide';
17
- import { Terminal } from '../../pageobjects/ide/theia/Terminal';
18
- import { TopMenu } from '../../pageobjects/ide/theia/TopMenu';
19
- import { DialogWindow } from '../../pageobjects/ide/theia/DialogWindow';
20
- import { DriverHelper } from '../../utils/DriverHelper';
21
- import { Logger } from '../../utils/Logger';
22
- import { QuickOpenContainer } from '../../pageobjects/ide/theia/QuickOpenContainer';
23
- import { WorkspaceHandlingTests } from '../WorkspaceHandlingTests';
24
- import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
25
-
26
- @injectable()
27
- export class CodeExecutionTestsTheia {
28
-
29
- private static lastApplicationUrl: string = '';
30
-
31
- constructor(
32
- @inject(CLASSES.Terminal) private readonly terminal: Terminal,
33
- @inject(CLASSES.TopMenu) private readonly topMenu: TopMenu,
34
- @inject(CLASSES.Ide) private readonly ide: Ide,
35
- @inject(CLASSES.DialogWindow) private readonly dialogWindow: DialogWindow,
36
- @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
37
- @inject(CLASSES.QuickOpenContainer) private readonly quickOpenContainer: QuickOpenContainer,
38
- @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil,
39
- @inject(CLASSES.WorkspaceHandlingTests) private readonly workspaceHandlingTests: WorkspaceHandlingTests) {}
40
-
41
- public runTask(taskName: string, timeout: number) {
42
- test(`Run command '${taskName}'`, async () => {
43
- await this.runTaskUsingQuickOpenContainer(taskName);
44
- await this.terminal.waitIconSuccess(taskName, timeout);
45
- });
46
- }
47
-
48
- public runTaskInputText(taskName: string, expectedQuery: string, inputText: string, timeout: number) {
49
- test(`Run command '${taskName}' expecting dialog shell`, async () => {
50
- await this.runTaskUsingQuickOpenContainer(taskName);
51
- await this.terminal.waitText(taskName, expectedQuery, timeout);
52
- await this.terminal.clickOnTab(taskName);
53
- await this.terminal.type(taskName, inputText);
54
- await this.terminal.type(taskName, Key.ENTER);
55
- await this.terminal.waitIconSuccess(taskName, timeout);
56
- });
57
- }
58
-
59
- public runTaskConsoleOutput(taskName: string, expectedText: string, timeout: number) {
60
- test(`Run command '${taskName}' expecting console putput: ${expectedText}`, async () => {
61
- await this.runTaskUsingQuickOpenContainer(taskName);
62
- await this.terminal.waitText(taskName, expectedText, timeout);
63
- });
64
- }
65
-
66
- public runTaskWithDialogShellAndOpenLink(taskName: string, expectedDialogText: string, timeout: number) {
67
- test(`Run command '${taskName}' expecting dialog shell`, async () => {
68
- await this.runTaskUsingQuickOpenContainer(taskName);
69
- this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
70
- await this.dialogWindow.waitDialogAndOpenLink(expectedDialogText, timeout);
71
- });
72
- }
73
-
74
- public runTaskWithDialogShellDjangoWorkaround(taskName: string, expectedDialogText: string, urlSubPath: string, timeout: number) {
75
- test(`Run command '${taskName}' expecting dialog shell`, async () => {
76
- await this.runTaskUsingQuickOpenContainer(taskName);
77
- await this.dialogWindow.waitDialog(expectedDialogText, timeout);
78
- const dialogRedirectUrl: string = await this.dialogWindow.getApplicationUrlFromDialog(expectedDialogText);
79
- const augmentedPreviewUrl: string = dialogRedirectUrl + urlSubPath;
80
- await this.dialogWindow.closeDialog();
81
- await this.dialogWindow.waitDialogDissappearance();
82
- await this.driverHelper.getDriver().wait(async () => {
83
- try {
84
- const res = await Axios.get(augmentedPreviewUrl);
85
- if (res.status === 200) { return true; }
86
- } catch (error) { await this.driverHelper.wait(1_000); }
87
- }, timeout);
88
- });
89
- }
90
-
91
- public runTaskWithDialogShellAndClose(taskName: string, expectedDialogText: string, timeout: number) {
92
- test(`Run command '${taskName}' expecting dialog shell`, async () => {
93
- await this.runTaskUsingQuickOpenContainer(taskName);
94
- await this.dialogWindow.waitDialog(expectedDialogText, timeout);
95
- await this.dialogWindow.closeDialog();
96
- await this.dialogWindow.waitDialogDissappearance();
97
- });
98
- }
99
-
100
- public runTaskWithNotification(taskName: string, notificationText: string, timeout: number) {
101
- test(`Run command '${taskName}' expecting notification pops up`, async () => {
102
- await this.runTaskUsingQuickOpenContainer(taskName);
103
- await this.ide.waitNotification(notificationText, timeout);
104
- });
105
- }
106
-
107
- public runTaskWithNotificationAndOpenLink(taskName: string, notificationText: string, buttonText: string, timeout: number) {
108
- test(`Run command '${taskName}' expecting notification`, async () => {
109
- await this.runTaskUsingQuickOpenContainer(taskName);
110
- await this.ide.waitNotification(notificationText, timeout);
111
- // need delay because a test application is not accessible immediately - it needs time.
112
- // later can be improved (we can get and request the app. URL with axios until it is available)
113
- // 7 sec is approximate value for most cases
114
- await this.driverHelper.wait(7_000);
115
- this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
116
- await this.ide.clickOnNotificationButton(notificationText, buttonText);
117
- await this.driverHelper.wait(5_000);
118
- CodeExecutionTestsTheia.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
119
- });
120
- }
121
-
122
- /**
123
- * @deprecated This method should not be used, preview widget is no longer a valid page fragment.
124
- */
125
- public runTaskWithNotificationAndOpenLinkPreviewNoUrl(taskName: string, notificationText: string, timeout: number) {
126
- test(`Run command '${taskName}' expecting notification`, async () => {
127
- await this.runTaskUsingQuickOpenContainer(taskName);
128
- await this.ide.waitNotification(notificationText, timeout);
129
- this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
130
- await this.ide.clickOnNotificationButton(notificationText, 'Open In Preview');
131
- await this.driverHelper.wait(5_000);
132
- CodeExecutionTestsTheia.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
133
- });
134
- }
135
-
136
- public runTaskWithNotificationAndOpenLinkUnexposedPort(taskName: string, notificationText: string, portOpenText: string, timeout: number) {
137
- test(`Run command '${taskName}' expecting notification with unexposed port`, async () => {
138
- await this.runTaskUsingQuickOpenContainer(taskName);
139
- await this.ide.waitNotificationAndConfirm(notificationText, timeout);
140
- this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
141
- await this.ide.waitNotificationAndOpenLink(portOpenText, timeout);
142
- await this.driverHelper.wait(5_000);
143
- CodeExecutionTestsTheia.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
144
- });
145
- }
146
-
147
- public verifyRunningApplication(locator: By, applicationCheckTimeout: number, polling: number) {
148
- test(`Verify running application by locator: '${locator}'`, async () => {
149
- let timeout: number = applicationCheckTimeout / polling;
150
- let attempts: number = applicationCheckTimeout / timeout;
151
- for (let i = 0; i < attempts; i++) {
152
- try {
153
- await this.driverHelper.waitPresence(locator, timeout);
154
- } catch (err) {
155
- if (err instanceof error.TimeoutError) {
156
- if (i === attempts - 1) {
157
- Logger.error(`CodeExecutionTests.verifyRunningApplication out of retries to wait for ${locator} presence.`);
158
- throw err;
159
- } else {
160
- Logger.trace(`CodeExecutionTests.verifyRunningApplication timed out waiting for ${locator} presence. Retrying ${i}.`);
161
- }
162
- } else {
163
- Logger.error(`CodeExecutionTests.verifyRunningApplication failed with unexpected exception.`);
164
- throw err;
165
- }
166
- }
167
- }
168
- });
169
- }
170
-
171
- public getLastApplicationUrl(): string {
172
- return CodeExecutionTestsTheia.lastApplicationUrl;
173
- }
174
-
175
- /**
176
- * @deprecated This method should not be used, preview widget is no longer a valid page fragment.
177
- */
178
- public refreshPreviewWindow() {
179
- test('Refreshing preview widget', async () => {
180
- Logger.warn(`Method is deprecated.`);
181
- });
182
- }
183
-
184
- /**
185
- * @deprecated This method should not be used, preview widget is no longer a valid page fragment.
186
- */
187
- public closePreviewWidget() {
188
- test('Close preview widget', async () => {
189
- Logger.warn(`Method is deprecated.`);
190
- });
191
- }
192
-
193
- public waitTerminalPresent(terminalTabName: string, timeout: number) {
194
- test('Wait terminal presence', async () => {
195
- await this.terminal.waitTab(terminalTabName, timeout);
196
- await this.driverHelper.wait(5000);
197
- });
198
- }
199
-
200
- public closeTerminal(taskName: string) {
201
- test('Close the terminal tasks', async () => {
202
- await this.ide.closeAllNotifications();
203
- await this.terminal.rejectTerminalProcess(taskName);
204
- await this.terminal.closeTerminalTab(taskName);
205
- await this.dialogWindow.waitAndCloseIfAppear();
206
- });
207
- }
208
-
209
- private async runTaskUsingQuickOpenContainer(taskName: string) {
210
- await this.topMenu.selectOption('Terminal', 'Run Task...');
211
- try {
212
- await this.quickOpenContainer.waitContainer();
213
- } catch (err) {
214
- Logger.warn(`CodeExecutionTests.runTaskInputText quickOpenContainer failed to open, retrying.`);
215
- await this.topMenu.selectOption('Terminal', 'Run Task...');
216
- await this.quickOpenContainer.waitContainer();
217
- }
218
- await this.quickOpenContainer.type(`${taskName}${Key.ENTER}`);
219
- }
220
- }