@eclipse-che/che-e2e 7.109.0-next-55ab807 → 7.109.0-next-ecb3d93

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/CODE_STYLE.md CHANGED
@@ -28,6 +28,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
28
28
  ### Preferable code style
29
29
 
30
30
  1. Page-object and util classes
31
+
31
32
  1. ✔ Class declaration using dependency injection (inversify library)
32
33
 
33
34
  ```
@@ -37,6 +38,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
37
38
  ```
38
39
 
39
40
  2. Public methods
41
+
40
42
  - ✔ Declare public methods without "public "keyword
41
43
  - ✔ Add Logger.debug() inside method to log its name (with optional message)
42
44
 
@@ -49,6 +51,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
49
51
  ```
50
52
 
51
53
  3. Locators
54
+
52
55
  - ✔ For static locators - private static readonly fields type of By
53
56
 
54
57
  ```
@@ -102,6 +105,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
102
105
  ```
103
106
 
104
107
  2. Mocha framework
108
+
105
109
  - ✔ TDD framework (`suite()`, `test()`)
106
110
  - ✔ Inject class instances, declare all test data inside test `suit()` function to avoid unnecessary code execution if test suit will not be run
107
111
 
@@ -118,6 +122,7 @@ Automated lint checking and code format performs with ESLint and Prettier tools
118
122
  - ✔ Use test [./constants](constants) to make test flexible
119
123
 
120
124
  3. Packages
125
+
121
126
  1. Add packages as dev dependencies
122
127
  2. If any changes re-create package-lock.json before push
123
128
 
@@ -165,7 +165,7 @@ let Workspaces = Workspaces_1 = class Workspaces {
165
165
  return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//button[text()='${buttonText}']`);
166
166
  }
167
167
  getOpenButtonLocator(workspaceName) {
168
- return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//td[@data-key=5]//a[text()='Open']`);
168
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//td[@data-key=5]//button[text()='Open']`);
169
169
  }
