@eclipse-che/che-e2e 7.39.0

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 (565) hide show
  1. package/README.md +86 -0
  2. package/TestConstants.ts +263 -0
  3. package/TimeoutConstants.ts +220 -0
  4. package/dist/TestConstants.d.ts +206 -0
  5. package/dist/TestConstants.d.ts.map +1 -0
  6. package/dist/TestConstants.js +216 -0
  7. package/dist/TestConstants.js.map +1 -0
  8. package/dist/TimeoutConstants.d.ts +164 -0
  9. package/dist/TimeoutConstants.d.ts.map +1 -0
  10. package/dist/TimeoutConstants.js +175 -0
  11. package/dist/TimeoutConstants.js.map +1 -0
  12. package/dist/driver/CheReporter.d.ts +18 -0
  13. package/dist/driver/CheReporter.d.ts.map +1 -0
  14. package/dist/driver/CheReporter.js +180 -0
  15. package/dist/driver/CheReporter.js.map +1 -0
  16. package/dist/driver/ChromeDriver.d.ts +21 -0
  17. package/dist/driver/ChromeDriver.d.ts.map +1 -0
  18. package/dist/driver/ChromeDriver.js +75 -0
  19. package/dist/driver/ChromeDriver.js.map +1 -0
  20. package/dist/driver/IDriver.d.ts +14 -0
  21. package/dist/driver/IDriver.d.ts.map +1 -0
  22. package/dist/driver/IDriver.js +3 -0
  23. package/dist/driver/IDriver.js.map +1 -0
  24. package/dist/index.d.ts +67 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +92 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/inversify.config.d.ts +13 -0
  29. package/dist/inversify.config.d.ts.map +1 -0
  30. package/dist/inversify.config.js +126 -0
  31. package/dist/inversify.config.js.map +1 -0
  32. package/dist/inversify.types.d.ts +68 -0
  33. package/dist/inversify.types.d.ts.map +1 -0
  34. package/dist/inversify.types.js +72 -0
  35. package/dist/inversify.types.js.map +1 -0
  36. package/dist/pageobjects/dashboard/CreateWorkspace.d.ts +20 -0
  37. package/dist/pageobjects/dashboard/CreateWorkspace.d.ts.map +1 -0
  38. package/dist/pageobjects/dashboard/CreateWorkspace.js +65 -0
  39. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
  40. package/dist/pageobjects/dashboard/Dashboard.d.ts +24 -0
  41. package/dist/pageobjects/dashboard/Dashboard.d.ts.map +1 -0
  42. package/dist/pageobjects/dashboard/Dashboard.js +111 -0
  43. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
  44. package/dist/pageobjects/dashboard/Workspaces.d.ts +44 -0
  45. package/dist/pageobjects/dashboard/Workspaces.d.ts.map +1 -0
  46. package/dist/pageobjects/dashboard/Workspaces.js +157 -0
  47. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
  48. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.d.ts +42 -0
  49. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.d.ts.map +1 -0
  50. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
  51. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
  52. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.d.ts +29 -0
  53. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.d.ts.map +1 -0
  54. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
  55. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
  56. package/dist/pageobjects/ide/ContextMenu.d.ts +22 -0
  57. package/dist/pageobjects/ide/ContextMenu.d.ts.map +1 -0
  58. package/dist/pageobjects/ide/ContextMenu.js +66 -0
  59. package/dist/pageobjects/ide/ContextMenu.js.map +1 -0
  60. package/dist/pageobjects/ide/DebugView.d.ts +32 -0
  61. package/dist/pageobjects/ide/DebugView.d.ts.map +1 -0
  62. package/dist/pageobjects/ide/DebugView.js +98 -0
  63. package/dist/pageobjects/ide/DebugView.js.map +1 -0
  64. package/dist/pageobjects/ide/DialogWindow.d.ts +28 -0
  65. package/dist/pageobjects/ide/DialogWindow.d.ts.map +1 -0
  66. package/dist/pageobjects/ide/DialogWindow.js +102 -0
  67. package/dist/pageobjects/ide/DialogWindow.js.map +1 -0
  68. package/dist/pageobjects/ide/Editor.d.ts +78 -0
  69. package/dist/pageobjects/ide/Editor.d.ts.map +1 -0
  70. package/dist/pageobjects/ide/Editor.js +463 -0
  71. package/dist/pageobjects/ide/Editor.js.map +1 -0
  72. package/dist/pageobjects/ide/Ide.d.ts +61 -0
  73. package/dist/pageobjects/ide/Ide.d.ts.map +1 -0
  74. package/dist/pageobjects/ide/Ide.js +312 -0
  75. package/dist/pageobjects/ide/Ide.js.map +1 -0
  76. package/dist/pageobjects/ide/LeftToolBar.d.ts +23 -0
  77. package/dist/pageobjects/ide/LeftToolBar.d.ts.map +1 -0
  78. package/dist/pageobjects/ide/LeftToolBar.js +81 -0
  79. package/dist/pageobjects/ide/LeftToolBar.js.map +1 -0
  80. package/dist/pageobjects/ide/NavigationBar.d.ts +9 -0
  81. package/dist/pageobjects/ide/NavigationBar.d.ts.map +1 -0
  82. package/dist/pageobjects/ide/NavigationBar.js +57 -0
  83. package/dist/pageobjects/ide/NavigationBar.js.map +1 -0
  84. package/dist/pageobjects/ide/NotificationCenter.d.ts +22 -0
  85. package/dist/pageobjects/ide/NotificationCenter.d.ts.map +1 -0
  86. package/dist/pageobjects/ide/NotificationCenter.js +76 -0
  87. package/dist/pageobjects/ide/NotificationCenter.js.map +1 -0
  88. package/dist/pageobjects/ide/OpenDialogWidget.d.ts +36 -0
  89. package/dist/pageobjects/ide/OpenDialogWidget.d.ts.map +1 -0
  90. package/dist/pageobjects/ide/OpenDialogWidget.js +100 -0
  91. package/dist/pageobjects/ide/OpenDialogWidget.js.map +1 -0
  92. package/dist/pageobjects/ide/OpenWorkspaceWidget.d.ts +17 -0
  93. package/dist/pageobjects/ide/OpenWorkspaceWidget.d.ts.map +1 -0
  94. package/dist/pageobjects/ide/OpenWorkspaceWidget.js +62 -0
  95. package/dist/pageobjects/ide/OpenWorkspaceWidget.js.map +1 -0
  96. package/dist/pageobjects/ide/PreviewWidget.d.ts +35 -0
  97. package/dist/pageobjects/ide/PreviewWidget.d.ts.map +1 -0
  98. package/dist/pageobjects/ide/PreviewWidget.js +127 -0
  99. package/dist/pageobjects/ide/PreviewWidget.js.map +1 -0
  100. package/dist/pageobjects/ide/ProjectTree.d.ts +53 -0
  101. package/dist/pageobjects/ide/ProjectTree.d.ts.map +1 -0
  102. package/dist/pageobjects/ide/ProjectTree.js +275 -0
  103. package/dist/pageobjects/ide/ProjectTree.js.map +1 -0
  104. package/dist/pageobjects/ide/QuickOpenContainer.d.ts +20 -0
  105. package/dist/pageobjects/ide/QuickOpenContainer.d.ts.map +1 -0
  106. package/dist/pageobjects/ide/QuickOpenContainer.js +70 -0
  107. package/dist/pageobjects/ide/QuickOpenContainer.js.map +1 -0
  108. package/dist/pageobjects/ide/RightToolBar.d.ts +8 -0
  109. package/dist/pageobjects/ide/RightToolBar.d.ts.map +1 -0
  110. package/dist/pageobjects/ide/RightToolBar.js +51 -0
  111. package/dist/pageobjects/ide/RightToolBar.js.map +1 -0
  112. package/dist/pageobjects/ide/Terminal.d.ts +36 -0
  113. package/dist/pageobjects/ide/Terminal.d.ts.map +1 -0
  114. package/dist/pageobjects/ide/Terminal.js +204 -0
  115. package/dist/pageobjects/ide/Terminal.js.map +1 -0
  116. package/dist/pageobjects/ide/TopMenu.d.ts +28 -0
  117. package/dist/pageobjects/ide/TopMenu.d.ts.map +1 -0
  118. package/dist/pageobjects/ide/TopMenu.js +109 -0
  119. package/dist/pageobjects/ide/TopMenu.js.map +1 -0
  120. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.d.ts +36 -0
  121. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.d.ts.map +1 -0
  122. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js +128 -0
  123. package/dist/pageobjects/ide/plugins/GitHubPullRequestPlugin.js.map +1 -0
  124. package/dist/pageobjects/ide/plugins/GitPlugin.d.ts +35 -0
  125. package/dist/pageobjects/ide/plugins/GitPlugin.d.ts.map +1 -0
  126. package/dist/pageobjects/ide/plugins/GitPlugin.js +120 -0
  127. package/dist/pageobjects/ide/plugins/GitPlugin.js.map +1 -0
  128. package/dist/pageobjects/ide/plugins/KubernetesPlugin.d.ts +32 -0
  129. package/dist/pageobjects/ide/plugins/KubernetesPlugin.d.ts.map +1 -0
  130. package/dist/pageobjects/ide/plugins/KubernetesPlugin.js +107 -0
  131. package/dist/pageobjects/ide/plugins/KubernetesPlugin.js.map +1 -0
  132. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.d.ts +38 -0
  133. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.d.ts.map +1 -0
  134. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js +99 -0
  135. package/dist/pageobjects/ide/plugins/OpenshiftPlugin.js.map +1 -0
  136. package/dist/pageobjects/ide/plugins/PluginsView.d.ts +43 -0
  137. package/dist/pageobjects/ide/plugins/PluginsView.d.ts.map +1 -0
  138. package/dist/pageobjects/ide/plugins/PluginsView.js +166 -0
  139. package/dist/pageobjects/ide/plugins/PluginsView.js.map +1 -0
  140. package/dist/pageobjects/login/ICheLoginPage.d.ts +13 -0
  141. package/dist/pageobjects/login/ICheLoginPage.d.ts.map +1 -0
  142. package/dist/pageobjects/login/ICheLoginPage.js +12 -0
  143. package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
  144. package/dist/pageobjects/login/IOcpLoginPage.d.ts +13 -0
  145. package/dist/pageobjects/login/IOcpLoginPage.d.ts.map +1 -0
  146. package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
  147. package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
  148. package/dist/pageobjects/login/MultiUserLoginPage.d.ts +18 -0
  149. package/dist/pageobjects/login/MultiUserLoginPage.d.ts.map +1 -0
  150. package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
  151. package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
  152. package/dist/pageobjects/login/OcpUserLoginPage.d.ts +18 -0
  153. package/dist/pageobjects/login/OcpUserLoginPage.d.ts.map +1 -0
  154. package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
  155. package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
  156. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.d.ts +20 -0
  157. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.d.ts.map +1 -0
  158. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +75 -0
  159. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
  160. package/dist/pageobjects/login/UpdateAccountInformationPage.d.ts +24 -0
  161. package/dist/pageobjects/login/UpdateAccountInformationPage.d.ts.map +1 -0
  162. package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
  163. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
  164. package/dist/pageobjects/openshift/CheLoginPage.d.ts +27 -0
  165. package/dist/pageobjects/openshift/CheLoginPage.d.ts.map +1 -0
  166. package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
  167. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
  168. package/dist/pageobjects/openshift/OcpLoginPage.d.ts +30 -0
  169. package/dist/pageobjects/openshift/OcpLoginPage.d.ts.map +1 -0
  170. package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
  171. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
  172. package/dist/pageobjects/third-parties/GitLoginPage.d.ts +27 -0
  173. package/dist/pageobjects/third-parties/GitLoginPage.d.ts.map +1 -0
  174. package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
  175. package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
  176. package/dist/pageobjects/third-parties/GitOauthAppsSettings.d.ts +33 -0
  177. package/dist/pageobjects/third-parties/GitOauthAppsSettings.d.ts.map +1 -0
  178. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
  179. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
  180. package/dist/tests/devfiles/CSlashCPlusPlus.spec.d.ts +12 -0
  181. package/dist/tests/devfiles/CSlashCPlusPlus.spec.d.ts.map +1 -0
  182. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js +74 -0
  183. package/dist/tests/devfiles/CSlashCPlusPlus.spec.js.map +1 -0
  184. package/dist/tests/devfiles/DevfileSmoke.spec.d.ts +11 -0
  185. package/dist/tests/devfiles/DevfileSmoke.spec.d.ts.map +1 -0
  186. package/dist/tests/devfiles/DevfileSmoke.spec.js +48 -0
  187. package/dist/tests/devfiles/DevfileSmoke.spec.js.map +1 -0
  188. package/dist/tests/devfiles/DotNetCore.spec.d.ts +12 -0
  189. package/dist/tests/devfiles/DotNetCore.spec.d.ts.map +1 -0
  190. package/dist/tests/devfiles/DotNetCore.spec.js +82 -0
  191. package/dist/tests/devfiles/DotNetCore.spec.js.map +1 -0
  192. package/dist/tests/devfiles/Go.spec.d.ts +2 -0
  193. package/dist/tests/devfiles/Go.spec.d.ts.map +1 -0
  194. package/dist/tests/devfiles/Go.spec.js +73 -0
  195. package/dist/tests/devfiles/Go.spec.js.map +1 -0
  196. package/dist/tests/devfiles/JavaMaven.spec.d.ts +11 -0
  197. package/dist/tests/devfiles/JavaMaven.spec.d.ts.map +1 -0
  198. package/dist/tests/devfiles/JavaMaven.spec.js +61 -0
  199. package/dist/tests/devfiles/JavaMaven.spec.js.map +1 -0
  200. package/dist/tests/devfiles/JavaSpringBoot.spec.d.ts +11 -0
  201. package/dist/tests/devfiles/JavaSpringBoot.spec.d.ts.map +1 -0
  202. package/dist/tests/devfiles/JavaSpringBoot.spec.js +67 -0
  203. package/dist/tests/devfiles/JavaSpringBoot.spec.js.map +1 -0
  204. package/dist/tests/devfiles/JavaVertx.spec.d.ts +11 -0
  205. package/dist/tests/devfiles/JavaVertx.spec.d.ts.map +1 -0
  206. package/dist/tests/devfiles/JavaVertx.spec.js +61 -0
  207. package/dist/tests/devfiles/JavaVertx.spec.js.map +1 -0
  208. package/dist/tests/devfiles/NodeJS.spec.d.ts +2 -0
  209. package/dist/tests/devfiles/NodeJS.spec.d.ts.map +1 -0
  210. package/dist/tests/devfiles/NodeJS.spec.js +65 -0
  211. package/dist/tests/devfiles/NodeJS.spec.js.map +1 -0
  212. package/dist/tests/devfiles/PHPSimple.spec.d.ts +12 -0
  213. package/dist/tests/devfiles/PHPSimple.spec.d.ts.map +1 -0
  214. package/dist/tests/devfiles/PHPSimple.spec.js +75 -0
  215. package/dist/tests/devfiles/PHPSimple.spec.js.map +1 -0
  216. package/dist/tests/devfiles/Python.spec.d.ts +2 -0
  217. package/dist/tests/devfiles/Python.spec.d.ts.map +1 -0
  218. package/dist/tests/devfiles/Python.spec.js +59 -0
  219. package/dist/tests/devfiles/Python.spec.js.map +1 -0
  220. package/dist/tests/devfiles/PythonDjango.spec.d.ts +2 -0
  221. package/dist/tests/devfiles/PythonDjango.spec.d.ts.map +1 -0
  222. package/dist/tests/devfiles/PythonDjango.spec.js +62 -0
  223. package/dist/tests/devfiles/PythonDjango.spec.js.map +1 -0
  224. package/dist/tests/devfiles/Quarkus.spec.d.ts +2 -0
  225. package/dist/tests/devfiles/Quarkus.spec.d.ts.map +1 -0
  226. package/dist/tests/devfiles/Quarkus.spec.js +70 -0
  227. package/dist/tests/devfiles/Quarkus.spec.js.map +1 -0
  228. package/dist/tests/devfiles/Scala.spec.d.ts +11 -0
  229. package/dist/tests/devfiles/Scala.spec.d.ts.map +1 -0
  230. package/dist/tests/devfiles/Scala.spec.js +67 -0
  231. package/dist/tests/devfiles/Scala.spec.js.map +1 -0
  232. package/dist/tests/e2e/FactoryUrl.spec.d.ts +2 -0
  233. package/dist/tests/e2e/FactoryUrl.spec.d.ts.map +1 -0
  234. package/dist/tests/e2e/FactoryUrl.spec.js +45 -0
  235. package/dist/tests/e2e/FactoryUrl.spec.js.map +1 -0
  236. package/dist/tests/e2e/GitPublishBranch.spec.d.ts +11 -0
  237. package/dist/tests/e2e/GitPublishBranch.spec.d.ts.map +1 -0
  238. package/dist/tests/e2e/GitPublishBranch.spec.js +88 -0
  239. package/dist/tests/e2e/GitPublishBranch.spec.js.map +1 -0
  240. package/dist/tests/e2e/GitSelfSignCert.spec.d.ts +11 -0
  241. package/dist/tests/e2e/GitSelfSignCert.spec.d.ts.map +1 -0
  242. package/dist/tests/e2e/GitSelfSignCert.spec.js +83 -0
  243. package/dist/tests/e2e/GitSelfSignCert.spec.js.map +1 -0
  244. package/dist/tests/e2e/GitSsh.spec.d.ts +11 -0
  245. package/dist/tests/e2e/GitSsh.spec.d.ts.map +1 -0
  246. package/dist/tests/e2e/GitSsh.spec.js +118 -0
  247. package/dist/tests/e2e/GitSsh.spec.js.map +1 -0
  248. package/dist/tests/e2e/OpenshiftConnector.spec.d.ts +11 -0
  249. package/dist/tests/e2e/OpenshiftConnector.spec.d.ts.map +1 -0
  250. package/dist/tests/e2e/OpenshiftConnector.spec.js +122 -0
  251. package/dist/tests/e2e/OpenshiftConnector.spec.js.map +1 -0
  252. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.d.ts +2 -0
  253. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.d.ts.map +1 -0
  254. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +53 -0
  255. package/dist/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
  256. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.d.ts +2 -0
  257. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.d.ts.map +1 -0
  258. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js +51 -0
  259. package/dist/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
  260. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.d.ts +2 -0
  261. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.d.ts.map +1 -0
  262. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +51 -0
  263. package/dist/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
  264. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.d.ts +2 -0
  265. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.d.ts.map +1 -0
  266. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js +200 -0
  267. package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js.map +1 -0
  268. package/dist/tests/e2e_happy_path/HappyPath.spec.d.ts +11 -0
  269. package/dist/tests/e2e_happy_path/HappyPath.spec.d.ts.map +1 -0
  270. package/dist/tests/e2e_happy_path/HappyPath.spec.js +309 -0
  271. package/dist/tests/e2e_happy_path/HappyPath.spec.js.map +1 -0
  272. package/dist/tests/intelij/IntelijOpenWorkspace.spec.d.ts +11 -0
  273. package/dist/tests/intelij/IntelijOpenWorkspace.spec.d.ts.map +1 -0
  274. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +43 -0
  275. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
  276. package/dist/tests/load_test/LoadTest.spec.d.ts +11 -0
  277. package/dist/tests/load_test/LoadTest.spec.d.ts.map +1 -0
  278. package/dist/tests/load_test/LoadTest.spec.js +44 -0
  279. package/dist/tests/load_test/LoadTest.spec.js.map +1 -0
  280. package/dist/tests/login/LinkCheAndOcpUsers.spec.d.ts +11 -0
  281. package/dist/tests/login/LinkCheAndOcpUsers.spec.d.ts.map +1 -0
  282. package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
  283. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
  284. package/dist/tests/login/Login.spec.d.ts +11 -0
  285. package/dist/tests/login/Login.spec.d.ts.map +1 -0
  286. package/dist/tests/login/Login.spec.js +26 -0
  287. package/dist/tests/login/Login.spec.js.map +1 -0
  288. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.d.ts +11 -0
  289. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.d.ts.map +1 -0
  290. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js +122 -0
  291. package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js.map +1 -0
  292. package/dist/tests/plugins/InstallPluginUsingUI.spec.d.ts +11 -0
  293. package/dist/tests/plugins/InstallPluginUsingUI.spec.d.ts.map +1 -0
  294. package/dist/tests/plugins/InstallPluginUsingUI.spec.js +69 -0
  295. package/dist/tests/plugins/InstallPluginUsingUI.spec.js.map +1 -0
  296. package/dist/tests/plugins/JavaPlugin.spec.d.ts +2 -0
  297. package/dist/tests/plugins/JavaPlugin.spec.d.ts.map +1 -0
  298. package/dist/tests/plugins/JavaPlugin.spec.js +82 -0
  299. package/dist/tests/plugins/JavaPlugin.spec.js.map +1 -0
  300. package/dist/tests/plugins/PhpPlugin.spec.d.ts +2 -0
  301. package/dist/tests/plugins/PhpPlugin.spec.d.ts.map +1 -0
  302. package/dist/tests/plugins/PhpPlugin.spec.js +94 -0
  303. package/dist/tests/plugins/PhpPlugin.spec.js.map +1 -0
  304. package/dist/tests/plugins/PythonPlugin.spec.d.ts +11 -0
  305. package/dist/tests/plugins/PythonPlugin.spec.d.ts.map +1 -0
  306. package/dist/tests/plugins/PythonPlugin.spec.js +80 -0
  307. package/dist/tests/plugins/PythonPlugin.spec.js.map +1 -0
  308. package/dist/tests/plugins/TypescriptPlugin.spec.d.ts +11 -0
  309. package/dist/tests/plugins/TypescriptPlugin.spec.d.ts.map +1 -0
  310. package/dist/tests/plugins/TypescriptPlugin.spec.js +147 -0
  311. package/dist/tests/plugins/TypescriptPlugin.spec.js.map +1 -0
  312. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.d.ts +11 -0
  313. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.d.ts.map +1 -0
  314. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js +76 -0
  315. package/dist/tests/plugins/VscodeKubernetesPlugin.spec.js.map +1 -0
  316. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.d.ts +11 -0
  317. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.d.ts.map +1 -0
  318. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js +89 -0
  319. package/dist/tests/plugins/VscodeShellcheckPlugin.spec.js.map +1 -0
  320. package/dist/tests/plugins/VscodeValePlugin.spec.d.ts +11 -0
  321. package/dist/tests/plugins/VscodeValePlugin.spec.d.ts.map +1 -0
  322. package/dist/tests/plugins/VscodeValePlugin.spec.js +77 -0
  323. package/dist/tests/plugins/VscodeValePlugin.spec.js.map +1 -0
  324. package/dist/tests/plugins/VscodeXmlPlugin.spec.d.ts +11 -0
  325. package/dist/tests/plugins/VscodeXmlPlugin.spec.d.ts.map +1 -0
  326. package/dist/tests/plugins/VscodeXmlPlugin.spec.js +98 -0
  327. package/dist/tests/plugins/VscodeXmlPlugin.spec.js.map +1 -0
  328. package/dist/tests/plugins/VscodeYamlPlugin.spec.d.ts +11 -0
  329. package/dist/tests/plugins/VscodeYamlPlugin.spec.d.ts.map +1 -0
  330. package/dist/tests/plugins/VscodeYamlPlugin.spec.js +96 -0
  331. package/dist/tests/plugins/VscodeYamlPlugin.spec.js.map +1 -0
  332. package/dist/testsLibrary/CodeExecutionTests.d.ts +49 -0
  333. package/dist/testsLibrary/CodeExecutionTests.d.ts.map +1 -0
  334. package/dist/testsLibrary/CodeExecutionTests.js +222 -0
  335. package/dist/testsLibrary/CodeExecutionTests.js.map +1 -0
  336. package/dist/testsLibrary/LanguageServerTests.d.ts +36 -0
  337. package/dist/testsLibrary/LanguageServerTests.d.ts.map +1 -0
  338. package/dist/testsLibrary/LanguageServerTests.js +237 -0
  339. package/dist/testsLibrary/LanguageServerTests.js.map +1 -0
  340. package/dist/testsLibrary/ProjectAndFileTests.d.ts +28 -0
  341. package/dist/testsLibrary/ProjectAndFileTests.d.ts.map +1 -0
  342. package/dist/testsLibrary/ProjectAndFileTests.js +100 -0
  343. package/dist/testsLibrary/ProjectAndFileTests.js.map +1 -0
  344. package/dist/testsLibrary/WorkspaceHandlingTests.d.ts +29 -0
  345. package/dist/testsLibrary/WorkspaceHandlingTests.d.ts.map +1 -0
  346. package/dist/testsLibrary/WorkspaceHandlingTests.js +87 -0
  347. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
  348. package/dist/utils/AnimationChecker.d.ts +16 -0
  349. package/dist/utils/AnimationChecker.d.ts.map +1 -0
  350. package/dist/utils/AnimationChecker.js +45 -0
  351. package/dist/utils/AnimationChecker.js.map +1 -0
  352. package/dist/utils/BrowserTabsUtil.d.ts +28 -0
  353. package/dist/utils/BrowserTabsUtil.d.ts.map +1 -0
  354. package/dist/utils/BrowserTabsUtil.js +115 -0
  355. package/dist/utils/BrowserTabsUtil.js.map +1 -0
  356. package/dist/utils/DriverHelper.d.ts +76 -0
  357. package/dist/utils/DriverHelper.d.ts.map +1 -0
  358. package/dist/utils/DriverHelper.js +616 -0
  359. package/dist/utils/DriverHelper.js.map +1 -0
  360. package/dist/utils/KeycloackUrlHandler.d.ts +15 -0
  361. package/dist/utils/KeycloackUrlHandler.d.ts.map +1 -0
  362. package/dist/utils/KeycloackUrlHandler.js +30 -0
  363. package/dist/utils/KeycloackUrlHandler.js.map +1 -0
  364. package/dist/utils/Logger.d.ts +39 -0
  365. package/dist/utils/Logger.d.ts.map +1 -0
  366. package/dist/utils/Logger.js +84 -0
  367. package/dist/utils/Logger.js.map +1 -0
  368. package/dist/utils/PreferencesHandler.d.ts +52 -0
  369. package/dist/utils/PreferencesHandler.d.ts.map +1 -0
  370. package/dist/utils/PreferencesHandler.js +139 -0
  371. package/dist/utils/PreferencesHandler.js.map +1 -0
  372. package/dist/utils/Sanitizer.d.ts +13 -0
  373. package/dist/utils/Sanitizer.d.ts.map +1 -0
  374. package/dist/utils/Sanitizer.js +29 -0
  375. package/dist/utils/Sanitizer.js.map +1 -0
  376. package/dist/utils/ScreenCatcher.d.ts +12 -0
  377. package/dist/utils/ScreenCatcher.d.ts.map +1 -0
  378. package/dist/utils/ScreenCatcher.js +107 -0
  379. package/dist/utils/ScreenCatcher.js.map +1 -0
  380. package/dist/utils/VCS/CheGitApi.d.ts +8 -0
  381. package/dist/utils/VCS/CheGitApi.d.ts.map +1 -0
  382. package/dist/utils/VCS/CheGitApi.js +42 -0
  383. package/dist/utils/VCS/CheGitApi.js.map +1 -0
  384. package/dist/utils/VCS/github/GitHubUtil.d.ts +15 -0
  385. package/dist/utils/VCS/github/GitHubUtil.d.ts.map +1 -0
  386. package/dist/utils/VCS/github/GitHubUtil.js +106 -0
  387. package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
  388. package/dist/utils/WorkspaceNameHandler.d.ts +17 -0
  389. package/dist/utils/WorkspaceNameHandler.d.ts.map +1 -0
  390. package/dist/utils/WorkspaceNameHandler.js +60 -0
  391. package/dist/utils/WorkspaceNameHandler.js.map +1 -0
  392. package/dist/utils/requestHandlers/CheApiRequestHandler.d.ts +28 -0
  393. package/dist/utils/requestHandlers/CheApiRequestHandler.d.ts.map +1 -0
  394. package/dist/utils/requestHandlers/CheApiRequestHandler.js +100 -0
  395. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
  396. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.d.ts +18 -0
  397. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.d.ts.map +1 -0
  398. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +33 -0
  399. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  400. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.d.ts +14 -0
  401. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.d.ts.map +1 -0
  402. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
  403. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  404. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.d.ts +5 -0
  405. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.d.ts.map +1 -0
  406. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
  407. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
  408. package/dist/utils/requestHandlers/tokens/ITokenHandler.d.ts +13 -0
  409. package/dist/utils/requestHandlers/tokens/ITokenHandler.d.ts.map +1 -0
  410. package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
  411. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
  412. package/dist/utils/workspace/ITestWorkspaceUtil.d.ts +25 -0
  413. package/dist/utils/workspace/ITestWorkspaceUtil.d.ts.map +1 -0
  414. package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
  415. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
  416. package/dist/utils/workspace/TestWorkspaceUtil.d.ts +34 -0
  417. package/dist/utils/workspace/TestWorkspaceUtil.d.ts.map +1 -0
  418. package/dist/utils/workspace/TestWorkspaceUtil.js +233 -0
  419. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
  420. package/dist/utils/workspace/WorkspaceStatus.d.ts +15 -0
  421. package/dist/utils/workspace/WorkspaceStatus.d.ts.map +1 -0
  422. package/dist/utils/workspace/WorkspaceStatus.js +19 -0
  423. package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
  424. package/driver/CheReporter.ts +202 -0
  425. package/driver/ChromeDriver.ts +71 -0
  426. package/driver/IDriver.ts +14 -0
  427. package/files/devfiles/plugins/GitHubPullRequestPlugin.yaml +11 -0
  428. package/files/devfiles/plugins/InstallPluginUsingUI.yaml +3 -0
  429. package/files/devfiles/plugins/Java11PluginTest.yaml +17 -0
  430. package/files/devfiles/plugins/PhpPluginTest.yaml +47 -0
  431. package/files/devfiles/plugins/PythonPluginTest.yaml +14 -0
  432. package/files/devfiles/plugins/TypescriptNodeDebug2PluginTest.yaml +49 -0
  433. package/files/devfiles/plugins/VscodeKubernetesPlugin.yaml +12 -0
  434. package/files/devfiles/plugins/VscodeShellcheckPlugin.yaml +12 -0
  435. package/files/devfiles/plugins/VscodeValePlugin.yaml +42 -0
  436. package/files/devfiles/plugins/VscodeXmlPlugin.yaml +12 -0
  437. package/files/devfiles/plugins/VscodeYamlPlugin.yaml +12 -0
  438. package/files/happy-path/containers-happy-path.yaml +127 -0
  439. package/files/happy-path/happy-path-workspace.yaml +95 -0
  440. package/files/happy-path/petclinic-classpath.txt +49 -0
  441. package/generateIndex.sh +35 -0
  442. package/index.ts +67 -0
  443. package/initDefaultValues.sh +27 -0
  444. package/initDevfileTests.sh +48 -0
  445. package/initPluginTest.sh +9 -0
  446. package/inversify.config.ts +134 -0
  447. package/inversify.types.ts +71 -0
  448. package/mocha-all-devfiles.opts +8 -0
  449. package/mocha-all-factories.opts +8 -0
  450. package/mocha-all-plugins.opts +7 -0
  451. package/mocha-connector.opts +7 -0
  452. package/mocha-devworkspace-happy-path.opts +7 -0
  453. package/mocha-factory.opts +7 -0
  454. package/mocha-git-publish-branch.opts +7 -0
  455. package/mocha-git-self-sign-cert.opts +7 -0
  456. package/mocha-git-ssh.opts +7 -0
  457. package/mocha-happy-path.opts +8 -0
  458. package/mocha-java-vertx.opts +7 -0
  459. package/mocha-load.opts +7 -0
  460. package/mocha-single-devfile.opts +6 -0
  461. package/mocha-wkspc-creation-and-ls.opts +7 -0
  462. package/mocha.intelij.opts +7 -0
  463. package/mocha.ocp.link.opts +6 -0
  464. package/mocha.opts +7 -0
  465. package/mocha.single.plugin.opts +5 -0
  466. package/package.json +59 -0
  467. package/pageobjects/dashboard/CreateWorkspace.ts +58 -0
  468. package/pageobjects/dashboard/Dashboard.ts +112 -0
  469. package/pageobjects/dashboard/Workspaces.ts +189 -0
  470. package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +153 -0
  471. package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +96 -0
  472. package/pageobjects/ide/ContextMenu.ts +55 -0
  473. package/pageobjects/ide/DebugView.ts +88 -0
  474. package/pageobjects/ide/DialogWindow.ts +101 -0
  475. package/pageobjects/ide/Editor.ts +601 -0
  476. package/pageobjects/ide/Ide.ts +370 -0
  477. package/pageobjects/ide/LeftToolBar.ts +81 -0
  478. package/pageobjects/ide/NavigationBar.ts +41 -0
  479. package/pageobjects/ide/NotificationCenter.ts +75 -0
  480. package/pageobjects/ide/OpenDialogWidget.ts +92 -0
  481. package/pageobjects/ide/OpenWorkspaceWidget.ts +48 -0
  482. package/pageobjects/ide/PreviewWidget.ts +135 -0
  483. package/pageobjects/ide/ProjectTree.ts +335 -0
  484. package/pageobjects/ide/QuickOpenContainer.ts +59 -0
  485. package/pageobjects/ide/RightToolBar.ts +34 -0
  486. package/pageobjects/ide/Terminal.ts +245 -0
  487. package/pageobjects/ide/TopMenu.ts +103 -0
  488. package/pageobjects/ide/plugins/GitHubPullRequestPlugin.ts +130 -0
  489. package/pageobjects/ide/plugins/GitPlugin.ts +118 -0
  490. package/pageobjects/ide/plugins/KubernetesPlugin.ts +113 -0
  491. package/pageobjects/ide/plugins/OpenshiftPlugin.ts +87 -0
  492. package/pageobjects/ide/plugins/PluginsView.ts +191 -0
  493. package/pageobjects/login/ICheLoginPage.ts +13 -0
  494. package/pageobjects/login/IOcpLoginPage.ts +13 -0
  495. package/pageobjects/login/MultiUserLoginPage.ts +33 -0
  496. package/pageobjects/login/OcpUserLoginPage.ts +38 -0
  497. package/pageobjects/login/RegularUserOcpCheLoginPage.ts +61 -0
  498. package/pageobjects/login/UpdateAccountInformationPage.ts +70 -0
  499. package/pageobjects/openshift/CheLoginPage.ts +91 -0
  500. package/pageobjects/openshift/OcpLoginPage.ts +113 -0
  501. package/pageobjects/third-parties/GitLoginPage.ts +81 -0
  502. package/pageobjects/third-parties/GitOauthAppsSettings.ts +110 -0
  503. package/tests/devfiles/CSlashCPlusPlus.spec.ts +81 -0
  504. package/tests/devfiles/DevfileSmoke.spec.ts +53 -0
  505. package/tests/devfiles/DotNetCore.spec.ts +90 -0
  506. package/tests/devfiles/Go.spec.ts +84 -0
  507. package/tests/devfiles/JavaMaven.spec.ts +67 -0
  508. package/tests/devfiles/JavaSpringBoot.spec.ts +74 -0
  509. package/tests/devfiles/JavaVertx.spec.ts +68 -0
  510. package/tests/devfiles/NodeJS.spec.ts +74 -0
  511. package/tests/devfiles/PHPSimple.spec.ts +83 -0
  512. package/tests/devfiles/Python.spec.ts +67 -0
  513. package/tests/devfiles/PythonDjango.spec.ts +70 -0
  514. package/tests/devfiles/Quarkus.spec.ts +79 -0
  515. package/tests/devfiles/Scala.spec.ts +74 -0
  516. package/tests/e2e/FactoryUrl.spec.ts +51 -0
  517. package/tests/e2e/GitPublishBranch.spec.ts +107 -0
  518. package/tests/e2e/GitSelfSignCert.spec.ts +107 -0
  519. package/tests/e2e/GitSsh.spec.ts +143 -0
  520. package/tests/e2e/OpenshiftConnector.spec.ts +142 -0
  521. package/tests/e2e/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.ts +61 -0
  522. package/tests/e2e/factories/DirectUrlFactoryWithRootFolderTest.spec.ts +59 -0
  523. package/tests/e2e/factories/DirectUrlFactoryWithSpecificBranchTest.spec.ts +61 -0
  524. package/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.ts +204 -0
  525. package/tests/e2e_happy_path/HappyPath.spec.ts +342 -0
  526. package/tests/intelij/IntelijOpenWorkspace.spec.ts +49 -0
  527. package/tests/load_test/LoadTest.spec.ts +54 -0
  528. package/tests/login/LinkCheAndOcpUsers.spec.ts +47 -0
  529. package/tests/login/Login.spec.ts +27 -0
  530. package/tests/plugins/GitHubPullRequestPlugin.spec.ts +150 -0
  531. package/tests/plugins/InstallPluginUsingUI.spec.ts +83 -0
  532. package/tests/plugins/JavaPlugin.spec.ts +108 -0
  533. package/tests/plugins/PhpPlugin.spec.ts +121 -0
  534. package/tests/plugins/PythonPlugin.spec.ts +92 -0
  535. package/tests/plugins/TypescriptPlugin.spec.ts +179 -0
  536. package/tests/plugins/VscodeKubernetesPlugin.spec.ts +89 -0
  537. package/tests/plugins/VscodeShellcheckPlugin.spec.ts +106 -0
  538. package/tests/plugins/VscodeValePlugin.spec.ts +91 -0
  539. package/tests/plugins/VscodeXmlPlugin.spec.ts +120 -0
  540. package/tests/plugins/VscodeYamlPlugin.spec.ts +117 -0
  541. package/testsLibrary/CodeExecutionTests.ts +196 -0
  542. package/testsLibrary/LanguageServerTests.ts +210 -0
  543. package/testsLibrary/ProjectAndFileTests.ts +82 -0
  544. package/testsLibrary/WorkspaceHandlingTests.ts +68 -0
  545. package/tsconfig.json +16 -0
  546. package/tslint.json +123 -0
  547. package/utils/AnimationChecker.ts +27 -0
  548. package/utils/BrowserTabsUtil.ts +120 -0
  549. package/utils/DriverHelper.ts +753 -0
  550. package/utils/KeycloackUrlHandler.ts +32 -0
  551. package/utils/Logger.ts +87 -0
  552. package/utils/PreferencesHandler.ts +120 -0
  553. package/utils/Sanitizer.ts +20 -0
  554. package/utils/ScreenCatcher.ts +74 -0
  555. package/utils/VCS/CheGitApi.ts +26 -0
  556. package/utils/VCS/github/GitHubUtil.ts +91 -0
  557. package/utils/WorkspaceNameHandler.ts +48 -0
  558. package/utils/requestHandlers/CheApiRequestHandler.ts +83 -0
  559. package/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +27 -0
  560. package/utils/requestHandlers/headers/IAuthorizationHeaderHandler.ts +15 -0
  561. package/utils/requestHandlers/tokens/CheMultiuserTokenHandler.ts +39 -0
  562. package/utils/requestHandlers/tokens/ITokenHandler.ts +14 -0
  563. package/utils/workspace/ITestWorkspaceUtil.ts +26 -0
  564. package/utils/workspace/TestWorkspaceUtil.ts +275 -0
  565. package/utils/workspace/WorkspaceStatus.ts +15 -0
