@eclipse-che/che-e2e 7.124.0-next → 7.124.0-next-6307b25
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/constants/BASE_TEST_CONSTANTS.ts +6 -0
- package/dist/configs/inversify.config.js +123 -0
- package/dist/configs/inversify.config.js.map +1 -0
- package/dist/configs/inversify.types.js +74 -0
- package/dist/configs/inversify.types.js.map +1 -0
- package/dist/configs/mocharc.js +42 -0
- package/dist/configs/mocharc.js.map +1 -0
- package/dist/constants/API_TEST_CONSTANTS.js +60 -0
- package/dist/constants/API_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js +113 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js +40 -0
- package/dist/constants/CHROME_DRIVER_CONSTANTS.js.map +1 -0
- package/dist/constants/EDITOR_CONSTANTS.js +114 -0
- package/dist/constants/EDITOR_CONSTANTS.js.map +1 -0
- package/dist/constants/FACTORY_TEST_CONSTANTS.js +87 -0
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/MOCHA_CONSTANTS.js +24 -0
- package/dist/constants/MOCHA_CONSTANTS.js.map +1 -0
- package/dist/constants/MONACO_CONSTANTS.js +25 -0
- package/dist/constants/MONACO_CONSTANTS.js.map +1 -0
- package/dist/constants/OAUTH_CONSTANTS.js +53 -0
- package/dist/constants/OAUTH_CONSTANTS.js.map +1 -0
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js +19 -0
- package/dist/constants/PLUGIN_TEST_CONSTANTS.js.map +1 -0
- package/dist/constants/REPORTER_CONSTANTS.js +123 -0
- package/dist/constants/REPORTER_CONSTANTS.js.map +1 -0
- package/dist/constants/TIMEOUT_CONSTANTS.js +101 -0
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -0
- package/dist/driver/ChromeDriver.js +77 -0
- package/dist/driver/ChromeDriver.js.map +1 -0
- package/dist/driver/IDriver.js +3 -0
- package/dist/driver/IDriver.js.map +1 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +214 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
- package/dist/pageobjects/dashboard/Dashboard.js +208 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
- package/dist/pageobjects/dashboard/TrustAuthorPopup.js +61 -0
- package/dist/pageobjects/dashboard/TrustAuthorPopup.js.map +1 -0
- package/dist/pageobjects/dashboard/UserPreferences.js +341 -0
- package/dist/pageobjects/dashboard/UserPreferences.js.map +1 -0
- package/dist/pageobjects/dashboard/Workspaces.js +242 -0
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +192 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
- package/dist/pageobjects/git-providers/OauthPage.js +218 -0
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -0
- package/dist/pageobjects/ide/AiCodeSignInDialog.js +55 -0
- package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +1 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +108 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -0
- package/dist/pageobjects/ide/CommandPalette.js +117 -0
- package/dist/pageobjects/ide/CommandPalette.js.map +1 -0
- package/dist/pageobjects/ide/ExplorerView.js +108 -0
- package/dist/pageobjects/ide/ExplorerView.js.map +1 -0
- package/dist/pageobjects/ide/ExtensionsView.js +162 -0
- package/dist/pageobjects/ide/ExtensionsView.js.map +1 -0
- package/dist/pageobjects/ide/GitHubExtensionDialog.js +66 -0
- package/dist/pageobjects/ide/GitHubExtensionDialog.js.map +1 -0
- package/dist/pageobjects/ide/NotificationHandler.js +83 -0
- package/dist/pageobjects/ide/NotificationHandler.js.map +1 -0
- package/dist/pageobjects/ide/RestartWorkspaceDialog.js +80 -0
- package/dist/pageobjects/ide/RestartWorkspaceDialog.js.map +1 -0
- package/dist/pageobjects/ide/RestrictedModeButton.js +57 -0
- package/dist/pageobjects/ide/RestrictedModeButton.js.map +1 -0
- package/dist/pageobjects/ide/SourceControlView.js +52 -0
- package/dist/pageobjects/ide/SourceControlView.js.map +1 -0
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js +73 -0
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +1 -0
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js +12 -0
- package/dist/pageobjects/login/interfaces/ICheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js +12 -0
- package/dist/pageobjects/login/interfaces/IOcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js +69 -0
- package/dist/pageobjects/login/kubernetes/DexLoginPage.js.map +1 -0
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js +50 -0
- package/dist/pageobjects/login/kubernetes/KubernetesLoginPage.js.map +1 -0
- package/dist/pageobjects/login/openshift/OcpLoginPage.js +88 -0
- package/dist/pageobjects/login/openshift/OcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js +73 -0
- package/dist/pageobjects/login/openshift/OcpRedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js +53 -0
- package/dist/pageobjects/login/openshift/OcpUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js +85 -0
- package/dist/pageobjects/login/openshift/RedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js +65 -0
- package/dist/pageobjects/login/openshift/RegularUserOcpCheLoginPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpApplicationPage.js +60 -0
- package/dist/pageobjects/openshift/OcpApplicationPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js +92 -0
- package/dist/pageobjects/openshift/OcpImportFromGitPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpMainPage.js +140 -0
- package/dist/pageobjects/openshift/OcpMainPage.js.map +1 -0
- package/dist/pageobjects/webterminal/WebTerminalPage.js +182 -0
- package/dist/pageobjects/webterminal/WebTerminalPage.js.map +1 -0
- package/dist/specs/MochaHooks.js +142 -0
- package/dist/specs/MochaHooks.js.map +1 -0
- package/dist/specs/SmokeTest.spec.js +58 -0
- package/dist/specs/SmokeTest.spec.js.map +1 -0
- package/dist/specs/api/AnsibleDevFileAPI.spec.js +263 -0
- package/dist/specs/api/AnsibleDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js +147 -0
- package/dist/specs/api/BuildPushRunPodmanContainerAPI.spec.js.map +1 -0
- package/dist/specs/api/ContainerOverridesAPI.spec.js +40 -0
- package/dist/specs/api/ContainerOverridesAPI.spec.js.map +1 -0
- package/dist/specs/api/CppDevFileAPI.spec.js +87 -0
- package/dist/specs/api/CppDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js +99 -0
- package/dist/specs/api/DevfileAcceptanceTestAPI.spec.js.map +1 -0
- package/dist/specs/api/DotnetDevFileAPI.spec.js +89 -0
- package/dist/specs/api/DotnetDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js +60 -0
- package/dist/specs/api/EmptyWorkspaceAPI.spec.js.map +1 -0
- package/dist/specs/api/GoDevFileAPI.spec.js +82 -0
- package/dist/specs/api/GoDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js +97 -0
- package/dist/specs/api/InbuiltApplicationDevWorkspacesAPI.spec.js.map +1 -0
- package/dist/specs/api/JBossEapDevFileAPI.spec.js +127 -0
- package/dist/specs/api/JBossEapDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/LombokDevFileAPI.spec.js +81 -0
- package/dist/specs/api/LombokDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js +81 -0
- package/dist/specs/api/NodeJSMongoDBDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js +130 -0
- package/dist/specs/api/NodeJsExpressDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/PhpDevFileAPI.spec.js +71 -0
- package/dist/specs/api/PhpDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/PodOverridesAPI.spec.js +46 -0
- package/dist/specs/api/PodOverridesAPI.spec.js.map +1 -0
- package/dist/specs/api/PythonDevFileAPI.spec.js +71 -0
- package/dist/specs/api/PythonDevFileAPI.spec.js.map +1 -0
- package/dist/specs/api/QuarkusDevFileAPI.spec.js +97 -0
- package/dist/specs/api/QuarkusDevFileAPI.spec.js.map +1 -0
- package/dist/specs/dashboard-samples/Documentation.spec.js +118 -0
- package/dist/specs/dashboard-samples/Documentation.spec.js.map +1 -0
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +60 -0
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -0
- package/dist/specs/dashboard-samples/Quarkus.spec.js +64 -0
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -0
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +361 -0
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -0
- package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js +171 -0
- package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +1 -0
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +155 -0
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -0
- package/dist/specs/factory/Factory.spec.js +183 -0
- package/dist/specs/factory/Factory.spec.js.map +1 -0
- package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js +63 -0
- package/dist/specs/factory/FactoryWithGitRepoOptions.spec.js.map +1 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +212 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +239 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -0
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +202 -0
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +77 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +106 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +113 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js +116 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromSample.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js +205 -0
- package/dist/specs/miscellaneous/CustomOpenVSXRegistry.spec.js.map +1 -0
- package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js +129 -0
- package/dist/specs/miscellaneous/ExtensionActivationTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js +121 -0
- package/dist/specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +103 -0
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.js +138 -0
- package/dist/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +111 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -0
- package/dist/specs/miscellaneous/RenameWorkspace.spec.js +116 -0
- package/dist/specs/miscellaneous/RenameWorkspace.spec.js.map +1 -0
- package/dist/specs/miscellaneous/RevokeOauth.spec.js +29 -0
- package/dist/specs/miscellaneous/RevokeOauth.spec.js.map +1 -0
- package/dist/specs/miscellaneous/UserPreferencesTest.spec.js +26 -0
- package/dist/specs/miscellaneous/UserPreferencesTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js +78 -0
- package/dist/specs/miscellaneous/UserSecretsInWorkspace.spec.js.map +1 -0
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +196 -0
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +1 -0
- package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js +208 -0
- package/dist/specs/miscellaneous/WorkspaceBackupRestore.spec.js.map +1 -0
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +84 -0
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +1 -0
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +84 -0
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +1 -0
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +101 -0
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +1 -0
- package/dist/specs/restart-tests/RestartFromLocalDevfile.spec.js +266 -0
- package/dist/specs/restart-tests/RestartFromLocalDevfile.spec.js.map +1 -0
- package/dist/specs/web-terminal/WebTerminalTest.spec.js +47 -0
- package/dist/specs/web-terminal/WebTerminalTest.spec.js.map +1 -0
- package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js +82 -0
- package/dist/specs/web-terminal/WebTerminalUnderAdmin.spec.js.map +1 -0
- package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js +78 -0
- package/dist/specs/web-terminal/WebTerminalUnderRegularUser.spec.js.map +1 -0
- package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js +13 -0
- package/dist/suites/devfile-acceptance-test-suite/DynamicallyGeneratingAPITest.suite.js.map +1 -0
- package/dist/suites/disconnected-ocp/APITest.suite.js +14 -0
- package/dist/suites/disconnected-ocp/APITest.suite.js.map +1 -0
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
- package/dist/suites/disconnected-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
- package/dist/suites/disconnected-ocp/UITest.suite.js +19 -0
- package/dist/suites/disconnected-ocp/UITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/APITest.suite.js +15 -0
- package/dist/suites/online-ocp/APITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js +13 -0
- package/dist/suites/online-ocp/DynamicallyGeneratingAPITest.suite.js.map +1 -0
- package/dist/suites/online-ocp/UITest.suite.js +23 -0
- package/dist/suites/online-ocp/UITest.suite.js.map +1 -0
- package/dist/tests-library/LoginTests.js +76 -0
- package/dist/tests-library/LoginTests.js.map +1 -0
- package/dist/tests-library/ProjectAndFileTests.js +278 -0
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -0
- package/dist/tests-library/WorkspaceHandlingTests.js +219 -0
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +124 -0
- package/dist/utils/BrowserTabsUtil.js.map +1 -0
- package/dist/utils/CheReporter.js +238 -0
- package/dist/utils/CheReporter.js.map +1 -0
- package/dist/utils/DevWorkspaceConfigurationHelper.js +145 -0
- package/dist/utils/DevWorkspaceConfigurationHelper.js.map +1 -0
- package/dist/utils/DevfilesHelper.js +177 -0
- package/dist/utils/DevfilesHelper.js.map +1 -0
- package/dist/utils/DriverHelper.js +609 -0
- package/dist/utils/DriverHelper.js.map +1 -0
- package/dist/utils/IContextParams.js +12 -0
- package/dist/utils/IContextParams.js.map +1 -0
- package/dist/utils/IKubernetesCommandLineToolsExecutor.js +3 -0
- package/dist/utils/IKubernetesCommandLineToolsExecutor.js.map +1 -0
- package/dist/utils/KubernetesCommandLineToolsExecutor.js +338 -0
- package/dist/utils/KubernetesCommandLineToolsExecutor.js.map +1 -0
- package/dist/utils/Logger.js +146 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/ScreenCatcher.js +114 -0
- package/dist/utils/ScreenCatcher.js.map +1 -0
- package/dist/utils/ShellExecutor.js +47 -0
- package/dist/utils/ShellExecutor.js.map +1 -0
- package/dist/utils/StringUtil.js +107 -0
- package/dist/utils/StringUtil.js.map +1 -0
- package/dist/utils/request-handlers/CheApiRequestHandler.js +128 -0
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js +55 -0
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js +12 -0
- package/dist/utils/request-handlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +123 -0
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js +212 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/WorkspaceStatus.js +19 -0
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
- package/index.ts +5 -5
- package/package.json +1 -1
- package/pageobjects/dashboard/CreateWorkspace.ts +50 -0
- package/pageobjects/dashboard/UserPreferences.ts +106 -0
- package/specs/miscellaneous/OpenCodeProviderSmokeTest.spec.ts +175 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KubedockPodmanPersistUserHomeTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/KubedockPodmanPersistUserHomeTest.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAIxE,mEAA+D;AAC/D,qEAA8D;AAC9D,uFAAoF;AACpF,8CAAyD;AAGzD,+BAA8B;AAG9B,6EAA0E;AAG1E,mFAAgF;AAGhF,KAAK,CAAC,uEAAuE,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACpH,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,aAAa,GAAkB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IAEF,IAAI,aAAa,GAAW,EAAE,CAAC;IAC/B,IAAI,0BAA0B,GAAY,KAAK,CAAC;IAChD,MAAM,cAAc,GAAW,WAAW,CAAC;IAE3C,MAAM,UAAU,GACf,qBAAqB;QACrB,gCAAgC;QAChC,yBAAyB;QACzB,kBAAkB;QAClB,sBAAsB;QACtB,2BAA2B;QAC3B,iCAAiC;QACjC,4BAA4B;QAC5B,8BAA8B;QAC9B,iEAAiE;QACjE,mCAAmC;QACnC,gDAAgD;QAChD,+EAA+E;QAC/E,gDAAgD;QAChD,yCAAyC,CAAC;IAE3C,MAAM,aAAa,GAClB,qBAAqB;QACrB,gCAAgC;QAChC,yBAAyB;QACzB,kBAAkB;QAClB,iCAAiC;QACjC,4BAA4B;QAC5B,8BAA8B;QAC9B,iEAAiE;QACjE,mCAAmC;QACnC,gDAAgD;QAChD,+EAA+E;QAC/E,wBAAwB,CAAC;IAE1B,MAAM,UAAU,GAAW,yCAAmB,CAAC,uBAAuB,EAAE;QACvE,CAAC,CAAC,+CAAsB,CAAC,uCAAuC;YAC/D,mEAAmE;QACpE,CAAC,CAAC,+CAAsB,CAAC,gCAAgC,IAAI,kDAAkD,CAAC;IAEjH,UAAU,CAAC;QACV,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAChD,aAAa,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAAC;QAE/D,oEAAoE;QACpE,MAAM,YAAY,GAAW,aAAa;aACxC,cAAc,CAAC,qBAAqB,cAAc,gEAAgE,CAAC;aACnH,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,0BAA0B,GAAG,YAAY,KAAK,MAAM,CAAC;QAErD,2DAA2D;QAC3D,MAAM,WAAW,GAAgB,aAAa,CAAC,cAAc,CAC5D,uBAAuB,cAAc,gBAAgB;YACpD,2EAA2E,CAC5E,CAAC;QACF,IAAA,aAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,sDAAsD,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,UAAU,EAAE,EAAE,KAAK;QACrE,MAAM,sBAAsB,CAAC,uCAAuC,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QACnE,aAAa,GAAG,+CAAsB,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAA,aAAM,EAAC,aAAa,EAAE,sDAAsD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,IAAA,qCAAwB,EAAC,aAAa,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK;QAClD,MAAM,cAAc,GAAgB,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;QACtF,IAAA,aAAM,EAAC,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/H,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gFAAgF,EAAE;QACtF,kCAAkC,CAAC,aAAa,GAAG,aAAa,CAAC;QACjE,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAChD,kCAAkC,CAAC,uBAAuB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAgB,kCAAkC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAgB,kCAAkC,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACxG,IAAA,aAAM,EAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC;QACb,yEAAyE;QACzE,MAAM,aAAa,GAAgB,aAAa,CAAC,cAAc,CAC9D,uBAAuB,cAAc,gBAAgB;YACpD,iEAAiE,0BAA0B,OAAO,CACnG,CAAC;QAEF,IAAA,aAAM,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,sDAAsD,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,sCAAsC,EAAE,KAAK;QAC1D,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;QAClD,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,8BAA8B,EAAE;QAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
4
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
5
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
6
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
7
|
+
const chai_1 = require("chai");
|
|
8
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
9
|
+
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
10
|
+
suite(`Check possibility to manage containers within a workspace with kubedock and podman ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
11
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
12
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
13
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
14
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
15
|
+
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
16
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
17
|
+
let kubernetesCommandLineToolsExecutor;
|
|
18
|
+
let workspaceName = '';
|
|
19
|
+
/**
|
|
20
|
+
* test requires the following files to be present in the workspace root:
|
|
21
|
+
* - A Dockerfile named Dockerfile.${ARCH} with content:
|
|
22
|
+
* FROM scratch
|
|
23
|
+
* COPY hello /hello
|
|
24
|
+
* CMD ["/hello"]
|
|
25
|
+
* - A compiled 'hello' binary, that prints "Hello from Kubedock!" to output.
|
|
26
|
+
*
|
|
27
|
+
* Used to build and run a container in a pod for verifying Podman functionality.
|
|
28
|
+
*/
|
|
29
|
+
const testScript = '# Enable Kubedock\n' +
|
|
30
|
+
'export KUBEDOCK_ENABLED=true\n' +
|
|
31
|
+
'echo KUBEDOCK_ENABLED\n' +
|
|
32
|
+
'/entrypoint.sh\n' +
|
|
33
|
+
'cd $PROJECT_SOURCE\n' +
|
|
34
|
+
'export ARCH=$(uname -m)\n' +
|
|
35
|
+
'export DATE=$(date +"%m%d%y")\n' +
|
|
36
|
+
'export USER=$(oc whoami)\n' +
|
|
37
|
+
'export TKN=$(oc whoami -t)\n' +
|
|
38
|
+
'export REG="image-registry.openshift-image-registry.svc:5000"\n' +
|
|
39
|
+
'export PROJECT=$(oc project -q)\n' +
|
|
40
|
+
'export IMG="${REG}/${PROJECT}/hello:${DATE}"\n' +
|
|
41
|
+
'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
|
|
42
|
+
'podman build -t ${IMG} -f Dockerfile.${ARCH}\n' +
|
|
43
|
+
'podman push --tls-verify=false ${IMG}\n';
|
|
44
|
+
const runTestScript = '# Enable Kubedock\n' +
|
|
45
|
+
'export KUBEDOCK_ENABLED=true\n' +
|
|
46
|
+
'echo KUBEDOCK_ENABLED\n' +
|
|
47
|
+
'/entrypoint.sh\n' +
|
|
48
|
+
'export DATE=$(date +"%m%d%y")\n' +
|
|
49
|
+
'export USER=$(oc whoami)\n' +
|
|
50
|
+
'export TKN=$(oc whoami -t)\n' +
|
|
51
|
+
'export REG="image-registry.openshift-image-registry.svc:5000"\n' +
|
|
52
|
+
'export PROJECT=$(oc project -q)\n' +
|
|
53
|
+
'export IMG="${REG}/${PROJECT}/hello:${DATE}"\n' +
|
|
54
|
+
'podman login --tls-verify=false --username ${USER} --password ${TKN} ${REG}\n' +
|
|
55
|
+
'podman run --rm ${IMG}';
|
|
56
|
+
const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
57
|
+
? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
58
|
+
'https://gh.crw-qe.com/test-automation-only/dockerfile-hello-world'
|
|
59
|
+
: FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/dockerfile-hello-world';
|
|
60
|
+
suiteSetup('Login', async function () {
|
|
61
|
+
await loginTests.loginIntoChe();
|
|
62
|
+
});
|
|
63
|
+
test(`Create and open new workspace from factory:${factoryUrl}`, async function () {
|
|
64
|
+
await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
|
|
65
|
+
});
|
|
66
|
+
test('Obtain workspace name from workspace loader page', async function () {
|
|
67
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
68
|
+
workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
69
|
+
(0, chai_1.expect)(workspaceName, 'Workspace name was not fetched from the loading page').not.undefined;
|
|
70
|
+
});
|
|
71
|
+
test('Register running workspace', function () {
|
|
72
|
+
(0, MochaHooks_1.registerRunningWorkspace)(workspaceName);
|
|
73
|
+
});
|
|
74
|
+
test('Wait workspace readiness', async function () {
|
|
75
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
76
|
+
});
|
|
77
|
+
test('Check the project files were imported', async function () {
|
|
78
|
+
const projectSection = await projectAndFileTests.getProjectViewSession();
|
|
79
|
+
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, 'Dockerfile.ppc64le'), 'Files not imported').not.undefined;
|
|
80
|
+
await projectAndFileTests.performTrustDialogs();
|
|
81
|
+
});
|
|
82
|
+
test('Create and check container runs using kubedock and podman', function () {
|
|
83
|
+
kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
84
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
85
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
86
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
87
|
+
const output = kubernetesCommandLineToolsExecutor.execInContainerCommand(testScript);
|
|
88
|
+
(0, chai_1.expect)(output, 'Podman test script failed').contains('Successfully tagged');
|
|
89
|
+
const runOutput = kubernetesCommandLineToolsExecutor.execInContainerCommand(runTestScript);
|
|
90
|
+
(0, chai_1.expect)(runOutput, 'Podman test script failed').contains('Hello from Kubedock!');
|
|
91
|
+
});
|
|
92
|
+
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
93
|
+
await dashboard.openDashboard();
|
|
94
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
95
|
+
});
|
|
96
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
97
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
98
|
+
});
|
|
99
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
100
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=KubedockPodmanTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KubedockPodmanTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/KubedockPodmanTest.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
17
|
+
const chai_1 = require("chai");
|
|
18
|
+
const Logger_1 = require("../../utils/Logger");
|
|
19
|
+
const stackName = 'Empty Workspace';
|
|
20
|
+
suite(`OpenCode Provider Smoke Test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
22
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
23
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
24
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
+
const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
|
|
26
|
+
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
27
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
28
|
+
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
29
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
30
|
+
const containerTerminal = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ContainerTerminal);
|
|
31
|
+
const providerName = 'OpenCode';
|
|
32
|
+
const providerId = 'opencodeai/opencode';
|
|
33
|
+
const apiKey = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_AI_PROVIDER_API_KEY;
|
|
34
|
+
const envVarName = 'OPENAI_API_KEY';
|
|
35
|
+
const openAiModel = 'gpt-4o-mini';
|
|
36
|
+
async function deleteAiProviderKeys() {
|
|
37
|
+
Logger_1.Logger.debug('Deleting AI Provider keys if they are present');
|
|
38
|
+
await userPreferences.openUserPreferencesPage();
|
|
39
|
+
await userPreferences.openAiProviderKeysTab();
|
|
40
|
+
await userPreferences.deleteAiProviderKeys(providerName);
|
|
41
|
+
}
|
|
42
|
+
suiteSetup('Login', async function () {
|
|
43
|
+
await loginTests.loginIntoChe();
|
|
44
|
+
await deleteAiProviderKeys();
|
|
45
|
+
});
|
|
46
|
+
suite('Add AI Provider API key', function () {
|
|
47
|
+
test('Navigate to AI Provider Keys tab', async function () {
|
|
48
|
+
await userPreferences.openUserPreferencesPage();
|
|
49
|
+
await userPreferences.waitAiProviderKeysTab();
|
|
50
|
+
await userPreferences.openAiProviderKeysTab();
|
|
51
|
+
});
|
|
52
|
+
test(`Add ${providerName} API key`, async function () {
|
|
53
|
+
await userPreferences.addAiProviderKey(providerName, apiKey);
|
|
54
|
+
});
|
|
55
|
+
test(`Verify ${providerName} key is present in the list`, async function () {
|
|
56
|
+
await userPreferences.waitAiProviderKeyPresent(providerId);
|
|
57
|
+
const actualEnvVarName = await userPreferences.getAiProviderEnvVarName(providerId);
|
|
58
|
+
(0, chai_1.expect)(actualEnvVarName).to.equal(envVarName);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
suite('Verify AI Provider on Create Workspace page', function () {
|
|
62
|
+
test('Navigate to Create Workspace page', async function () {
|
|
63
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
64
|
+
await createWorkspace.waitPage();
|
|
65
|
+
});
|
|
66
|
+
test('Verify AI Provider section is visible', async function () {
|
|
67
|
+
await createWorkspace.waitAiProviderSectionVisible();
|
|
68
|
+
});
|
|
69
|
+
test('Expand "Choose an AI Provider" section', async function () {
|
|
70
|
+
await createWorkspace.expandChooseAiProviderSection();
|
|
71
|
+
});
|
|
72
|
+
test(`Verify ${providerName} provider card is visible`, async function () {
|
|
73
|
+
await createWorkspace.waitAiProviderCardVisible(providerId);
|
|
74
|
+
});
|
|
75
|
+
test('Verify "Key configured" badge is displayed', async function () {
|
|
76
|
+
const isBadgeVisible = await createWorkspace.isAiProviderKeyConfiguredBadgeVisible();
|
|
77
|
+
(0, chai_1.expect)(isBadgeVisible, '"Key configured" badge should be visible').to.be.true;
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
suite('Create workspace and verify AI tool', function () {
|
|
81
|
+
test(`Create and open ${stackName}`, async function () {
|
|
82
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
83
|
+
});
|
|
84
|
+
test('Obtain workspace name from workspace loader page', async function () {
|
|
85
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
86
|
+
});
|
|
87
|
+
test('Register running workspace', function () {
|
|
88
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
89
|
+
});
|
|
90
|
+
test('Wait workspace readiness', async function () {
|
|
91
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
92
|
+
});
|
|
93
|
+
test('Connect to workspace container', function () {
|
|
94
|
+
kubernetesCommandLineToolsExecutor.workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
95
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
96
|
+
kubernetesCommandLineToolsExecutor.getPodAndContainerNames();
|
|
97
|
+
});
|
|
98
|
+
test('Verify opencode binary is available in workspace', function () {
|
|
99
|
+
const output = containerTerminal.execInContainerCommand('which opencode || ls /injected-tools/opencode');
|
|
100
|
+
(0, chai_1.expect)(output.code, 'opencode binary should be present in the workspace').to.equal(0);
|
|
101
|
+
});
|
|
102
|
+
test(`Verify ${envVarName} environment variable is set`, function () {
|
|
103
|
+
const output = containerTerminal.execInContainerCommand(`printenv ${envVarName}`);
|
|
104
|
+
(0, chai_1.expect)(output.stdout.trim(), `${envVarName} environment variable should be set`).to.not.be.empty;
|
|
105
|
+
});
|
|
106
|
+
test('Verify opencode starts and reports version', function () {
|
|
107
|
+
const output = containerTerminal.execInContainerCommandWithTimeout('opencode --version 2>&1', undefined, '15');
|
|
108
|
+
(0, chai_1.expect)(output.code, 'opencode --version should exit with code 0').to.equal(0);
|
|
109
|
+
(0, chai_1.expect)(output.stdout, 'opencode should return version info').to.not.be.empty;
|
|
110
|
+
(0, chai_1.expect)(output.stdout.toLowerCase(), 'opencode --version should not contain errors').to.not.contain('error');
|
|
111
|
+
});
|
|
112
|
+
test('Verify API key reaches OpenAI and returns insufficient_quota', function () {
|
|
113
|
+
// call OpenAI API directly via curl to verify the injected API key works end-to-end.
|
|
114
|
+
// the key is valid but has no credits, so OpenAI returns "insufficient_quota" error.
|
|
115
|
+
// we use curl instead of "opencode run" because opencode's plugin initialization
|
|
116
|
+
// hangs in workspace containers that cannot reach the npm registry.
|
|
117
|
+
const curlCommand = 'curl -s -m 15 https://api.openai.com/v1/chat/completions ' +
|
|
118
|
+
'-H "Authorization: Bearer $OPENAI_API_KEY" ' +
|
|
119
|
+
'-H "Content-Type: application/json" ' +
|
|
120
|
+
`-d "{\\"model\\":\\"${openAiModel}\\",\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"Say hello\\"}]}"`;
|
|
121
|
+
const output = containerTerminal.execInContainerCommand(curlCommand);
|
|
122
|
+
const response = output.stdout + output.stderr;
|
|
123
|
+
Logger_1.Logger.info(`OpenAI API response: ${response}`);
|
|
124
|
+
(0, chai_1.expect)(response, 'OpenAI API should return insufficient_quota for a key with no credits').to.contain('insufficient_quota');
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
suiteTeardown('Open dashboard and close all other tabs', async function () {
|
|
128
|
+
await dashboard.openDashboard();
|
|
129
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
130
|
+
});
|
|
131
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
132
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
133
|
+
});
|
|
134
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
135
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=OpenCodeProviderSmokeTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenCodeProviderSmokeTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/OpenCodeProviderSmokeTest.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2023 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const chai_1 = require("chai");
|
|
14
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
15
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
16
|
+
const Logger_1 = require("../../utils/Logger");
|
|
17
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
+
const DevWorkspaceConfigurationHelper_1 = require("../../utils/DevWorkspaceConfigurationHelper");
|
|
19
|
+
suite(`Create predefined workspace and check it ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
20
|
+
const predefinedNamespaceName = 'predefined-ns';
|
|
21
|
+
const workspaceName = 'empty-ws';
|
|
22
|
+
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
23
|
+
const userName = 'user';
|
|
24
|
+
let devWorkspaceConfigurationHelper;
|
|
25
|
+
let devfileContext;
|
|
26
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
27
|
+
// dev Spaces specific images
|
|
28
|
+
const majorMinorVersion = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_VERSION.split('.').slice(0, 2).join('.');
|
|
29
|
+
const devSpacesEditorImage = `quay.io/redhat-user-workloads/devspaces-tenant/devspaces/code-rhel9:${majorMinorVersion}`;
|
|
30
|
+
const devSpacesUdiImage = 'registry.redhat.io/devspaces/udi-rhel9:latest';
|
|
31
|
+
suiteSetup(function () {
|
|
32
|
+
// create a predefined namespace for user using shell script and login into user dashboard
|
|
33
|
+
Logger_1.Logger.debug('Test prerequisites:');
|
|
34
|
+
Logger_1.Logger.debug(' (1) there is OCP user with username and user password that have been set in the TS_SELENIUM_OCP_USERNAME and TS_SELENIUM_OCP_PASSWORD variables');
|
|
35
|
+
Logger_1.Logger.debug(' (2) "oc" client installed and logged into test OCP cluster with admin rights.');
|
|
36
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
37
|
+
const predefinedProjectConfiguration = 'kind: Namespace\n' +
|
|
38
|
+
'apiVersion: v1\n' +
|
|
39
|
+
'metadata:\n' +
|
|
40
|
+
` name: ${predefinedNamespaceName}\n` +
|
|
41
|
+
' labels:\n' +
|
|
42
|
+
' app.kubernetes.io/part-of: che.eclipse.org\n' +
|
|
43
|
+
' app.kubernetes.io/component: workspaces-namespace\n' +
|
|
44
|
+
' annotations:\n' +
|
|
45
|
+
' che.eclipse.org/username: user';
|
|
46
|
+
kubernetesCommandLineToolsExecutor.applyWithoutNamespace(predefinedProjectConfiguration);
|
|
47
|
+
const setEditRightsForUser = `oc adm policy add-role-to-user edit user -n ${predefinedNamespaceName}`;
|
|
48
|
+
shellExecutor.executeCommand(setEditRightsForUser);
|
|
49
|
+
});
|
|
50
|
+
// generate empty workspace DevFile and create it through oc client under a regular user
|
|
51
|
+
suiteSetup('Login', async function () {
|
|
52
|
+
const devfileContent = 'schemaVersion: 2.2.0\n' + 'metadata:\n' + ` name: ${workspaceName}\n`;
|
|
53
|
+
kubernetesCommandLineToolsExecutor.loginToOcp(userName);
|
|
54
|
+
devWorkspaceConfigurationHelper = new DevWorkspaceConfigurationHelper_1.DevWorkspaceConfigurationHelper({
|
|
55
|
+
devfileContent
|
|
56
|
+
});
|
|
57
|
+
devfileContext = await devWorkspaceConfigurationHelper.generateDevfileContext();
|
|
58
|
+
// update component images for Dev Spaces only
|
|
59
|
+
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TESTING_APPLICATION_NAME() === 'devspaces') {
|
|
60
|
+
// update che-code-injector image in devWorkspaceTemplates
|
|
61
|
+
devfileContext.devWorkspaceTemplates.forEach((template) => {
|
|
62
|
+
template.spec?.components?.forEach((component) => {
|
|
63
|
+
if (component.name === 'che-code-injector' && component.container?.image) {
|
|
64
|
+
component.container.image = devSpacesEditorImage;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
// update che-code-runtime-description (UDI) image in devWorkspaceTemplates
|
|
69
|
+
devfileContext.devWorkspaceTemplates.forEach((template) => {
|
|
70
|
+
template.spec?.components?.forEach((component) => {
|
|
71
|
+
if (component.name === 'che-code-runtime-description' && component.container?.image) {
|
|
72
|
+
component.container.image = devSpacesUdiImage;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const devWorkspaceConfigurationYamlString = devWorkspaceConfigurationHelper.getDevWorkspaceConfigurationYamlAsString(devfileContext);
|
|
78
|
+
kubernetesCommandLineToolsExecutor.applyWithoutNamespace(devWorkspaceConfigurationYamlString);
|
|
79
|
+
});
|
|
80
|
+
// verify that just created workspace is available for the dedicated user
|
|
81
|
+
test('Validate that predefined namespace has been created', function () {
|
|
82
|
+
const expectedProject = shellExecutor.executeArbitraryShellScript('oc get projects');
|
|
83
|
+
(0, chai_1.expect)(expectedProject).contains(predefinedNamespaceName);
|
|
84
|
+
});
|
|
85
|
+
// ensure the generated DevSpace is created within the predefined namespace
|
|
86
|
+
test('Create test DevWorkspace and verify its creation within the predefined namespace', function () {
|
|
87
|
+
kubernetesCommandLineToolsExecutor.namespace = predefinedNamespaceName;
|
|
88
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
89
|
+
// relogin under the admin user (because regular user does not have permissions for getting pod states)
|
|
90
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
91
|
+
(0, chai_1.expect)(kubernetesCommandLineToolsExecutor.waitDevWorkspace().stdout).contains('condition met');
|
|
92
|
+
});
|
|
93
|
+
// verify that the newly created workspace, identified by a unique name, exists within the predefined namespace. Given that multiple users may use the same cluster and create multiple DevSpaces within the same OpenShift project, it's essential to confirm that our test project, distinguished by a unique name, has been successfully created.
|
|
94
|
+
test('Validate the creation of the correct DevWorkspace with a unique name', function () {
|
|
95
|
+
const ocDevWorkspaceOutput = kubernetesCommandLineToolsExecutor.getDevWorkspaceYamlConfiguration();
|
|
96
|
+
(0, chai_1.expect)(ocDevWorkspaceOutput).includes(workspaceName);
|
|
97
|
+
});
|
|
98
|
+
suiteTeardown(function () {
|
|
99
|
+
const workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
100
|
+
try {
|
|
101
|
+
// the test can failed under the regular user. Need login as admin for removing test namespace and DevSpaces.
|
|
102
|
+
kubernetesCommandLineToolsExecutor.loginToOcp('admin');
|
|
103
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
104
|
+
kubernetesCommandLineToolsExecutor.deleteProject(predefinedNamespaceName);
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
Logger_1.Logger.error(`Cannot remove the predefined project: ${workspaceName}, please fix it manually: ${e}`);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=PredefinedNamespace.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PredefinedNamespace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/PredefinedNamespace.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const chai_1 = require("chai");
|
|
15
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
16
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
17
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
19
|
+
const stackName = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_DASHBOARD_SAMPLE_NAME || 'Empty Workspace';
|
|
20
|
+
const RENAMED_WORKSPACE_NAME = 'new-ws';
|
|
21
|
+
suite(`Rename workspace ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
22
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
23
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
24
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
25
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
26
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
27
|
+
const workspaces = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Workspaces);
|
|
28
|
+
const workspaceDetails = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceDetails);
|
|
29
|
+
let firstWorkspaceName = '';
|
|
30
|
+
let secondWorkspaceName = '';
|
|
31
|
+
async function openDashboardWorkspacesList() {
|
|
32
|
+
await dashboard.openDashboard();
|
|
33
|
+
await dashboard.clickWorkspacesButton();
|
|
34
|
+
await workspaces.waitPage();
|
|
35
|
+
}
|
|
36
|
+
async function openWorkspaceDetailsOverview(workspaceName) {
|
|
37
|
+
await openDashboardWorkspacesList();
|
|
38
|
+
await workspaces.clickWorkspaceListItemLink(workspaceName);
|
|
39
|
+
await workspaceDetails.waitWorkspaceTitle(workspaceName);
|
|
40
|
+
await workspaceDetails.waitLoaderDisappearance();
|
|
41
|
+
}
|
|
42
|
+
suiteSetup('Login', async function () {
|
|
43
|
+
await loginTests.loginIntoChe();
|
|
44
|
+
});
|
|
45
|
+
test(`Create workspace from sample (${stackName})`, async function () {
|
|
46
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
47
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
48
|
+
firstWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
49
|
+
(0, MochaHooks_1.registerRunningWorkspace)(firstWorkspaceName);
|
|
50
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
51
|
+
});
|
|
52
|
+
test('Workspace details: rename must not be available while the workspace is running', async function () {
|
|
53
|
+
await openWorkspaceDetailsOverview(firstWorkspaceName);
|
|
54
|
+
await workspaceDetails.checkRenameButtonIsAbsent();
|
|
55
|
+
});
|
|
56
|
+
test('Stop the first workspace from the dashboard', async function () {
|
|
57
|
+
await workspaceHandlingTests.stopWorkspace(firstWorkspaceName);
|
|
58
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
59
|
+
});
|
|
60
|
+
test(`Rename stopped workspace to "${RENAMED_WORKSPACE_NAME}" from workspace details`, async function () {
|
|
61
|
+
await openWorkspaceDetailsOverview(firstWorkspaceName);
|
|
62
|
+
await workspaceDetails.renameWorkspace(RENAMED_WORKSPACE_NAME);
|
|
63
|
+
firstWorkspaceName = RENAMED_WORKSPACE_NAME;
|
|
64
|
+
});
|
|
65
|
+
test(`Dashboard lists and details show "${RENAMED_WORKSPACE_NAME}"`, async function () {
|
|
66
|
+
await openDashboardWorkspacesList();
|
|
67
|
+
await workspaces.waitWorkspaceListItem(RENAMED_WORKSPACE_NAME, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
68
|
+
await workspaces.clickWorkspaceListItemLink(RENAMED_WORKSPACE_NAME);
|
|
69
|
+
await workspaceDetails.waitWorkspaceTitle(RENAMED_WORKSPACE_NAME);
|
|
70
|
+
});
|
|
71
|
+
test(`Start "${RENAMED_WORKSPACE_NAME}" and wait until it is Running`, async function () {
|
|
72
|
+
await openDashboardWorkspacesList();
|
|
73
|
+
await workspaceHandlingTests.openWorkspace(RENAMED_WORKSPACE_NAME);
|
|
74
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
75
|
+
const startedWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
76
|
+
(0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName()).equal(RENAMED_WORKSPACE_NAME);
|
|
77
|
+
(0, MochaHooks_1.registerRunningWorkspace)(startedWorkspaceName);
|
|
78
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
79
|
+
});
|
|
80
|
+
test(`Stop "${RENAMED_WORKSPACE_NAME}" again`, async function () {
|
|
81
|
+
await workspaceHandlingTests.stopWorkspace(RENAMED_WORKSPACE_NAME);
|
|
82
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
83
|
+
});
|
|
84
|
+
test(`Workspace details: setting name to "${RENAMED_WORKSPACE_NAME}" when it is already the current name is rejected`, async function () {
|
|
85
|
+
await openWorkspaceDetailsOverview(RENAMED_WORKSPACE_NAME);
|
|
86
|
+
await workspaceDetails.openRenameWorkspaceForm();
|
|
87
|
+
await workspaceDetails.typeWorkspaceName(RENAMED_WORKSPACE_NAME);
|
|
88
|
+
await workspaceDetails.waitSaveButtonIsDisabled();
|
|
89
|
+
await workspaceDetails.cancelRenameWorkspace();
|
|
90
|
+
});
|
|
91
|
+
test(`Create a second workspace from sample (${stackName})`, async function () {
|
|
92
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
93
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
94
|
+
secondWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
95
|
+
(0, MochaHooks_1.registerRunningWorkspace)(secondWorkspaceName);
|
|
96
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
97
|
+
});
|
|
98
|
+
test(`Second workspace details: rename to "${RENAMED_WORKSPACE_NAME}" shows conflict and does not apply`, async function () {
|
|
99
|
+
await workspaceHandlingTests.stopWorkspace(secondWorkspaceName);
|
|
100
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
101
|
+
await openWorkspaceDetailsOverview(secondWorkspaceName);
|
|
102
|
+
await workspaceDetails.openRenameWorkspaceForm();
|
|
103
|
+
await workspaceDetails.typeWorkspaceName(RENAMED_WORKSPACE_NAME);
|
|
104
|
+
await workspaceDetails.waitSaveButtonIsDisabled();
|
|
105
|
+
await workspaceDetails.cancelRenameWorkspace();
|
|
106
|
+
});
|
|
107
|
+
suiteTeardown('Stop and delete workspaces created in this suite', async function () {
|
|
108
|
+
await openDashboardWorkspacesList();
|
|
109
|
+
await dashboard.deleteStoppedWorkspaceByUI(secondWorkspaceName);
|
|
110
|
+
await dashboard.deleteStoppedWorkspaceByUI(RENAMED_WORKSPACE_NAME);
|
|
111
|
+
});
|
|
112
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
113
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=RenameWorkspace.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenameWorkspace.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/RenameWorkspace.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2024 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
15
|
+
suite('"Revoke OAuth" test', function () {
|
|
16
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
17
|
+
const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
|
|
18
|
+
const gitService = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER || 'github';
|
|
19
|
+
suiteSetup('Login', async function () {
|
|
20
|
+
await loginTests.loginIntoChe();
|
|
21
|
+
});
|
|
22
|
+
test('Revoke OAuth test', async function () {
|
|
23
|
+
await userPreferences.openUserPreferencesPage();
|
|
24
|
+
await userPreferences.openGitServicesTab();
|
|
25
|
+
const selectedService = userPreferences.getServiceConfig(gitService);
|
|
26
|
+
await userPreferences.revokeGitService(selectedService);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=RevokeOauth.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RevokeOauth.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/RevokeOauth.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,mEAAwD;AAGxD,mFAAgF;AAEhF,KAAK,CAAC,qBAAqB,EAAE;IAC5B,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,UAAU,GAAW,+CAAsB,CAAC,gCAAgC,IAAI,QAAQ,CAAC;IAE/F,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK;QAC9B,MAAM,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAChD,MAAM,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,eAAe,GAAW,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7E,MAAM,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2023 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
15
|
+
suite(`"Check User Preferences page" test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
16
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
17
|
+
const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
|
|
18
|
+
suiteSetup('Login', async function () {
|
|
19
|
+
await loginTests.loginIntoChe();
|
|
20
|
+
});
|
|
21
|
+
test('Check user preferences page', async function () {
|
|
22
|
+
await userPreferences.openUserPreferencesPage();
|
|
23
|
+
await userPreferences.checkTabsAvailability();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=UserPreferencesTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserPreferencesTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/UserPreferencesTest.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,mEAAwD;AAExD,6EAA0E;AAG1E,KAAK,CAAC,sCAAsC,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACnF,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IAEnF,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK;QACxC,MAAM,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAChD,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|