170
170
  getOpenWorkspaceDetailsLinkLocator(workspaceName) {
171
171
  return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//a[text()='${workspaceName}']`);
@@ -1 +1 @@
1
- {"version":3,"file":"Workspaces.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Workspaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workspaces.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /** *******************************************************************
3
+ * copyright (c) 2025 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ **********************************************************************/
11
+ Object.defineProperty(exports, "__esModule", { value: true });
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 chai_1 = require("chai");
17
+ const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
18
+ const selenium_webdriver_1 = require("selenium-webdriver");
19
+ const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
20
+ suite(`Extension Activation 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 driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
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 testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
28
+ const workspaces = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Workspaces);
29
+ const FACTORY_URL = 'https://github.com/crw-qe/python-hello-world/tree/test-vscode-extensions';
30
+ const PROJECT_NAME = 'python-hello-world';
31
+ const PYTHON_FILE_NAME = 'hello-world.py';
32
+ const RUN_PYTHON_BUTTON = selenium_webdriver_1.By.xpath('//a[@aria-label="Run Python File"]');
33
+ const TERMINAL_OUTPUT = selenium_webdriver_1.By.className('xterm-screen');
34
+ const OUTPUT_PANEL_TAB = selenium_webdriver_1.By.xpath('//a[contains(@aria-label, "Output")]');
35
+ const PYTHON_OUTPUT_OPTION = selenium_webdriver_1.By.xpath('//option[text()="Python"]');
36
+ const MONACO_SELECT_BOX = selenium_webdriver_1.By.css('select.monaco-select-box');
37
+ const OUTPUT_PANEL_CONTENT = selenium_webdriver_1.By.xpath('//div[contains(@class, "output")]//div[contains(@class, "view-lines")]');
38
+ const WORKSPACE_RESTART_TIMEOUT = 300000;
39
+ let workspaceName = '';
40
+ suiteSetup('Login to DevSpaces', async function () {
41
+ await loginTests.loginIntoChe();
42
+ });
43
+ test('Create and open workspace from factory URL', async function () {
44
+ await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(FACTORY_URL);
45
+ await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
46
+ workspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
47
+ (0, chai_1.expect)(workspaceName, 'Workspace name was not detected').not.empty;
48
+ (0, MochaHooks_1.registerRunningWorkspace)(workspaceName);
49
+ });
50
+ test('Wait for workspace readiness and handle trust dialogs', async function () {
51
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
52
+ await projectAndFileTests.performTrustDialogs();
53
+ });
54
+ test('Open Python file and run it', async function () {
55
+ const projectSection = await projectAndFileTests.getProjectViewSession();
56
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
57
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
58
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
59
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
60
+ });
61
+ test('Check terminal output shows "Hello, world!"', async function () {
62
+ const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
63
+ (0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
64
+ });
65
+ test('Check Output panel for Python activation errors', async function () {
66
+ await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
67
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
68
+ await driverHelper.waitAndClick(MONACO_SELECT_BOX);
69
+ await driverHelper.waitAndClick(PYTHON_OUTPUT_OPTION);
70
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
71
+ const outputText = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
72
+ (0, chai_1.expect)(outputText).to.not.include('Failed to activate a workspace');
73
+ (0, chai_1.expect)(outputText).to.not.include('Missing required @injectable annotation');
74
+ });
75
+ test('Refresh page and verify extension still works', async function () {
76
+ await browserTabsUtil.refreshPage();
77
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
78
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
79
+ const projectSection = await projectAndFileTests.getProjectViewSession();
80
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
81
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
82
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
83
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
84
+ const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
85
+ (0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
86
+ await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
87
+ const outputText = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
88
+ (0, chai_1.expect)(outputText).to.not.include('Failed to activate a workspace');
89
+ });
90
+ test('Stop workspace', async function () {
91
+ const currentWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
92
+ (0, chai_1.expect)(currentWorkspaceName, 'Workspace name not available').not.empty;
93
+ await dashboard.openDashboard();
94
+ await dashboard.waitPage();
95
+ await dashboard.stopWorkspaceByUI(currentWorkspaceName);
96
+ });
97
+ test('Start workspace after stop', async function () {
98
+ this.timeout(WORKSPACE_RESTART_TIMEOUT + 60000);
99
+ const currentWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
100
+ await workspaces.waitWorkspaceWithStoppedStatus(currentWorkspaceName);
101
+ const originalWindowHandle = await browserTabsUtil.getCurrentWindowHandle();
102
+ await workspaces.clickOpenButton(currentWorkspaceName);
103
+ await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, WORKSPACE_RESTART_TIMEOUT);
104
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
105
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
106
+ });
107
+ test('Verify Python execution after workspace restart', async function () {
108
+ const projectSection = await projectAndFileTests.getProjectViewSession();
109
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
110
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
111
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
112
+ await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
113
+ const terminalOutput = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
114
+ (0, chai_1.expect)(terminalOutput).to.include('Hello, world!');
115
+ });
116
+ suiteTeardown('Open dashboard and close all other tabs', async function () {
117
+ await dashboard.openDashboard();
118
+ await browserTabsUtil.closeAllTabsExceptCurrent();
119
+ });
120
+ suiteTeardown('Stop and delete the workspace by API', async function () {
121
+ await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
122
+ });
123
+ suiteTeardown('Unregister running workspace', function () {
124
+ (0, MochaHooks_1.registerRunningWorkspace)('');
125
+ });
126
+ });
127
+ //# sourceMappingURL=ExtensionActivationTest.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionActivationTest.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/ExtensionActivationTest.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.109.0-next-55ab807",
3
+ "version": "7.109.0-next-ecb3d93",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -240,7 +240,7 @@ export class Workspaces {
240
240
  }
241
241
 
242
242
  private getOpenButtonLocator(workspaceName: string): By {
243
- return By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//td[@data-key=5]//a[text()='Open']`);
243
+ return By.xpath(`${this.getWorkspaceListItemLocator(workspaceName).value}//td[@data-key=5]//button[text()='Open']`);
244
244
  }
245
245
 
246
246
  private getOpenWorkspaceDetailsLinkLocator(workspaceName: string): By {
@@ -0,0 +1,166 @@
1
+ /** *******************************************************************
2
+ * copyright (c) 2025 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 '../../configs/inversify.config';
12
+ import { CLASSES, TYPES } from '../../configs/inversify.types';
13
+ import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
14
+ import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
15
+ import { LoginTests } from '../../tests-library/LoginTests';
16
+ import { registerRunningWorkspace } from '../MochaHooks';
17
+ import { expect } from 'chai';
18
+
19
+ import { DriverHelper } from '../../utils/DriverHelper';
20
+ import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
21
+ import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
22
+ import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
23
+ import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
24
+
25
+ import { By } from 'selenium-webdriver';
26
+ import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
27
+ import { ViewSection } from 'monaco-page-objects';
28
+ import { Workspaces } from '../../pageobjects/dashboard/Workspaces';
29
+
30
+ suite(`Extension Activation Test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
31
+ const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
32
+ const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
33
+ const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
34
+ const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
35
+ const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
36
+ const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
37
+ const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
38
+ const workspaces: Workspaces = e2eContainer.get(CLASSES.Workspaces);
39
+
40
+ const FACTORY_URL: string = 'https://github.com/crw-qe/python-hello-world/tree/test-vscode-extensions';
41
+ const PROJECT_NAME: string = 'python-hello-world';
42
+ const PYTHON_FILE_NAME: string = 'hello-world.py';
43
+ const RUN_PYTHON_BUTTON: By = By.xpath('//a[@aria-label="Run Python File"]');
44
+ const TERMINAL_OUTPUT: By = By.className('xterm-screen');
45
+ const OUTPUT_PANEL_TAB: By = By.xpath('//a[contains(@aria-label, "Output")]');
46
+ const PYTHON_OUTPUT_OPTION: By = By.xpath('//option[text()="Python"]');
47
+ const MONACO_SELECT_BOX: By = By.css('select.monaco-select-box');
48
+ const OUTPUT_PANEL_CONTENT: By = By.xpath('//div[contains(@class, "output")]//div[contains(@class, "view-lines")]');
49
+ const WORKSPACE_RESTART_TIMEOUT: number = 300000;
50
+
51
+ let workspaceName: string = '';
52
+
53
+ suiteSetup('Login to DevSpaces', async function (): Promise<void> {
54
+ await loginTests.loginIntoChe();
55
+ });
56
+
57
+ test('Create and open workspace from factory URL', async function (): Promise<void> {
58
+ await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(FACTORY_URL);
59
+ await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
60
+ workspaceName = WorkspaceHandlingTests.getWorkspaceName();
61
+ expect(workspaceName, 'Workspace name was not detected').not.empty;
62
+ registerRunningWorkspace(workspaceName);
63
+ });
64
+
65
+ test('Wait for workspace readiness and handle trust dialogs', async function (): Promise<void> {
66
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
67
+ await projectAndFileTests.performTrustDialogs();
68
+ });
69
+
70
+ test('Open Python file and run it', async function (): Promise<void> {
71
+ const projectSection: ViewSection = await projectAndFileTests.getProjectViewSession();
72
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
73
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
74
+
75
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
76
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
77
+ });
78
+
79
+ test('Check terminal output shows "Hello, world!"', async function (): Promise<void> {
80
+ const terminalOutput: string = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
81
+
82
+ expect(terminalOutput).to.include('Hello, world!');
83
+ });
84
+
85
+ test('Check Output panel for Python activation errors', async function (): Promise<void> {
86
+ await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
87
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
88
+
89
+ await driverHelper.waitAndClick(MONACO_SELECT_BOX);
90
+ await driverHelper.waitAndClick(PYTHON_OUTPUT_OPTION);
91
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
92
+
93
+ const outputText: string = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
94
+
95
+ expect(outputText).to.not.include('Failed to activate a workspace');
96
+ expect(outputText).to.not.include('Missing required @injectable annotation');
97
+ });
98
+
99
+ test('Refresh page and verify extension still works', async function (): Promise<void> {
100
+ await browserTabsUtil.refreshPage();
101
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
102
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
103
+
104
+ const projectSection: ViewSection = await projectAndFileTests.getProjectViewSession();
105
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
106
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
107
+
108
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
109
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
110
+
111
+ const terminalOutput: string = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
112
+ expect(terminalOutput).to.include('Hello, world!');
113
+
114
+ await driverHelper.waitAndClick(OUTPUT_PANEL_TAB);
115
+ const outputText: string = await driverHelper.waitAndGetText(OUTPUT_PANEL_CONTENT, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
116
+ expect(outputText).to.not.include('Failed to activate a workspace');
117
+ });
118
+
119
+ test('Stop workspace', async function (): Promise<void> {
120
+ const currentWorkspaceName: string = WorkspaceHandlingTests.getWorkspaceName();
121
+ expect(currentWorkspaceName, 'Workspace name not available').not.empty;
122
+
123
+ await dashboard.openDashboard();
124
+ await dashboard.waitPage();
125
+ await dashboard.stopWorkspaceByUI(currentWorkspaceName);
126
+ });
127
+
128
+ test('Start workspace after stop', async function (): Promise<void> {
129
+ this.timeout(WORKSPACE_RESTART_TIMEOUT + 60000);
130
+
131
+ const currentWorkspaceName: string = WorkspaceHandlingTests.getWorkspaceName();
132
+ await workspaces.waitWorkspaceWithStoppedStatus(currentWorkspaceName);
133
+
134
+ const originalWindowHandle: string = await browserTabsUtil.getCurrentWindowHandle();
135
+ await workspaces.clickOpenButton(currentWorkspaceName);
136
+
137
+ await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, WORKSPACE_RESTART_TIMEOUT);
138
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
139
+ await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
140
+ });
141
+
142
+ test('Verify Python execution after workspace restart', async function (): Promise<void> {
143
+ const projectSection: ViewSection = await projectAndFileTests.getProjectViewSession();
144
+ await projectSection.openItem(PROJECT_NAME, PYTHON_FILE_NAME);
145
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
146
+
147
+ await driverHelper.waitAndClick(RUN_PYTHON_BUTTON);
148
+ await driverHelper.wait(TIMEOUT_CONSTANTS.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
149
+
150
+ const terminalOutput: string = await driverHelper.waitAndGetText(TERMINAL_OUTPUT, TIMEOUT_CONSTANTS.TS_COMMON_PLUGIN_TEST_TIMEOUT);
151
+ expect(terminalOutput).to.include('Hello, world!');
152
+ });
153
+
154
+ suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
155
+ await dashboard.openDashboard();
156
+ await browserTabsUtil.closeAllTabsExceptCurrent();
157
+ });
158
+
159
+ suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
160
+ await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
161
+ });
162
+
163
+ suiteTeardown('Unregister running workspace', function (): void {
164
+ registerRunningWorkspace('');
165
+ });
166
+ });