@@ -0,0 +1,196 @@
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/Ide';
17
+ import { Terminal } from '../pageobjects/ide/Terminal';
18
+ import { TopMenu } from '../pageobjects/ide/TopMenu';
19
+ import { DialogWindow } from '../pageobjects/ide/DialogWindow';
20
+ import { DriverHelper } from '../utils/DriverHelper';
21
+ import { PreviewWidget } from '../pageobjects/ide/PreviewWidget';
22
+ import { RightToolBar } from '../pageobjects/ide/RightToolBar';
23
+ import { Logger } from '../utils/Logger';
24
+ import { QuickOpenContainer } from '../pageobjects/ide/QuickOpenContainer';
25
+
26
+ @injectable()
27
+ export class CodeExecutionTests {
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.PreviewWidget) private readonly previewWidget: PreviewWidget,
38
+ @inject(CLASSES.RightToolBar) private readonly rightToolBar: RightToolBar,
39
+ @inject(CLASSES.QuickOpenContainer) private readonly quickOpenContainer: QuickOpenContainer) {}
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
+ await this.dialogWindow.waitDialogAndOpenLink(expectedDialogText, timeout);
70
+ });
71
+ }
72
+
73
+ public runTaskWithDialogShellDjangoWorkaround(taskName: string, expectedDialogText: string, urlSubPath: string, timeout: number) {
74
+ test(`Run command '${taskName}' expecting dialog shell`, async () => {
75
+ await this.runTaskUsingQuickOpenContainer(taskName);
76
+ await this.dialogWindow.waitDialog(expectedDialogText, timeout);
77
+ const dialogRedirectUrl: string = await this.dialogWindow.getApplicationUrlFromDialog(expectedDialogText);
78
+ const augmentedPreviewUrl: string = dialogRedirectUrl + urlSubPath;
79
+ await this.dialogWindow.closeDialog();
80
+ await this.dialogWindow.waitDialogDissappearance();
81
+ await this.driverHelper.getDriver().wait(async () => {
82
+ try {
83
+ const res = await Axios.get(augmentedPreviewUrl);
84
+ if (res.status === 200) { return true; }
85
+ } catch (error) { await this.driverHelper.wait(1_000); }
86
+ }, timeout);
87
+ });
88
+ }
89
+
90
+ public runTaskWithDialogShellAndClose(taskName: string, expectedDialogText: string, timeout: number) {
91
+ test(`Run command '${taskName}' expecting dialog shell`, async () => {
92
+ await this.runTaskUsingQuickOpenContainer(taskName);
93
+ await this.dialogWindow.waitDialog(expectedDialogText, timeout);
94
+ await this.dialogWindow.closeDialog();
95
+ await this.dialogWindow.waitDialogDissappearance();
96
+ });
97
+ }
98
+
99
+ public runTaskWithNotification(taskName: string, notificationText: string, timeout: number) {
100
+ test(`Run command '${taskName}' expecting notification pops up`, async () => {
101
+ await this.runTaskUsingQuickOpenContainer(taskName);
102
+ await this.ide.waitNotification(notificationText, timeout);
103
+ });
104
+ }
105
+
106
+ public runTaskWithNotificationAndOpenLink(taskName: string, notificationText: string, buttonText: string, timeout: number) {
107
+ test(`Run command '${taskName}' expecting notification`, async () => {
108
+ await this.runTaskUsingQuickOpenContainer(taskName);
109
+ await this.ide.waitNotification(notificationText, timeout);
110
+ await this.ide.clickOnNotificationButton(notificationText, buttonText);
111
+ CodeExecutionTests.lastApplicationUrl = await this.previewWidget.getUrl();
112
+ });
113
+ }
114
+
115
+ public runTaskWithNotificationAndOpenLinkPreviewNoUrl(taskName: string, notificationText: string, timeout: number) {
116
+ test(`Run command '${taskName}' expecting notification`, async () => {
117
+ await this.runTaskUsingQuickOpenContainer(taskName);
118
+ await this.ide.waitNotification(notificationText, timeout);
119
+ await this.ide.clickOnNotificationButton(notificationText, 'Open In Preview');
120
+ CodeExecutionTests.lastApplicationUrl = await this.previewWidget.getUrl();
121
+ });
122
+ }
123
+
124
+ public runTaskWithNotificationAndOpenLinkUnexposedPort(taskName: string, notificationText: string, portOpenText: string, timeout: number) {
125
+ test(`Run command '${taskName}' expecting notification with unexposed port`, async () => {
126
+ await this.runTaskUsingQuickOpenContainer(taskName);
127
+ await this.ide.waitNotificationAndConfirm(notificationText, timeout);
128
+ await this.ide.waitNotificationAndOpenLink(portOpenText, timeout);
129
+ CodeExecutionTests.lastApplicationUrl = await this.previewWidget.getUrl();
130
+ });
131
+ }
132
+
133
+ public verifyRunningApplication(locator: By, applicationCheckTimeout: number, polling: number) {
134
+ test(`Verify running application by locator: '${locator}'`, async () => {
135
+ await this.previewWidget.waitApplicationOpened(CodeExecutionTests.lastApplicationUrl, applicationCheckTimeout);
136
+ try {
137
+ await this.previewWidget.waitContentAvailable(locator, applicationCheckTimeout, polling);
138
+ } catch (err) {
139
+ // fix for preloader / application not available in preview widget
140
+ // https://issues.redhat.com/browse/CRW-2175
141
+ if (err instanceof error.TimeoutError) {
142
+ Logger.warn(`CodeExecutionTests.verifyRunningApplication application not located, probably blocked by preloader or content not available. Retrying.`);
143
+ await this.driverHelper.getDriver().switchTo().defaultContent();
144
+ await this.ide.waitAndSwitchToIdeFrame();
145
+ await this.previewWidget.refreshPage();
146
+ await this.previewWidget.waitContentAvailable(locator, applicationCheckTimeout, polling);
147
+ }
148
+ }
149
+ });
150
+ }
151
+
152
+ public getLastApplicationUrl(): string {
153
+ return CodeExecutionTests.lastApplicationUrl;
154
+ }
155
+
156
+ public refreshPreviewWindow() {
157
+ test('Refreshing preview widget', async () => {
158
+ await this.previewWidget.refreshPage();
159
+ });
160
+ }
161
+
162
+ public closePreviewWidget() {
163
+ test('Close preview widget', async () => {
164
+ await this.rightToolBar.clickOnToolIcon('Preview');
165
+ await this.previewWidget.waitPreviewWidgetAbsence();
166
+ });
167
+ }
168
+
169
+ public waitTerminalPresent(terminalTabName: string, timeout: number) {
170
+ test('Wait terminal presence', async () => {
171
+ await this.terminal.waitTab(terminalTabName, timeout);
172
+ await this.driverHelper.wait(5000);
173
+ });
174
+ }
175
+
176
+ public closeTerminal(taskName: string) {
177
+ test('Close the terminal tasks', async () => {
178
+ await this.ide.closeAllNotifications();
179
+ await this.terminal.rejectTerminalProcess(taskName);
180
+ await this.terminal.closeTerminalTab(taskName);
181
+ await this.dialogWindow.waitAndCloseIfAppear();
182
+ });
183
+ }
184
+
185
+ private async runTaskUsingQuickOpenContainer(taskName: string) {
186
+ await this.topMenu.selectOption('Terminal', 'Run Task...');
187
+ try {
188
+ await this.quickOpenContainer.waitContainer();
189
+ } catch (err) {
190
+ Logger.warn(`CodeExecutionTests.runTaskInputText quickOpenContainer failed to open, retrying.`);
191
+ await this.topMenu.selectOption('Terminal', 'Run Task...');
192
+ await this.quickOpenContainer.waitContainer();
193
+ }
194
+ await this.quickOpenContainer.type(`${taskName}${Key.ENTER}`);
195
+ }
196
+ }
@@ -0,0 +1,210 @@
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/Editor';
16
+ import { Ide, LeftToolbarButton } from '../pageobjects/ide/Ide';
17
+ import { TopMenu } from '../pageobjects/ide/TopMenu';
18
+ import { DebugView } from '../pageobjects/ide/DebugView';
19
+ import { Key, error } from 'selenium-webdriver';
20
+ import { Logger } from '../utils/Logger';
21
+ import { BrowserTabsUtil } from '../utils/BrowserTabsUtil';
22
+ import { DriverHelper } from '../utils/DriverHelper';
23
+
24
+ @injectable()
25
+ export class LanguageServerTests {
26
+
27
+ constructor(
28
+ @inject(CLASSES.Editor) private readonly editor: Editor,
29
+ @inject(CLASSES.Ide) private readonly ide: Ide,
30
+ @inject(CLASSES.TopMenu) private readonly topMenu: TopMenu,
31
+ @inject(CLASSES.DebugView) private readonly debugView: DebugView,
32
+ @inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil,
33
+ @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
34
+
35
+ public errorHighlighting(openedTab: string, textToWrite: string, line: number) {
36
+ test('Error highlighting', async () => {
37
+ await this.editor.type(openedTab, textToWrite, line);
38
+ try {
39
+ await this.editor.waitErrorInLine(line);
40
+ } catch (err) {
41
+ if (!(err instanceof error.TimeoutError)) {
42
+ throw err;
43
+ }
44
+ }
45
+ for (let i = 0; i < textToWrite.length; i++) {
46
+ await this.editor.performKeyCombination(openedTab, Key.BACK_SPACE);
47
+ }
48
+ await this.editor.waitErrorInLineDisappearance(line);
49
+ });
50
+ }
51
+
52
+ public suggestionInvoking(openedTab: string, line: number, char: number, suggestionText: string) {
53
+ test('Suggestion invoking', async () => {
54
+ await this.ide.closeAllNotifications();
55
+ await this.editor.waitEditorAvailable(openedTab);
56
+ await this.editor.clickOnTab(openedTab);
57
+ await this.editor.waitEditorAvailable(openedTab);
58
+ await this.editor.waitTabFocused(openedTab);
59
+ await this.editor.moveCursorToLineAndChar(openedTab, line, char);
60
+ await this.editor.pressControlSpaceCombination(openedTab);
61
+ await this.editor.waitSuggestion(openedTab, suggestionText);
62
+ });
63
+ }
64
+
65
+ public autocomplete(openedTab: string, line: number, char: number, expectedText: string) {
66
+ test('Autocomplete', async () => {
67
+ await this.editor.moveCursorToLineAndChar(openedTab, line, char);
68
+ await this.editor.pressControlSpaceCombination(openedTab);
69
+ await this.editor.waitSuggestionContainer();
70
+ await this.editor.waitSuggestionWithScrolling(openedTab, expectedText);
71
+ });
72
+ }
73
+
74
+ public waitLSInitialization(startingNote: string, alternateNote: string = '', startTimeout: number = TimeoutConstants.TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT) {
75
+ test('LS initialization', async () => {
76
+ try {
77
+ await this.ide.checkLsInitializationStart(startingNote);
78
+ } catch (err) {
79
+ if (alternateNote.length === 0) {
80
+ throw err;
81
+ }
82
+ if (!(err instanceof error.TimeoutError)) {
83
+ throw err;
84
+ }
85
+ Logger.warn('Known flakiness has occurred https://github.com/eclipse/che/issues/17864');
86
+ await this.ide.waitStatusBarContains(alternateNote);
87
+ await this.ide.waitStatusBarTextAbsence(alternateNote, startTimeout);
88
+ return;
89
+ }
90
+ await this.ide.waitStatusBarTextAbsence(startingNote, startTimeout);
91
+ Logger.debug('Starting note successfully disappeared.');
92
+ if (alternateNote.length > 0) {
93
+ Logger.debug('AlternateNote value is set, waiting for presence and disappearance.');
94
+ await this.ide.waitStatusBarContains(alternateNote);
95
+ await this.ide.waitStatusBarTextAbsence(alternateNote, startTimeout);
96
+ }
97
+ Logger.debug('Language Server successfully initialized.');
98
+ });
99
+ }
100
+
101
+ public goToDefinition(openedFile: string, line: number, char: number, codeNavigationClassName: string, timeout : number = TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
102
+ test('Go to Definition', async () => {
103
+ try {
104
+ await this.editor.moveCursorToLineAndChar(openedFile, line, char);
105
+ await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F11));
106
+ await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
107
+ } catch (err) {
108
+ // https://github.com/eclipse/che/issues/17411 was fixed by adding a retry
109
+ if (err instanceof error.TimeoutError) {
110
+ Logger.warn('Code navigation (definition) didn\'t work. Trying again.');
111
+ try {
112
+ await this.editor.moveCursorToLineAndChar(openedFile, line, char);
113
+ await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F11));
114
+ await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
115
+ } catch (err) {
116
+ Logger.error('Code navigation (definition) didn\'t work even after retrying.');
117
+ throw err;
118
+ }
119
+ } else {
120
+ Logger.error('Code navigation (definition) failed with unexpected exception.');
121
+ throw err;
122
+ }
123
+ }
124
+ });
125
+ }
126
+
127
+ public goToImplementations(openedFile: string, line: number, char: number, codeNavigationClassName: string, timeout : number = TimeoutConstants.TS_EDITOR_TAB_INTERACTION_TIMEOUT) {
128
+ test('Go to Implementations', async () => {
129
+ try {
130
+ await this.editor.moveCursorToLineAndChar(openedFile, line, char);
131
+ await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F12));
132
+ await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
133
+ } catch (err) {
134
+ // https://github.com/eclipse/che/issues/17411 was fixed by adding a retry
135
+ if (err instanceof error.TimeoutError) {
136
+ Logger.warn('Code navigation (implementations) didn\'t work. Trying again.');
137
+ try {
138
+ await this.editor.moveCursorToLineAndChar(openedFile, line, char);
139
+ await this.editor.performKeyCombination(openedFile, Key.chord(Key.CONTROL, Key.F12));
140
+ await this.editor.waitEditorAvailable(codeNavigationClassName, timeout);
141
+ } catch (err) {
142
+ Logger.error('Code navigation (implementations) didn\'t work even after retrying.');
143
+ throw err;
144
+ }
145
+ } else {
146
+ Logger.error('Code navigation (implementations) failed with unexpected exception.');
147
+ throw err;
148
+ }
149
+ }
150
+ });
151
+ }
152
+
153
+ public startAndAttachDebugger(openedFile: string) {
154
+ test('Open debug panel', async () => {
155
+ await this.editor.selectTab(openedFile);
156
+ await this.topMenu.selectOption('View', 'Debug');
157
+ await this.ide.waitLeftToolbarButton(LeftToolbarButton.Debug);
158
+ });
159
+
160
+ test('Run debug', async () => {
161
+ try {
162
+ await this.debugView.clickOnRunDebugButton();
163
+ } catch (err) {
164
+ // debug config is probably missing, refresh IDE and try again https://github.com/eclipse/che/issues/19887
165
+ await this.browserTabsUtil.refreshPage();
166
+ await this.driverHelper.wait(TimeoutConstants.TS_IDE_LOAD_TIMEOUT);
167
+ await this.ide.waitAndSwitchToIdeFrame();
168
+ await this.driverHelper.wait(TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
169
+ await this.debugView.clickOnRunDebugButton();
170
+ }
171
+ });
172
+ }
173
+
174
+ public startAndAttachDebuggerWithConfiguration(openedFile: string, configurationName: string) {
175
+ test('Open debug panel', async () => {
176
+ await this.editor.selectTab(openedFile);
177
+ await this.topMenu.selectOption('View', 'Debug');
178
+ await this.ide.waitLeftToolbarButton(LeftToolbarButton.Debug);
179
+ });
180
+
181
+ test('Run debug', async () => {
182
+ try {
183
+ await this.debugView.clickOnDebugConfigurationDropDown();
184
+ await this.debugView.clickOnDebugConfigurationItem(configurationName);
185
+ await this.debugView.clickOnRunDebugButton();
186
+ } catch (err) {
187
+ // debug config is probably missing, refresh IDE and try again https://github.com/eclipse/che/issues/19887
188
+ await this.browserTabsUtil.refreshPage();
189
+ await this.driverHelper.wait(TimeoutConstants.TS_IDE_LOAD_TIMEOUT);
190
+ await this.ide.waitAndSwitchToIdeFrame();
191
+ await this.driverHelper.wait(TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
192
+ await this.debugView.clickOnDebugConfigurationDropDown();
193
+ await this.debugView.clickOnDebugConfigurationItem(configurationName);
194
+ await this.debugView.clickOnRunDebugButton();
195
+ }
196
+ });
197
+ }
198
+
199
+ public setBreakpoint(openedFile: string, line: number) {
200
+ test('Activating breakpoint', async () => {
201
+ await this.editor.activateBreakpoint(openedFile, line);
202
+ });
203
+ }
204
+
205
+ public checkDebuggerStoppedAtBreakpoint(openedFile: string, line: number, timeout: number) {
206
+ test('Check that debug stopped at the breakpoint', async () => {
207
+ await this.editor.waitStoppedDebugBreakpoint(openedFile, line, timeout);
208
+ });
209
+ }
210
+ }
@@ -0,0 +1,82 @@
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 } from 'selenium-webdriver';
14
+ import { Ide } from '../pageobjects/ide/Ide';
15
+ import { ProjectTree } from '../pageobjects/ide/ProjectTree';
16
+ import { Editor } from '../pageobjects/ide/Editor';
17
+ import { TimeoutConstants } from '../TimeoutConstants';
18
+ import { DriverHelper } from '../utils/DriverHelper';
19
+ import { CLASSES } from '../inversify.types';
20
+
21
+ @injectable()
22
+ export class ProjectAndFileTests {
23
+
24
+ constructor(
25
+ @inject(CLASSES.Ide) private readonly ide: Ide,
26
+ @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
27
+ @inject(CLASSES.ProjectTree) private readonly projectTree: ProjectTree,
28
+ @inject(CLASSES.Editor) private readonly editor: Editor) {}
29
+
30
+ public waitWorkspaceReadiness(sampleName : string, folder: string, checkNotification: boolean = true, restartWorkspaceDialogIsExpected: boolean = false) {
31
+ test('Wait for workspace readiness', async () => {
32
+ await this.ide.waitAndSwitchToIdeFrame();
33
+ await this.ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
34
+ if (checkNotification) {
35
+ await this.ide.waitNotificationAndClickOnButton('Do you trust the authors of', 'Yes, I trust', 60_000);
36
+ }
37
+ if (restartWorkspaceDialogIsExpected) {
38
+ await this.ide.clickOnCancelDialogButton();
39
+
40
+ }
41
+ await this.projectTree.openProjectTreeContainer();
42
+ await this.projectTree.waitProjectImported(sampleName, folder);
43
+ });
44
+ }
45
+
46
+ public waitWorkspaceReadinessNoSubfolder(sampleName : string, checkNotification: boolean = true) {
47
+ test('Wait for workspace readiness', async () => {
48
+ await this.ide.waitAndSwitchToIdeFrame();
49
+ await this.ide.waitIde(TimeoutConstants.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
50
+ if (checkNotification) {
51
+ await this.ide.waitNotificationAndClickOnButton('Do you trust the authors of', 'Yes, I trust', 60_000);
52
+ }
53
+ await this.projectTree.openProjectTreeContainer();
54
+ await this.projectTree.waitProjectImportedNoSubfolder(sampleName);
55
+ });
56
+ }
57
+
58
+ public openFile(filePath: string, fileName: string) {
59
+ test('Expand project and open file in editor', async () => {
60
+ await this.projectTree.expandPathAndOpenFile(filePath, fileName);
61
+ await this.editor.selectTab(fileName);
62
+ });
63
+ }
64
+
65
+ public checkFilePresence(filePath: string, timeout: number) {
66
+ test('Check that file is present in project', async () => {
67
+ await this.projectTree.waitItem(filePath, timeout);
68
+ });
69
+ }
70
+
71
+ public checkFileNotExists(filePath: string) {
72
+ test('Check that file is not exist in project', async () => {
73
+ await this.projectTree.waitItemDisappearance(filePath);
74
+ });
75
+ }
76
+
77
+ public checkProjectBranchName(branchName: string) {
78
+ test('Check branch name is ${}', async () => {
79
+ await this.driverHelper.waitVisibility(By.xpath(`//div[@id='theia-statusBar']/div//span[text()=' ${branchName}']`));
80
+ });
81
+ }
82
+ }
@@ -0,0 +1,68 @@
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 { Dashboard } from '../pageobjects/dashboard/Dashboard';
15
+ import { CreateWorkspace } from '../pageobjects/dashboard/CreateWorkspace';
16
+ import { Workspaces } from '../pageobjects/dashboard/Workspaces';
17
+ import { WorkspaceNameHandler } from '../utils/WorkspaceNameHandler';
18
+
19
+ @injectable()
20
+ export class WorkspaceHandlingTests {
21
+
22
+ private static workspaceName: string = 'undefined';
23
+
24
+ public static getWorkspaceName(): string {
25
+ return WorkspaceHandlingTests.workspaceName;
26
+ }
27
+
28
+ constructor(
29
+ @inject(CLASSES.Dashboard) private readonly dashboard: Dashboard,
30
+ @inject(CLASSES.CreateWorkspace) private readonly createWorkspace: CreateWorkspace,
31
+ @inject(CLASSES.Workspaces) private readonly workspaces: Workspaces,
32
+ @inject(CLASSES.WorkspaceNameHandler) private readonly workspaceNameHandler: WorkspaceNameHandler) {}
33
+
34
+ public createAndOpenWorkspace(stack: string) {
35
+ test(`Open 'New Workspace' page`, async () => {
36
+ await this.dashboard.waitPage();
37
+ await this.dashboard.clickCreateWorkspaceButton();
38
+ await this.createWorkspace.waitPage();
39
+ await this.createWorkspace.clickOnSample(stack);
40
+ await this.dashboard.waitWorkspaceStartingPage();
41
+ WorkspaceHandlingTests.workspaceName = await this.workspaceNameHandler.getNameFromUrl();
42
+ });
43
+ }
44
+
45
+ public openExistingWorkspace(workspaceName: string) {
46
+ test('Start workspace', async () => {
47
+ await this.dashboard.waitPage();
48
+ await this.dashboard.clickWorkspacesButton();
49
+ await this.workspaces.waitPage();
50
+ await this.workspaces.clickOpenButton(workspaceName);
51
+ });
52
+ }
53
+
54
+ public async stopWorkspace(workspaceName: string) {
55
+ await this.dashboard.openDashboard();
56
+ await this.dashboard.stopWorkspaceByUI(workspaceName);
57
+ }
58
+
59
+ public async removeWorkspace(workspaceName: string) {
60
+ await this.dashboard.openDashboard();
61
+ await this.dashboard.deleteStoppedWorkspaceByUI(workspaceName);
62
+ }
63
+
64
+ public async stopAndRemoveWorkspace(workspaceName: string) {
65
+ await this.dashboard.openDashboard();
66
+ await this.dashboard.stopAndRemoveWorkspaceByUI(workspaceName);
67
+ }
68
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "skipLibCheck": true,
4
+ "target": "es2017",
5
+ "module": "commonjs",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+
9
+ "outDir": "dist",
10
+ "lib": ["es2017", "dom"],
11
+ "types": ["reflect-metadata", "@types/mocha", "@types/node"],
12
+ "experimentalDecorators": true,
13
+ "emitDecoratorMetadata": true,
14
+ "sourceMap": true
15
+ }
16
+ }