From f4881c69444e597e55acb9f4bf690e37b165da99 Mon Sep 17 00:00:00 2001 From: Skorik Sergey Date: Thu, 10 Dec 2020 11:34:19 +0200 Subject: [PATCH] fix OpenshiftConnector test --- tests/e2e/TestConstants.ts | 5 +++ tests/e2e/TimeoutConstants.ts | 6 ++-- tests/e2e/pageobjects/ide/OpenshiftPlugin.ts | 7 ++++- .../e2e/tests/e2e/OpenshiftConnector.spec.ts | 31 ++++++++++++++++--- 4 files changed, 40 insertions(+), 9 deletions(-) diff --git a/tests/e2e/TestConstants.ts b/tests/e2e/TestConstants.ts index d933cd483c8..c80aee54766 100644 --- a/tests/e2e/TestConstants.ts +++ b/tests/e2e/TestConstants.ts @@ -239,6 +239,11 @@ export const TestConstants = { */ TS_TEST_OPENSHIFT_PLUGIN_PROJECT: process.env.TS_TEST_OPENSHIFT_PLUGIN_PROJECT || '', + /** + * The name of project in the Openshidt plugin tree + */ + TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE || 'nodejs (s2i)', + /** * Print all timeout variables when tests launch, defaulte to false */ diff --git a/tests/e2e/TimeoutConstants.ts b/tests/e2e/TimeoutConstants.ts index b00344ce74c..e700896592d 100644 --- a/tests/e2e/TimeoutConstants.ts +++ b/tests/e2e/TimeoutConstants.ts @@ -81,7 +81,7 @@ export const TimeoutConstants = { /** * Wait for IDE showing project tree tab, "20 000" by default. */ - TS_PROJECT_TREE_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 20_000, + TS_PROJECT_TREE_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 120_000, /** * Click on item timeout (project tree), "10 000" by default. @@ -213,12 +213,12 @@ export const TimeoutConstants = { /** * Timeout for obtaining cluster IP, "10 000" by default. */ - TS_GET_CLUSTER_IP_TIMEOUT: Number(process.env.TS_GET_CLUSTER_IP_TIMEOUT) || 10_000, + TS_GET_CLUSTER_IP_TIMEOUT: Number(process.env.TS_GET_CLUSTER_IP_TIMEOUT) || 120_000, /** * Timeout for waiting fr openshift connector tree, "10 000" by default. */ - TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT: Number(process.env.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) || 10_000, + TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT: Number(process.env.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) || 40_000, /** * Timeout for creating CheCluster yaml, "10 000" by default. diff --git a/tests/e2e/pageobjects/ide/OpenshiftPlugin.ts b/tests/e2e/pageobjects/ide/OpenshiftPlugin.ts index 9ae9d247588..91e1daab48d 100644 --- a/tests/e2e/pageobjects/ide/OpenshiftPlugin.ts +++ b/tests/e2e/pageobjects/ide/OpenshiftPlugin.ts @@ -41,7 +41,7 @@ export class OpenshiftPlugin { async clickOnOpenshiftToollBarIcon(timeout: number = TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) { Logger.debug(`OpenshiftPlugin.clickOnOpenshiftTollBar`); - await this.ide.waitAndClickLeftToolbarButton(LeftToolbarButton.Openshift, timeout); + await this.ide.waitAndClickLeftToolbarButton(LeftToolbarButton.Openshift, 60000); } async waitOpenshiftConnectorTree(timeout: number = TimeoutConstants.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) { @@ -49,6 +49,11 @@ export class OpenshiftPlugin { await this.driverHelper.waitPresence(By.id('openshiftProjectExplorer'), timeout); } + async clickOnOpenshiftConnectorTree(timeout: number = TimeoutConstants.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) { + Logger.debug(`OpenshiftPlugin.waitOpenshiftConnectorTree`); + await this.driverHelper.waitAndClick(By.id('plugin-view:openshiftProjectExplorer'), timeout); + } + async clickOnApplicationToolbarItem(item: OpenshiftAppExplorerToolbar, timeout: number = TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) { Logger.debug(`OpenshiftPlugin.clickOnApplicationToolbarItem`); await this.driverHelper.waitAndClick(By.css(`div [title='${item}']`), timeout); diff --git a/tests/e2e/tests/e2e/OpenshiftConnector.spec.ts b/tests/e2e/tests/e2e/OpenshiftConnector.spec.ts index 3d5e4f999d4..039a3461c83 100644 --- a/tests/e2e/tests/e2e/OpenshiftConnector.spec.ts +++ b/tests/e2e/tests/e2e/OpenshiftConnector.spec.ts @@ -23,6 +23,8 @@ import { TestConstants } from '../../TestConstants'; import { DriverHelper } from '../../utils/DriverHelper'; import { PreferencesHandler, TerminalRendererType } from '../../utils/PreferencesHandler'; import { TestWorkspaceUtil } from '../../utils/workspace/TestWorkspaceUtil'; +import { WorkspaceNameHandler } from '../../utils/WorkspaceNameHandler'; +import * as workspaceHandling from '../../testsLibrary/WorksapceHandlingTests'; const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper); @@ -83,6 +85,8 @@ suite('Openshift connector user story', async () => { const provideAuthenticationSuffix: string = `for basic authentication to the API server ${selectSugestionSuffix}`; const loginIntoClusterMessage: string = 'You are already logged in the cluster. Do you want to login to a different cluster?'; const openshiftIP: string = await openshiftPlugin.getClusterIP(); + + await openshiftPlugin.clickOnOpenshiftConnectorTree(); await openshiftPlugin.clickOnApplicationToolbarItem(OpenshiftAppExplorerToolbar.LogIntoCluster); await ide.clickOnNotificationButton(loginIntoClusterMessage, 'Yes'); await quickOpenContainer.clickOnContainerItem('Credentials'); @@ -90,20 +94,25 @@ suite('Openshift connector user story', async () => { await quickOpenContainer.clickOnContainerItem('$(plus) Add new user...'); await quickOpenContainer.typeAndSelectSuggestion(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_USERNAME, `Provide Username ${provideAuthenticationSuffix}`); await quickOpenContainer.typeAndSelectSuggestion(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PASSWORD, `Provide Password ${provideAuthenticationSuffix}`); + + // change active folder + await topMenu.selectOption('View', 'Find Command...'); + await quickOpenContainer.typeAndSelectSuggestion('OpenShift: Set Active Project', 'OpenShift: Set Active Project'); + await quickOpenContainer.typeAndSelectSuggestion(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT, TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT); + await openshiftPlugin.clickOnItemInTree(openshiftIP); await openshiftPlugin.waitItemInTree(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT); }); test('Create new component with application', async () => { await topMenu.selectOption('View', 'Find Command...'); await quickOpenContainer.typeAndSelectSuggestion('OpenShift: New Component', 'OpenShift: New Component from local folder'); - await quickOpenContainer.clickOnContainerItem(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT); await quickOpenContainer.clickOnContainerItem('$(plus) Create new Application...'); await quickOpenContainer.typeAndSelectSuggestion('node-js-app', `Provide Application name ${selectSugestionSuffix}` ); await quickOpenContainer.clickOnContainerItem('$(plus) Add new context folder.'); await openDialogWidget.selectLocationAndAddContextFolder(Locations.Root, `projects/${projectName}`, Buttons.AddContext); await quickOpenContainer.typeAndSelectSuggestion('component-node-js', `Provide Component name ${selectSugestionSuffix}`); - await quickOpenContainer.clickOnContainerItem('nodejs'); + await quickOpenContainer.clickOnContainerItem(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE); await quickOpenContainer.clickOnContainerItem('latest'); await openshiftPlugin.clickOnItemInTree(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT); @@ -114,10 +123,22 @@ suite('Openshift connector user story', async () => { test('Push new component', async () => { driverHelper.getDriver().switchTo().activeElement().sendKeys(Key.F1); await quickOpenContainer.typeAndSelectSuggestion(OpenshiftContextMenuItems.Push, 'OpenShift: Push Component'); - await quickOpenContainer.clickOnContainerItem(TestConstants.TS_TEST_OPENSHIFT_PLUGIN_PROJECT); await quickOpenContainer.clickOnContainerItem('node-js-app'); - await quickOpenContainer.clickOnContainerItem('component-node-js'); - await terminal.selectTabByPrefixAndWaitText('OpenShift: Push', 'Changes successfully pushed to component', 30_000); + await quickOpenContainer.clickOnContainerItem('component-node-js (s2i)'); + await terminal.selectTabByPrefixAndWaitText('OpenShift: Push', 'Changes successfully pushed to component', 120_000); + }); + + suite ('Stopping and deleting the workspace', async () => { + let workspaceName = 'not defined'; + suiteSetup( async () => { + workspaceName = await WorkspaceNameHandler.getNameFromUrl(); + }); + test (`Stop workspace`, async () => { + await workspaceHandling.stopWorkspace(workspaceName); + }); + test (`Remove workspace`, async () => { + await workspaceHandling.removeWorkspace(workspaceName); + }); }); });