@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.
- package/configs/inversify.config.ts +88 -0
- package/{inversify.types.ts → configs/inversify.types.ts} +6 -9
- package/configs/mocharc.ts +21 -0
- package/{generateIndex.sh → configs/sh-scripts/generateIndex.sh} +8 -10
- package/{initDevfileTests.sh → configs/sh-scripts/initDevfileTests.sh} +18 -27
- package/{TestConstants.ts → constants/TestConstants.ts} +1 -1
- package/{TimeoutConstants.ts → constants/TimeoutConstants.ts} +1 -1
- package/dist/configs/inversify.config.js +81 -0
- package/dist/configs/inversify.config.js.map +1 -0
- package/dist/{inversify.types.js → configs/inversify.types.js} +5 -8
- package/dist/configs/inversify.types.js.map +1 -0
- package/dist/configs/mocharc.js +20 -0
- package/dist/configs/mocharc.js.map +1 -0
- package/dist/{TestConstants.js → constants/TestConstants.js} +1 -1
- package/dist/constants/TestConstants.js.map +1 -0
- package/dist/{TimeoutConstants.js → constants/TimeoutConstants.js} +1 -1
- package/dist/constants/TimeoutConstants.js.map +1 -0
- package/dist/driver/ChromeDriver.js +2 -2
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/pageobjects/dashboard/CreateWorkspace.js +4 -4
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +4 -4
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/dashboard/Workspaces.js +3 -3
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +10 -8
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +3 -3
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -1
- package/dist/pageobjects/login/ICheLoginPage.js +1 -1
- package/dist/pageobjects/login/IOcpLoginPage.js +1 -1
- package/dist/pageobjects/login/MultiUserLoginPage.js +3 -3
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -1
- package/dist/pageobjects/login/OcpUserLoginPage.js +3 -3
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -1
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +4 -4
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +2 -2
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -1
- package/dist/pageobjects/openshift/CheLoginPage.js +3 -3
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpLoginPage.js +4 -4
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
- package/dist/pageobjects/third-parties/GitLoginPage.js +4 -4
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -1
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +3 -3
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -1
- package/dist/{tests → specs}/MochaHooks.js +32 -18
- package/dist/specs/MochaHooks.js.map +1 -0
- package/dist/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.js +10 -11
- package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -0
- package/dist/{tests → specs}/login/LinkCheAndOcpUsers.spec.js +13 -12
- package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +1 -0
- package/dist/{utils/AnimationChecker.js → tests-library/LoginTests.js} +26 -18
- package/dist/tests-library/LoginTests.js.map +1 -0
- package/dist/{testsLibrary/che-code/ProjectAndFileTestsCheCode.js → tests-library/ProjectAndFileTests.js} +11 -11
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -0
- package/dist/{testsLibrary → tests-library}/WorkspaceHandlingTests.js +4 -4
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +3 -3
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/{driver → utils}/CheReporter.js +6 -10
- package/dist/utils/CheReporter.js.map +1 -0
- package/dist/utils/DriverHelper.js +3 -3
- package/dist/utils/DriverHelper.js.map +1 -1
- package/dist/utils/Logger.js +2 -2
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/Sanitizer.js +1 -1
- package/dist/utils/ScreenCatcher.js +7 -7
- package/dist/utils/ScreenCatcher.js.map +1 -1
- package/dist/utils/WorkspaceNameHandler.js +2 -2
- package/dist/utils/WorkspaceNameHandler.js.map +1 -1
- package/dist/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.js +3 -3
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.js +1 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.js +1 -1
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.js +2 -2
- package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
- package/dist/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.js +1 -1
- package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +1 -0
- package/dist/utils/{VCS → vsc}/CheGitApi.js +2 -2
- package/dist/utils/vsc/CheGitApi.js.map +1 -0
- package/dist/utils/{VCS → vsc}/github/GitHubUtil.js.map +1 -1
- package/dist/utils/workspace/ApiUrlResolver.js +3 -3
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
- package/dist/utils/workspace/ITestWorkspaceUtil.js +1 -1
- package/dist/utils/workspace/TestWorkspaceUtil.js +4 -4
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/dist/utils/workspace/WorkspaceStatus.js +1 -1
- package/driver/ChromeDriver.ts +2 -2
- package/driver/IDriver.ts +1 -1
- package/package.json +6 -37
- package/pageobjects/dashboard/CreateWorkspace.ts +4 -4
- package/pageobjects/dashboard/Dashboard.ts +4 -4
- package/pageobjects/dashboard/Workspaces.ts +3 -3
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +8 -8
- package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +3 -4
- package/pageobjects/login/ICheLoginPage.ts +1 -1
- package/pageobjects/login/IOcpLoginPage.ts +1 -1
- package/pageobjects/login/MultiUserLoginPage.ts +3 -3
- package/pageobjects/login/OcpUserLoginPage.ts +3 -3
- package/pageobjects/login/RegularUserOcpCheLoginPage.ts +4 -4
- package/pageobjects/login/UpdateAccountInformationPage.ts +2 -2
- package/pageobjects/openshift/CheLoginPage.ts +3 -3
- package/pageobjects/openshift/OcpLoginPage.ts +4 -4
- package/pageobjects/third-parties/GitLoginPage.ts +4 -4
- package/pageobjects/third-parties/GitOauthAppsSettings.ts +3 -3
- package/specs/MochaHooks.ts +72 -0
- package/{tests/devfiles/che-code → specs/devfiles}/EmptyWorkspace.spec.ts +12 -9
- package/{tests → specs}/login/LinkCheAndOcpUsers.spec.ts +5 -4
- package/tests-library/LoginTests.ts +35 -0
- package/{testsLibrary/che-code/ProjectAndFileTestsCheCode.ts → tests-library/ProjectAndFileTests.ts} +6 -6
- package/{testsLibrary → tests-library}/WorkspaceHandlingTests.ts +4 -4
- package/utils/BrowserTabsUtil.ts +3 -3
- package/{driver → utils}/CheReporter.ts +10 -15
- package/utils/DriverHelper.ts +4 -4
- package/utils/Logger.ts +2 -2
- package/utils/Sanitizer.ts +1 -1
- package/utils/ScreenCatcher.ts +3 -3
- package/utils/WorkspaceNameHandler.ts +2 -2
- package/utils/{requestHandlers → request-handlers}/CheApiRequestHandler.ts +3 -3
- package/utils/{requestHandlers → request-handlers}/headers/CheMultiuserAuthorizationHeaderHandler.ts +2 -2
- package/utils/{requestHandlers → request-handlers}/headers/IAuthorizationHeaderHandler.ts +1 -1
- package/utils/{requestHandlers → request-handlers}/tokens/CheMultiuserTokenHandler.ts +2 -2
- package/utils/{requestHandlers → request-handlers}/tokens/ITokenHandler.ts +1 -1
- package/utils/{VCS → vsc}/CheGitApi.ts +2 -6
- package/utils/workspace/ApiUrlResolver.ts +3 -3
- package/utils/workspace/ITestWorkspaceUtil.ts +1 -1
- package/utils/workspace/TestWorkspaceUtil.ts +4 -4
- package/utils/workspace/WorkspaceStatus.ts +1 -1
- package/dist/TestConstants.js.map +0 -1
- package/dist/TimeoutConstants.js.map +0 -1
- package/dist/driver/CheReporter.js.map +0 -1
- package/dist/index.js +0 -94
- package/dist/index.js.map +0 -1
- package/dist/inversify.config.js +0 -133
- package/dist/inversify.config.js.map +0 -1
- package/dist/inversify.types.js.map +0 -1
- package/dist/pageobjects/ide/theia/ContextMenu.js +0 -66
- package/dist/pageobjects/ide/theia/ContextMenu.js.map +0 -1
- package/dist/pageobjects/ide/theia/DebugView.js +0 -98
- package/dist/pageobjects/ide/theia/DebugView.js.map +0 -1
- package/dist/pageobjects/ide/theia/DialogWindow.js +0 -102
- package/dist/pageobjects/ide/theia/DialogWindow.js.map +0 -1
- package/dist/pageobjects/ide/theia/Editor.js +0 -463
- package/dist/pageobjects/ide/theia/Editor.js.map +0 -1
- package/dist/pageobjects/ide/theia/Ide.js +0 -336
- package/dist/pageobjects/ide/theia/Ide.js.map +0 -1
- package/dist/pageobjects/ide/theia/LeftToolBar.js +0 -81
- package/dist/pageobjects/ide/theia/LeftToolBar.js.map +0 -1
- package/dist/pageobjects/ide/theia/NavigationBar.js +0 -57
- package/dist/pageobjects/ide/theia/NavigationBar.js.map +0 -1
- package/dist/pageobjects/ide/theia/NotificationCenter.js +0 -76
- package/dist/pageobjects/ide/theia/NotificationCenter.js.map +0 -1
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js +0 -100
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +0 -1
- package/dist/pageobjects/ide/theia/OpenEditors.js +0 -73
- package/dist/pageobjects/ide/theia/OpenEditors.js.map +0 -1
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +0 -62
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +0 -1
- package/dist/pageobjects/ide/theia/PreviewWidget.js +0 -134
- package/dist/pageobjects/ide/theia/PreviewWidget.js.map +0 -1
- package/dist/pageobjects/ide/theia/ProjectTree.js +0 -282
- package/dist/pageobjects/ide/theia/ProjectTree.js.map +0 -1
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js +0 -70
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +0 -1
- package/dist/pageobjects/ide/theia/RightToolBar.js +0 -51
- package/dist/pageobjects/ide/theia/RightToolBar.js.map +0 -1
- package/dist/pageobjects/ide/theia/Terminal.js +0 -184
- package/dist/pageobjects/ide/theia/Terminal.js.map +0 -1
- package/dist/pageobjects/ide/theia/TopMenu.js +0 -109
- package/dist/pageobjects/ide/theia/TopMenu.js.map +0 -1
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +0 -128
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +0 -1
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +0 -120
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +0 -1
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +0 -107
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +0 -1
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +0 -99
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +0 -1
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js +0 -166
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +0 -1
- package/dist/tests/MochaHooks.js.map +0 -1
- package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +0 -73
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +0 -47
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/DotNetCore.spec.js +0 -81
- package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/Go.spec.js +0 -72
- package/dist/tests/devfiles/theia/Go.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/JavaMaven.spec.js +0 -60
- package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +0 -66
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/JavaVertx.spec.js +0 -60
- package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/NodeJS.spec.js +0 -64
- package/dist/tests/devfiles/theia/NodeJS.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/PHPSimple.spec.js +0 -74
- package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/Python.spec.js +0 -58
- package/dist/tests/devfiles/theia/Python.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/PythonDjango.spec.js +0 -61
- package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/Quarkus.spec.js +0 -69
- package/dist/tests/devfiles/theia/Quarkus.spec.js.map +0 -1
- package/dist/tests/devfiles/theia/Scala.spec.js +0 -66
- package/dist/tests/devfiles/theia/Scala.spec.js.map +0 -1
- package/dist/tests/e2e/theia/FactoryUrl.spec.js +0 -40
- package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +0 -1
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js +0 -90
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +0 -1
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +0 -90
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +0 -1
- package/dist/tests/e2e/theia/GitSsh.spec.js +0 -120
- package/dist/tests/e2e/theia/GitSsh.spec.js.map +0 -1
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +0 -124
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +0 -1
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +0 -50
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +0 -1
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +0 -48
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +0 -1
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +0 -48
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +0 -1
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +0 -277
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +0 -1
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +0 -314
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +0 -1
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +0 -39
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +0 -1
- package/dist/tests/load_test/theia/LoadTest.spec.js +0 -41
- package/dist/tests/load_test/theia/LoadTest.spec.js.map +0 -1
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +0 -1
- package/dist/tests/login/Login.spec.js +0 -28
- package/dist/tests/login/Login.spec.js.map +0 -1
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +0 -117
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +0 -62
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +0 -1
- package/dist/tests/plugins/theia/JavaPlugin.spec.js +0 -82
- package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/PhpPlugin.spec.js +0 -96
- package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/PythonPlugin.spec.js +0 -72
- package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +0 -135
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +0 -69
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +0 -82
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +0 -70
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +0 -81
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +0 -1
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +0 -78
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +0 -1
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +0 -1
- package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +0 -1
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +0 -248
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +0 -1
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +0 -230
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +0 -1
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +0 -133
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +0 -1
- package/dist/utils/AnimationChecker.js.map +0 -1
- package/dist/utils/VCS/CheGitApi.js.map +0 -1
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +0 -1
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +0 -1
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +0 -1
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +0 -1
- package/dist/utils/theia/PreferencesHandlerTheia.js +0 -142
- package/dist/utils/theia/PreferencesHandlerTheia.js.map +0 -1
- package/index.ts +0 -69
- package/initPluginTest.sh +0 -9
- package/inversify.config.ts +0 -141
- package/mocha-all-devfiles-che-code.json +0 -12
- package/mocha-all-devfiles-theia.json +0 -15
- package/mocha-all-factories-che-code.json +0 -14
- package/mocha-all-factories-theia.json +0 -16
- package/mocha-all-plugins-che-code.json +0 -13
- package/mocha-all-plugins-theia.json +0 -15
- package/mocha-che-code.json +0 -12
- package/mocha-connector-theia.json +0 -12
- package/mocha-devworkspace-happy-path-che-code.json +0 -13
- package/mocha-devworkspace-happy-path-theia.json +0 -14
- package/mocha-empty-workspace-devworkspace-happy-path-che-code.json +0 -14
- package/mocha-factory-che-code.json +0 -13
- package/mocha-factory-theia.json +0 -14
- package/mocha-git-publish-branch-theia.json +0 -14
- package/mocha-git-self-sign-cert-theia.json +0 -14
- package/mocha-git-ssh-theia.json +0 -14
- package/mocha-happy-path-che-code.json +0 -14
- package/mocha-happy-path-theia.json +0 -15
- package/mocha-java-maven.json +0 -13
- package/mocha-java-springboot-che-code.json +0 -12
- package/mocha-java-springboot-theia.json +0 -13
- package/mocha-java-vertx-che-code.json +0 -12
- package/mocha-java-vertx-theia.json +0 -13
- package/mocha-load-theia.json +0 -12
- package/mocha-scala.json +0 -13
- package/mocha-single-devfile.json +0 -11
- package/mocha-theia.json +0 -12
- package/mocha-ws-creation-and-ls-theia.json +0 -12
- package/mocha.intelij.json +0 -13
- package/mocha.ocp.link.json +0 -11
- package/mocha.single.plugin.json +0 -8
- package/pageobjects/ide/theia/ContextMenu.ts +0 -55
- package/pageobjects/ide/theia/DebugView.ts +0 -88
- package/pageobjects/ide/theia/DialogWindow.ts +0 -101
- package/pageobjects/ide/theia/Editor.ts +0 -601
- package/pageobjects/ide/theia/Ide.ts +0 -393
- package/pageobjects/ide/theia/LeftToolBar.ts +0 -81
- package/pageobjects/ide/theia/NavigationBar.ts +0 -41
- package/pageobjects/ide/theia/NotificationCenter.ts +0 -75
- package/pageobjects/ide/theia/OpenDialogWidget.ts +0 -92
- package/pageobjects/ide/theia/OpenEditors.ts +0 -63
- package/pageobjects/ide/theia/OpenWorkspaceWidget.ts +0 -48
- package/pageobjects/ide/theia/PreviewWidget.ts +0 -142
- package/pageobjects/ide/theia/ProjectTree.ts +0 -338
- package/pageobjects/ide/theia/QuickOpenContainer.ts +0 -59
- package/pageobjects/ide/theia/RightToolBar.ts +0 -34
- package/pageobjects/ide/theia/Terminal.ts +0 -219
- package/pageobjects/ide/theia/TopMenu.ts +0 -103
- package/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.ts +0 -130
- package/pageobjects/ide/theia/plugins/GitPlugin.ts +0 -118
- package/pageobjects/ide/theia/plugins/KubernetesPlugin.ts +0 -113
- package/pageobjects/ide/theia/plugins/OpenshiftPlugin.ts +0 -87
- package/pageobjects/ide/theia/plugins/PluginsView.ts +0 -191
- package/tests/MochaHooks.ts +0 -57
- package/tests/devfiles/theia/CSlashCPlusPlus.spec.ts +0 -78
- package/tests/devfiles/theia/DevfileSmoke.spec.ts +0 -50
- package/tests/devfiles/theia/DotNetCore.spec.ts +0 -87
- package/tests/devfiles/theia/Go.spec.ts +0 -81
- package/tests/devfiles/theia/JavaMaven.spec.ts +0 -64
- package/tests/devfiles/theia/JavaSpringBoot.spec.ts +0 -71
- package/tests/devfiles/theia/JavaVertx.spec.ts +0 -65
- package/tests/devfiles/theia/NodeJS.spec.ts +0 -71
- package/tests/devfiles/theia/PHPSimple.spec.ts +0 -80
- package/tests/devfiles/theia/Python.spec.ts +0 -64
- package/tests/devfiles/theia/PythonDjango.spec.ts +0 -67
- package/tests/devfiles/theia/Quarkus.spec.ts +0 -76
- package/tests/devfiles/theia/Scala.spec.ts +0 -70
- package/tests/e2e/theia/FactoryUrl.spec.ts +0 -47
- package/tests/e2e/theia/GitPublishBranch.spec.ts +0 -109
- package/tests/e2e/theia/GitSelfSignCert.spec.ts +0 -110
- package/tests/e2e/theia/GitSsh.spec.ts +0 -144
- package/tests/e2e/theia/OpenshiftConnector.spec.ts +0 -144
- package/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.ts +0 -60
- package/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.ts +0 -57
- package/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.ts +0 -57
- package/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.ts +0 -294
- package/tests/e2e_happy_path/theia/HappyPath.spec.ts +0 -348
- package/tests/intelij/IntelijOpenWorkspace.spec.ts +0 -47
- package/tests/load_test/theia/LoadTest.spec.ts +0 -55
- package/tests/login/Login.spec.ts +0 -31
- package/tests/plugins/theia/GitHubPullRequestPlugin.spec.ts +0 -147
- package/tests/plugins/theia/InstallPluginUsingUI.spec.ts +0 -77
- package/tests/plugins/theia/JavaPlugin.spec.ts +0 -100
- package/tests/plugins/theia/PhpPlugin.spec.ts +0 -115
- package/tests/plugins/theia/PythonPlugin.spec.ts +0 -86
- package/tests/plugins/theia/TypescriptPlugin.spec.ts +0 -168
- package/tests/plugins/theia/VscodeKubernetesPlugin.spec.ts +0 -83
- package/tests/plugins/theia/VscodeShellcheckPlugin.spec.ts +0 -100
- package/tests/plugins/theia/VscodeValePlugin.spec.ts +0 -85
- package/tests/plugins/theia/VscodeXmlPlugin.spec.ts +0 -104
- package/tests/plugins/theia/VscodeYamlPlugin.spec.ts +0 -99
- package/testsLibrary/theia/CodeExecutionTestsTheia.ts +0 -220
- package/testsLibrary/theia/LanguageServerTestsTheia.ts +0 -205
- package/testsLibrary/theia/ProjectAndFileTestsTheia.ts +0 -113
- package/utils/AnimationChecker.ts +0 -27
- package/utils/theia/PreferencesHandlerTheia.ts +0 -123
- /package/{initDefaultValues.sh → configs/sh-scripts/initDefaultValues.sh} +0 -0
- /package/dist/utils/{VCS → vsc}/github/GitHubUtil.js +0 -0
- /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
|
-
}
|