@eclipse-che/che-e2e 7.76.0-next-3240700 → 7.76.0-next-220e13e
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/sh-scripts/runFunctionalTests.sh +3 -0
- package/constants/BASE_TEST_CONSTANTS.ts +6 -0
- package/constants/FACTORY_TEST_CONSTANTS.ts +3 -1
- package/dist/constants/BASE_TEST_CONSTANTS.js +4 -0
- package/dist/constants/BASE_TEST_CONSTANTS.js.map +1 -1
- package/dist/constants/FACTORY_TEST_CONSTANTS.js +3 -1
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +1 -1
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -1
- package/dist/pageobjects/git-providers/OauthPage.js +22 -3
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +4 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -1
- package/dist/specs/MochaHooks.js +23 -5
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +8 -4
- package/dist/specs/SmokeTest.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Documentation.spec.js +7 -2
- package/dist/specs/dashboard-samples/Documentation.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js +12 -6
- package/dist/specs/dashboard-samples/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +12 -6
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +12 -6
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -1
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js +18 -5
- package/dist/specs/devconsole-intergration/DevConsoleIntegration.spec.js.map +1 -1
- package/dist/specs/factory/Factory.spec.js +12 -6
- package/dist/specs/factory/Factory.spec.js.map +1 -1
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +12 -8
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -1
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +33 -31
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js +12 -7
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.js.map +1 -1
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js +12 -6
- package/dist/specs/miscellaneous/KubedockPodmanTest.spec.js.map +1 -1
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +45 -12
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -1
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +15 -5
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +1 -1
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js +9 -4
- package/dist/specs/miscellaneous/WorkspaceWithParent.spec.js.map +1 -1
- package/dist/suites/disconnected-ocp/UITest.suite.js +1 -1
- package/dist/suites/online-ocp/UITest.suite.js +1 -1
- package/dist/tests-library/LoginTests.js +14 -10
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/tests-library/ProjectAndFileTests.js +0 -2
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +2 -5
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/BrowserTabsUtil.js +8 -1
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/utils/Logger.js +1 -1
- package/package.json +1 -1
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +1 -1
- package/pageobjects/git-providers/OauthPage.ts +24 -3
- package/pageobjects/ide/CheCodeLocatorLoader.ts +4 -1
- package/specs/MochaHooks.ts +26 -5
- package/specs/SmokeTest.spec.ts +8 -4
- package/specs/dashboard-samples/Documentation.spec.ts +8 -3
- package/specs/dashboard-samples/EmptyWorkspace.spec.ts +15 -8
- package/specs/dashboard-samples/Quarkus.spec.ts +15 -7
- package/specs/dashboard-samples/RecommendedExtensions.spec.ts +15 -7
- package/specs/devconsole-intergration/DevConsoleIntegration.spec.ts +20 -8
- package/specs/factory/Factory.spec.ts +15 -7
- package/specs/factory/NoSetupRepoFactory.spec.ts +15 -11
- package/specs/factory/RefusedOAuthFactory.spec.ts +42 -35
- package/specs/miscellaneous/CreateWorkspaceWithExistedName.spec.ts +15 -8
- package/specs/miscellaneous/KubedockPodmanTest.spec.ts +16 -7
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +51 -14
- package/specs/miscellaneous/WorkspaceIdleTimeout.spec.ts +19 -6
- package/specs/miscellaneous/WorkspaceWithParent.spec.ts +9 -4
- package/suites/disconnected-ocp/UITest.suite.ts +1 -1
- package/suites/online-ocp/UITest.suite.ts +1 -1
- package/tests-library/LoginTests.ts +17 -10
- package/tests-library/ProjectAndFileTests.ts +0 -6
- package/tests-library/WorkspaceHandlingTests.ts +2 -6
- package/utils/BrowserTabsUtil.ts +8 -1
- package/utils/Logger.ts +1 -1
- package/utils/workspace/ITestWorkspaceUtil.ts +7 -7
|
@@ -12,12 +12,14 @@ import { ViewSection } from 'monaco-page-objects';
|
|
|
12
12
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
13
13
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
14
14
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
15
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
15
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
16
16
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
17
17
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
18
18
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
19
19
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
20
20
|
import { expect } from 'chai';
|
|
21
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
22
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
21
23
|
|
|
22
24
|
const stackName: string = 'Java 11 with Quarkus';
|
|
23
25
|
|
|
@@ -26,11 +28,15 @@ suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, func
|
|
|
26
28
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
27
29
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
28
30
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
31
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
32
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
29
33
|
|
|
30
34
|
let projectSection: ViewSection;
|
|
31
35
|
const projectName: string = 'quarkus-quickstarts';
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
38
|
+
await loginTests.loginIntoChe();
|
|
39
|
+
});
|
|
34
40
|
|
|
35
41
|
test(`Create and open new workspace, stack:${stackName}`, async function (): Promise<void> {
|
|
36
42
|
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
@@ -64,14 +70,16 @@ suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, func
|
|
|
64
70
|
).not.undefined;
|
|
65
71
|
});
|
|
66
72
|
|
|
67
|
-
|
|
68
|
-
await
|
|
73
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
74
|
+
await dashboard.openDashboard();
|
|
69
75
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
70
76
|
});
|
|
71
77
|
|
|
72
|
-
|
|
73
|
-
await
|
|
78
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
79
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
74
80
|
});
|
|
75
81
|
|
|
76
|
-
|
|
82
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
83
|
+
registerRunningWorkspace('');
|
|
84
|
+
});
|
|
77
85
|
});
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
24
24
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
25
25
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
26
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
26
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
27
27
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
28
28
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
29
29
|
import { Logger } from '../../utils/Logger';
|
|
@@ -34,6 +34,8 @@ import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
|
34
34
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
35
35
|
import { PLUGIN_TEST_CONSTANTS } from '../../constants/PLUGIN_TEST_CONSTANTS';
|
|
36
36
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
37
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
38
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
37
39
|
|
|
38
40
|
const samples: string[] = PLUGIN_TEST_CONSTANTS.TS_SAMPLE_LIST.split(',');
|
|
39
41
|
|
|
@@ -46,6 +48,8 @@ for (const sample of samples) {
|
|
|
46
48
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
47
49
|
const cheCodeLocatorLoader: CheCodeLocatorLoader = e2eContainer.get(CLASSES.CheCodeLocatorLoader);
|
|
48
50
|
const webCheCodeLocators: Locators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
51
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
52
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
49
53
|
|
|
50
54
|
let projectSection: ViewSection;
|
|
51
55
|
let extensionSection: ExtensionsViewSection;
|
|
@@ -56,7 +60,9 @@ for (const sample of samples) {
|
|
|
56
60
|
recommendations: []
|
|
57
61
|
};
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
64
|
+
await loginTests.loginIntoChe();
|
|
65
|
+
});
|
|
60
66
|
|
|
61
67
|
test(`Create and open new workspace, stack:${sample}`, async function (): Promise<void> {
|
|
62
68
|
await workspaceHandlingTests.createAndOpenWorkspace(sample);
|
|
@@ -202,15 +208,17 @@ for (const sample of samples) {
|
|
|
202
208
|
}
|
|
203
209
|
});
|
|
204
210
|
|
|
205
|
-
|
|
206
|
-
await
|
|
211
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
212
|
+
await dashboard.openDashboard();
|
|
207
213
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
208
214
|
});
|
|
209
215
|
|
|
210
|
-
|
|
211
|
-
await
|
|
216
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
217
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
212
218
|
});
|
|
213
219
|
|
|
214
|
-
|
|
220
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
221
|
+
registerRunningWorkspace('');
|
|
222
|
+
});
|
|
215
223
|
});
|
|
216
224
|
}
|
|
@@ -12,7 +12,7 @@ import { ViewSection } from 'monaco-page-objects';
|
|
|
12
12
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
13
13
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
14
14
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
15
|
-
import { CLASSES
|
|
15
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
16
16
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
17
17
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
18
18
|
import { expect } from 'chai';
|
|
@@ -22,19 +22,20 @@ import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesComman
|
|
|
22
22
|
import { StringUtil } from '../../utils/StringUtil';
|
|
23
23
|
import { OcpApplicationPage } from '../../pageobjects/openshift/OcpApplicationPage';
|
|
24
24
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
25
|
-
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
26
25
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
26
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
27
|
+
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
27
28
|
|
|
28
29
|
suite(`DevConsole Integration ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
29
30
|
let ocpImportPage: OcpImportFromGitPage;
|
|
30
31
|
let ocpApplicationPage: OcpApplicationPage;
|
|
31
32
|
|
|
32
33
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
34
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
33
35
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
34
36
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
35
37
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
36
38
|
const ocpMainPage: OcpMainPage = e2eContainer.get(CLASSES.OcpMainPage);
|
|
37
|
-
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
38
39
|
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
39
40
|
CLASSES.KubernetesCommandLineToolsExecutor
|
|
40
41
|
);
|
|
@@ -72,7 +73,13 @@ suite(`DevConsole Integration ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function
|
|
|
72
73
|
await ocpApplicationPage.waitAndOpenEditSourceCodeIcon();
|
|
73
74
|
});
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
test('Login', async function (): Promise<void> {
|
|
77
|
+
try {
|
|
78
|
+
await dashboard.waitLoader(TIMEOUT_CONSTANTS.TS_WAIT_LOADER_PRESENCE_TIMEOUT);
|
|
79
|
+
} catch (e) {
|
|
80
|
+
await loginTests.loginIntoChe();
|
|
81
|
+
}
|
|
82
|
+
});
|
|
76
83
|
|
|
77
84
|
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
78
85
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
@@ -99,14 +106,19 @@ suite(`DevConsole Integration ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function
|
|
|
99
106
|
).not.undefined;
|
|
100
107
|
});
|
|
101
108
|
|
|
102
|
-
|
|
109
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
110
|
+
await dashboard.openDashboard();
|
|
103
111
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
104
|
-
testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
105
112
|
});
|
|
106
113
|
|
|
107
|
-
loginTests.logoutFromChe();
|
|
108
|
-
|
|
109
114
|
suiteTeardown('Delete project using ocp', function (): void {
|
|
115
|
+
kubernetesCommandLineToolsExecutor.workspaceName =
|
|
116
|
+
WorkspaceHandlingTests.getWorkspaceName() !== '' ? WorkspaceHandlingTests.getWorkspaceName() : 'spring-music';
|
|
117
|
+
kubernetesCommandLineToolsExecutor.deleteDevWorkspace();
|
|
110
118
|
kubernetesCommandLineToolsExecutor.deleteProject(projectName);
|
|
111
119
|
});
|
|
120
|
+
|
|
121
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
122
|
+
registerRunningWorkspace('');
|
|
123
|
+
});
|
|
112
124
|
});
|
|
@@ -29,7 +29,7 @@ import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader
|
|
|
29
29
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
30
30
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
31
31
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
32
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
32
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
33
33
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
34
34
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
35
35
|
import { Logger } from '../../utils/Logger';
|
|
@@ -37,6 +37,8 @@ import { LoginTests } from '../../tests-library/LoginTests';
|
|
|
37
37
|
import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
38
38
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
39
39
|
import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
|
|
40
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
41
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
40
42
|
|
|
41
43
|
suite(
|
|
42
44
|
`Create a workspace via launching a factory from the ${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER} repository ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
|
|
@@ -49,6 +51,8 @@ suite(
|
|
|
49
51
|
const cheCodeLocatorLoader: CheCodeLocatorLoader = e2eContainer.get(CLASSES.CheCodeLocatorLoader);
|
|
50
52
|
const webCheCodeLocators: Locators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
51
53
|
const oauthPage: OauthPage = e2eContainer.get(CLASSES.OauthPage);
|
|
54
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
55
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
52
56
|
|
|
53
57
|
let projectSection: ViewSection;
|
|
54
58
|
let scmProvider: SingleScmProvider;
|
|
@@ -64,7 +68,9 @@ suite(
|
|
|
64
68
|
const pushItemLabel: string = 'Push';
|
|
65
69
|
let testRepoProjectName: string;
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
72
|
+
await loginTests.loginIntoChe();
|
|
73
|
+
});
|
|
68
74
|
test('Navigate to the factory URL', async function (): Promise<void> {
|
|
69
75
|
await browserTabsUtil.navigateTo(FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_URL());
|
|
70
76
|
});
|
|
@@ -189,15 +195,17 @@ suite(
|
|
|
189
195
|
expect(isCommitButtonDisabled).to.equal('true');
|
|
190
196
|
});
|
|
191
197
|
|
|
192
|
-
|
|
193
|
-
await
|
|
198
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
199
|
+
await dashboard.openDashboard();
|
|
194
200
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
195
201
|
});
|
|
196
202
|
|
|
197
|
-
|
|
198
|
-
await
|
|
203
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
204
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
199
205
|
});
|
|
200
206
|
|
|
201
|
-
|
|
207
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
208
|
+
registerRunningWorkspace('');
|
|
209
|
+
});
|
|
202
210
|
}
|
|
203
211
|
);
|
|
@@ -28,7 +28,7 @@ import { StringUtil } from '../../utils/StringUtil';
|
|
|
28
28
|
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
29
29
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
30
30
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
31
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
31
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
32
32
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
33
33
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
34
34
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
@@ -39,6 +39,7 @@ import { LoginTests } from '../../tests-library/LoginTests';
|
|
|
39
39
|
import { FACTORY_TEST_CONSTANTS, GitProviderType } from '../../constants/FACTORY_TEST_CONSTANTS';
|
|
40
40
|
import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
41
41
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
42
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
42
43
|
|
|
43
44
|
suite(
|
|
44
45
|
`Create a workspace via launching a factory from the ${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER} repository without PAT/OAuth setup ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
|
|
@@ -52,6 +53,7 @@ suite(
|
|
|
52
53
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
53
54
|
const workspaces: Workspaces = e2eContainer.get(CLASSES.Workspaces);
|
|
54
55
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
56
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
55
57
|
|
|
56
58
|
let projectSection: ViewSection;
|
|
57
59
|
let scmProvider: SingleScmProvider;
|
|
@@ -69,7 +71,9 @@ suite(
|
|
|
69
71
|
let testRepoProjectName: string;
|
|
70
72
|
const isPrivateRepo: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO ? 'private' : 'public';
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
75
|
+
await loginTests.loginIntoChe();
|
|
76
|
+
});
|
|
73
77
|
|
|
74
78
|
test('Get number of previously created workspaces', async function (): Promise<void> {
|
|
75
79
|
await dashboard.clickWorkspacesButton();
|
|
@@ -82,7 +86,7 @@ suite(
|
|
|
82
86
|
});
|
|
83
87
|
|
|
84
88
|
if (FACTORY_TEST_CONSTANTS.TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO) {
|
|
85
|
-
test(`Check that workspace cannot be created without OAuth for ${isPrivateRepo} repo`, async function (): Promise<void> {
|
|
89
|
+
test(`Check that workspace cannot be created without PAT/OAuth for ${isPrivateRepo} repo`, async function (): Promise<void> {
|
|
86
90
|
await dashboard.waitLoader();
|
|
87
91
|
const loaderAlert: string = await dashboard.getLoaderAlert();
|
|
88
92
|
expect(loaderAlert).to.contain('Cause: Could not reach devfile at');
|
|
@@ -95,8 +99,6 @@ suite(
|
|
|
95
99
|
const allCreatedWorkspacesNames: string[] = await workspaces.getAllCreatedWorkspacesNames();
|
|
96
100
|
expect(allCreatedWorkspacesNames).has.length(numberOfCreatedWorkspaces);
|
|
97
101
|
});
|
|
98
|
-
|
|
99
|
-
loginTests.logoutFromChe();
|
|
100
102
|
} else {
|
|
101
103
|
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
102
104
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
@@ -241,16 +243,18 @@ suite(
|
|
|
241
243
|
expect(isCommitButtonDisabled).to.be.true;
|
|
242
244
|
});
|
|
243
245
|
|
|
244
|
-
|
|
245
|
-
await
|
|
246
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
247
|
+
await dashboard.openDashboard();
|
|
246
248
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
247
249
|
});
|
|
248
250
|
|
|
249
|
-
|
|
250
|
-
await
|
|
251
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
252
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
251
253
|
});
|
|
252
|
-
|
|
253
|
-
loginTests.logoutFromChe();
|
|
254
254
|
}
|
|
255
|
+
|
|
256
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
257
|
+
registerRunningWorkspace('');
|
|
258
|
+
});
|
|
255
259
|
}
|
|
256
260
|
);
|
|
@@ -16,7 +16,6 @@ import {
|
|
|
16
16
|
EditorView,
|
|
17
17
|
InputBox,
|
|
18
18
|
Locators,
|
|
19
|
-
ModalDialog,
|
|
20
19
|
NewScmView,
|
|
21
20
|
SingleScmProvider,
|
|
22
21
|
TextEditor,
|
|
@@ -26,7 +25,7 @@ import {
|
|
|
26
25
|
import { expect } from 'chai';
|
|
27
26
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
28
27
|
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
29
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
28
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
30
29
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
31
30
|
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
32
31
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
@@ -38,6 +37,8 @@ import { LoginTests } from '../../tests-library/LoginTests';
|
|
|
38
37
|
import { OAUTH_CONSTANTS } from '../../constants/OAUTH_CONSTANTS';
|
|
39
38
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
40
39
|
import { FACTORY_TEST_CONSTANTS, GitProviderType } from '../../constants/FACTORY_TEST_CONSTANTS';
|
|
40
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
41
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
41
42
|
|
|
42
43
|
suite(
|
|
43
44
|
`Create a workspace via launching a factory from the ${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER} repository and deny the access ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
|
|
@@ -50,9 +51,12 @@ suite(
|
|
|
50
51
|
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
51
52
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
52
53
|
const oauthPage: OauthPage = e2eContainer.get(CLASSES.OauthPage);
|
|
54
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
55
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
53
56
|
|
|
54
57
|
let projectSection: ViewSection;
|
|
55
58
|
let scmProvider: SingleScmProvider;
|
|
59
|
+
let rest: SingleScmProvider[];
|
|
56
60
|
let scmContextMenu: ContextMenu;
|
|
57
61
|
|
|
58
62
|
// test specific data
|
|
@@ -66,19 +70,19 @@ suite(
|
|
|
66
70
|
let testRepoProjectName: string;
|
|
67
71
|
const isPrivateRepo: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO ? 'private' : 'public';
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
74
|
+
await loginTests.loginIntoChe();
|
|
75
|
+
});
|
|
70
76
|
|
|
71
77
|
test(`Navigate to the ${isPrivateRepo} repository factory URL`, async function (): Promise<void> {
|
|
72
78
|
await browserTabsUtil.navigateTo(FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_URL());
|
|
73
79
|
});
|
|
74
80
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
81
|
-
}
|
|
81
|
+
test(`Authorize with a ${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_PROVIDER} OAuth and deny access`, async function (): Promise<void> {
|
|
82
|
+
await oauthPage.login();
|
|
83
|
+
await oauthPage.waitOauthPage();
|
|
84
|
+
await oauthPage.denyAccess();
|
|
85
|
+
});
|
|
82
86
|
|
|
83
87
|
test('Obtain workspace name from workspace loader page', async function (): Promise<void> {
|
|
84
88
|
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
@@ -96,29 +100,31 @@ suite(
|
|
|
96
100
|
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
97
101
|
});
|
|
98
102
|
|
|
99
|
-
test('Check if a project folder has been created', async function (): Promise<void> {
|
|
100
|
-
testRepoProjectName = StringUtil.getProjectNameFromGitUrl(FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL);
|
|
101
|
-
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
102
|
-
expect(await projectAndFileTests.getProjectTreeItem(projectSection, testRepoProjectName), 'Project folder was not imported').not
|
|
103
|
-
.undefined;
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
107
|
-
await projectAndFileTests.performTrustAuthorDialog();
|
|
108
|
-
});
|
|
109
|
-
|
|
110
103
|
if (FACTORY_TEST_CONSTANTS.TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO) {
|
|
111
|
-
test('Check that project
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
104
|
+
test('Check that a project folder has not been cloned', async function (): Promise<void> {
|
|
105
|
+
testRepoProjectName = StringUtil.getProjectNameFromGitUrl(FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL);
|
|
106
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.multiProviderItem);
|
|
107
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
108
|
+
const isProjectFolderUnable: string = await driverHelper.waitAndGetElementAttribute(
|
|
109
|
+
(webCheCodeLocators.TreeItem as any).projectFolderItem,
|
|
110
|
+
'aria-label'
|
|
111
|
+
);
|
|
112
|
+
expect(isProjectFolderUnable).to.contain(
|
|
113
|
+
'/projects/' + testRepoProjectName + ' • Unable to resolve workspace folder (Unable to resolve nonexistent file'
|
|
114
|
+
);
|
|
115
|
+
});
|
|
116
|
+
} else {
|
|
117
|
+
test('Check if a project folder has been created', async function (): Promise<void> {
|
|
118
|
+
testRepoProjectName = StringUtil.getProjectNameFromGitUrl(FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL);
|
|
119
|
+
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
120
|
+
expect(await projectAndFileTests.getProjectTreeItem(projectSection, testRepoProjectName), 'Project folder was not imported')
|
|
121
|
+
.not.undefined;
|
|
116
122
|
});
|
|
117
123
|
|
|
118
|
-
test('
|
|
119
|
-
|
|
124
|
+
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
125
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
120
126
|
});
|
|
121
|
-
|
|
127
|
+
|
|
122
128
|
test('Check if the project files were imported', async function (): Promise<void> {
|
|
123
129
|
expect(await projectAndFileTests.getProjectTreeItem(projectSection, label), 'Project files were not imported').not
|
|
124
130
|
.undefined;
|
|
@@ -142,7 +148,6 @@ suite(
|
|
|
142
148
|
await sourceControl.openView();
|
|
143
149
|
const scmView: NewScmView = new NewScmView();
|
|
144
150
|
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.inputField);
|
|
145
|
-
let rest: SingleScmProvider[];
|
|
146
151
|
[scmProvider, ...rest] = await scmView.getProviders();
|
|
147
152
|
Logger.debug(`scmView.getProviders: "${JSON.stringify(scmProvider)}, ${rest}"`);
|
|
148
153
|
});
|
|
@@ -232,15 +237,17 @@ suite(
|
|
|
232
237
|
});
|
|
233
238
|
}
|
|
234
239
|
|
|
235
|
-
|
|
236
|
-
await
|
|
240
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
241
|
+
await dashboard.openDashboard();
|
|
237
242
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
238
243
|
});
|
|
239
244
|
|
|
240
|
-
|
|
241
|
-
await
|
|
245
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
246
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
242
247
|
});
|
|
243
248
|
|
|
244
|
-
|
|
249
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
250
|
+
registerRunningWorkspace('');
|
|
251
|
+
});
|
|
245
252
|
}
|
|
246
253
|
);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
11
|
import { ViewSection } from 'monaco-page-objects';
|
|
12
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
12
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
13
13
|
import { expect } from 'chai';
|
|
14
14
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
15
15
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
@@ -19,6 +19,7 @@ import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
|
19
19
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
20
|
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
21
21
|
import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
|
|
22
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
22
23
|
|
|
23
24
|
const stackName: string = BASE_TEST_CONSTANTS.TS_SELENIUM_DASHBOARD_SAMPLE_NAME || 'Python';
|
|
24
25
|
const projectName: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_PROJECT_NAME || 'python-hello-world';
|
|
@@ -29,10 +30,14 @@ suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS.
|
|
|
29
30
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
30
31
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
31
32
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
33
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
34
|
+
|
|
32
35
|
let projectSection: ViewSection;
|
|
33
36
|
let existedWorkspaceName: string;
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
39
|
+
await loginTests.loginIntoChe();
|
|
40
|
+
});
|
|
36
41
|
|
|
37
42
|
test(`Create and open new workspace, stack:${stackName}`, async function (): Promise<void> {
|
|
38
43
|
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
@@ -76,15 +81,17 @@ suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS.
|
|
|
76
81
|
).not.undefined;
|
|
77
82
|
});
|
|
78
83
|
|
|
79
|
-
|
|
80
|
-
await
|
|
84
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
85
|
+
await dashboard.openDashboard();
|
|
81
86
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
82
87
|
});
|
|
83
88
|
|
|
84
|
-
|
|
85
|
-
await
|
|
86
|
-
await
|
|
89
|
+
suiteTeardown(`Stop and delete all created ${stackName} workspaces by API`, async function (): Promise<void> {
|
|
90
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
91
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(existedWorkspaceName);
|
|
87
92
|
});
|
|
88
93
|
|
|
89
|
-
|
|
94
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
95
|
+
registerRunningWorkspace('');
|
|
96
|
+
});
|
|
90
97
|
});
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
import { ViewSection } from 'monaco-page-objects';
|
|
11
11
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
12
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
12
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
13
13
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
14
14
|
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
15
15
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
@@ -19,6 +19,8 @@ import { expect } from 'chai';
|
|
|
19
19
|
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
20
20
|
import { ShellString } from 'shelljs';
|
|
21
21
|
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
22
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
23
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
22
24
|
|
|
23
25
|
suite(
|
|
24
26
|
`Check possibility to manage containers within a workspace with kubedock and podman ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`,
|
|
@@ -27,6 +29,9 @@ suite(
|
|
|
27
29
|
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
28
30
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
29
31
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
32
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
33
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
34
|
+
|
|
30
35
|
let kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor;
|
|
31
36
|
let workspaceName: string = '';
|
|
32
37
|
|
|
@@ -48,7 +53,9 @@ suite(
|
|
|
48
53
|
|
|
49
54
|
const factoryUrl: string = 'https://github.com/l0rd/dockerfile-hello-world';
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
57
|
+
await loginTests.loginIntoChe();
|
|
58
|
+
});
|
|
52
59
|
|
|
53
60
|
test(`Create and open new workspace from factory:${factoryUrl}`, async function (): Promise<void> {
|
|
54
61
|
await workspaceHandlingTests.createAndOpenWorkspaceFromGitRepository(factoryUrl);
|
|
@@ -82,15 +89,17 @@ suite(
|
|
|
82
89
|
expect(output, 'Podman test script failed').contains('Hello from Kubedock!');
|
|
83
90
|
});
|
|
84
91
|
|
|
85
|
-
|
|
86
|
-
await
|
|
92
|
+
suiteTeardown('Open dashboard and close all other tabs', async function (): Promise<void> {
|
|
93
|
+
await dashboard.openDashboard();
|
|
87
94
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
88
95
|
});
|
|
89
96
|
|
|
90
|
-
|
|
91
|
-
await
|
|
97
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
98
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
92
99
|
});
|
|
93
100
|
|
|
94
|
-
|
|
101
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
102
|
+
registerRunningWorkspace('');
|
|
103
|
+
});
|
|
95
104
|
}
|
|
96
105
|
);
|