@eclipse-che/che-e2e 7.45.0-dev-0129fe6 → 7.45.0-dev-14d9e32
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/dist/driver/CheReporter.js +4 -4
- package/dist/driver/CheReporter.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +15 -2
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/ide/Ide.js +14 -4
- package/dist/pageobjects/ide/Ide.js.map +1 -1
- package/dist/pageobjects/ide/ProjectTree.js +9 -5
- package/dist/pageobjects/ide/ProjectTree.js.map +1 -1
- package/dist/tests/devfiles/DotNetCore.spec.js +1 -1
- package/dist/tests/devfiles/DotNetCore.spec.js.map +1 -1
- package/dist/tests/devfiles/Go.spec.js +15 -15
- package/dist/tests/devfiles/Go.spec.js.map +1 -1
- package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js +10 -7
- package/dist/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.js.map +1 -1
- package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js +3 -2
- package/dist/tests/plugins/GitHubPullRequestPlugin.spec.js.map +1 -1
- package/dist/testsLibrary/LanguageServerTests.js +1 -0
- package/dist/testsLibrary/LanguageServerTests.js.map +1 -1
- package/dist/testsLibrary/WorkspaceHandlingTests.js +13 -4
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +3 -15
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -1
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +3 -3
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -1
- package/driver/CheReporter.ts +4 -4
- package/index.ts +1 -1
- package/package.json +2 -2
- package/pageobjects/dashboard/Dashboard.ts +14 -2
- package/pageobjects/ide/Ide.ts +13 -4
- package/pageobjects/ide/ProjectTree.ts +6 -5
- package/tests/devfiles/DotNetCore.spec.ts +1 -1
- package/tests/devfiles/Go.spec.ts +15 -17
- package/tests/e2e_happy_path/DevWorkspaceHappyPath.spec.ts +126 -123
- package/tests/plugins/GitHubPullRequestPlugin.spec.ts +3 -2
- package/testsLibrary/LanguageServerTests.ts +1 -0
- package/testsLibrary/WorkspaceHandlingTests.ts +10 -3
- package/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +3 -9
- package/utils/requestHandlers/tokens/CheMultiuserTokenHandler.ts +20 -18
- package/dist/utils/KeycloackUrlHandler.js +0 -30
- package/dist/utils/KeycloackUrlHandler.js.map +0 -1
- package/utils/KeycloackUrlHandler.ts +0 -32
|
@@ -78,6 +78,7 @@ let LanguageServerTests = class LanguageServerTests {
|
|
|
78
78
|
await this.editor.pressControlSpaceCombination(openedTab);
|
|
79
79
|
await this.editor.waitSuggestionContainer();
|
|
80
80
|
await this.editor.waitSuggestionWithScrolling(openedTab, expectedText);
|
|
81
|
+
await this.editor.waitTabWithSavedStatus(openedTab);
|
|
81
82
|
});
|
|
82
83
|
}
|
|
83
84
|
waitLSInitialization(startingNote, alternateNote = '', startTimeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageServerTests.js","sourceRoot":"","sources":["../../testsLibrary/LanguageServerTests.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LanguageServerTests.js","sourceRoot":"","sources":["../../testsLibrary/LanguageServerTests.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,12 +30,15 @@ const Dashboard_1 = require("../pageobjects/dashboard/Dashboard");
|
|
|
30
30
|
const CreateWorkspace_1 = require("../pageobjects/dashboard/CreateWorkspace");
|
|
31
31
|
const Workspaces_1 = require("../pageobjects/dashboard/Workspaces");
|
|
32
32
|
const WorkspaceNameHandler_1 = require("../utils/WorkspaceNameHandler");
|
|
33
|
+
const BrowserTabsUtil_1 = require("../utils/BrowserTabsUtil");
|
|
34
|
+
const __1 = require("..");
|
|
33
35
|
let WorkspaceHandlingTests = WorkspaceHandlingTests_1 = class WorkspaceHandlingTests {
|
|
34
|
-
constructor(dashboard, createWorkspace, workspaces, workspaceNameHandler) {
|
|
36
|
+
constructor(dashboard, createWorkspace, workspaces, workspaceNameHandler, browserTabsUtil) {
|
|
35
37
|
this.dashboard = dashboard;
|
|
36
38
|
this.createWorkspace = createWorkspace;
|
|
37
39
|
this.workspaces = workspaces;
|
|
38
40
|
this.workspaceNameHandler = workspaceNameHandler;
|
|
41
|
+
this.browserTabsUtil = browserTabsUtil;
|
|
39
42
|
}
|
|
40
43
|
static getWorkspaceName() {
|
|
41
44
|
return WorkspaceHandlingTests_1.workspaceName;
|
|
@@ -45,9 +48,13 @@ let WorkspaceHandlingTests = WorkspaceHandlingTests_1 = class WorkspaceHandlingT
|
|
|
45
48
|
await this.dashboard.waitPage();
|
|
46
49
|
await this.dashboard.clickCreateWorkspaceButton();
|
|
47
50
|
await this.createWorkspace.waitPage();
|
|
51
|
+
const parentGUID = await this.browserTabsUtil.getCurrentWindowHandle();
|
|
48
52
|
await this.createWorkspace.clickOnSample(stack);
|
|
49
|
-
await this.
|
|
50
|
-
|
|
53
|
+
// WorkspaceHandlingTests.workspaceName = await this.workspaceNameHandler.getNameFromUrl();
|
|
54
|
+
await this.browserTabsUtil.switchToWindow(parentGUID);
|
|
55
|
+
WorkspaceHandlingTests_1.workspaceName = await this.dashboard.getRecentWorkspaceName(10000);
|
|
56
|
+
__1.Logger.debug(`Workspace Name is: ${WorkspaceHandlingTests_1.workspaceName}`);
|
|
57
|
+
await this.browserTabsUtil.waitAndSwitchToAnotherWindow(parentGUID, 10000);
|
|
51
58
|
});
|
|
52
59
|
}
|
|
53
60
|
openExistingWorkspace(workspaceName) {
|
|
@@ -78,10 +85,12 @@ WorkspaceHandlingTests = WorkspaceHandlingTests_1 = __decorate([
|
|
|
78
85
|
__param(1, inversify_1.inject(inversify_types_1.CLASSES.CreateWorkspace)),
|
|
79
86
|
__param(2, inversify_1.inject(inversify_types_1.CLASSES.Workspaces)),
|
|
80
87
|
__param(3, inversify_1.inject(inversify_types_1.CLASSES.WorkspaceNameHandler)),
|
|
88
|
+
__param(4, inversify_1.inject(inversify_types_1.CLASSES.BrowserTabsUtil)),
|
|
81
89
|
__metadata("design:paramtypes", [Dashboard_1.Dashboard,
|
|
82
90
|
CreateWorkspace_1.CreateWorkspace,
|
|
83
91
|
Workspaces_1.Workspaces,
|
|
84
|
-
WorkspaceNameHandler_1.WorkspaceNameHandler
|
|
92
|
+
WorkspaceNameHandler_1.WorkspaceNameHandler,
|
|
93
|
+
BrowserTabsUtil_1.BrowserTabsUtil])
|
|
85
94
|
], WorkspaceHandlingTests);
|
|
86
95
|
exports.WorkspaceHandlingTests = WorkspaceHandlingTests;
|
|
87
96
|
//# sourceMappingURL=WorkspaceHandlingTests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../testsLibrary/WorkspaceHandlingTests.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,wDAA6C;AAC7C,kEAA+D;AAC/D,8EAA2E;AAC3E,oEAAiE;AACjE,wEAAqE;
|
|
1
|
+
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../testsLibrary/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,29 +5,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
9
|
exports.CheMultiuserAuthorizationHeaderHandler = void 0;
|
|
16
|
-
const inversify_types_1 = require("../../../inversify.types");
|
|
17
10
|
const inversify_1 = require("inversify");
|
|
18
11
|
let CheMultiuserAuthorizationHeaderHandler = class CheMultiuserAuthorizationHeaderHandler {
|
|
19
|
-
constructor(tokenHandler) {
|
|
20
|
-
this.tokenHandler = tokenHandler;
|
|
21
|
-
}
|
|
22
12
|
async get() {
|
|
23
|
-
|
|
24
|
-
return { headers: { '
|
|
13
|
+
// to-do : Fetch the cookies from user api and pass it here
|
|
14
|
+
return { headers: { 'cookie': `` } };
|
|
25
15
|
}
|
|
26
16
|
};
|
|
27
17
|
CheMultiuserAuthorizationHeaderHandler = __decorate([
|
|
28
|
-
inversify_1.injectable()
|
|
29
|
-
__param(0, inversify_1.inject(inversify_types_1.TYPES.ITokenHandler)),
|
|
30
|
-
__metadata("design:paramtypes", [Object])
|
|
18
|
+
inversify_1.injectable()
|
|
31
19
|
], CheMultiuserAuthorizationHeaderHandler);
|
|
32
20
|
exports.CheMultiuserAuthorizationHeaderHandler = CheMultiuserAuthorizationHeaderHandler;
|
|
33
21
|
//# sourceMappingURL=CheMultiuserAuthorizationHeaderHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheMultiuserAuthorizationHeaderHandler.js","sourceRoot":"","sources":["../../../../utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheMultiuserAuthorizationHeaderHandler.js","sourceRoot":"","sources":["../../../../utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.ts"],"names":[],"mappings":";;;;;;;;;AAWA,yCAAuC;AAGvC,IAAa,sCAAsC,GAAnD,MAAa,sCAAsC;IAE/C,KAAK,CAAC,GAAG;QACL,4DAA4D;QAC5D,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;CACJ,CAAA;AANY,sCAAsC;IADlD,sBAAU,EAAE;GACA,sCAAsC,CAMlD;AANY,wFAAsC"}
|
|
@@ -23,15 +23,15 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
23
23
|
const querystring_1 = __importDefault(require("querystring"));
|
|
24
24
|
const inversify_1 = require("inversify");
|
|
25
25
|
const TestConstants_1 = require("../../../TestConstants");
|
|
26
|
-
const KeycloackUrlHandler_1 = require("../../KeycloackUrlHandler");
|
|
27
26
|
let CheMultiuserTokenHandler = class CheMultiuserTokenHandler {
|
|
28
27
|
async get() {
|
|
29
|
-
|
|
28
|
+
// to-do: Login to the che-dashboard and fetch the authorization related info
|
|
29
|
+
const keycloakUrl = '';
|
|
30
30
|
const params = {
|
|
31
31
|
client_id: 'che-public',
|
|
32
32
|
username: TestConstants_1.TestConstants.TS_SELENIUM_USERNAME,
|
|
33
33
|
password: TestConstants_1.TestConstants.TS_SELENIUM_PASSWORD,
|
|
34
|
-
grant_type: 'password'
|
|
34
|
+
grant_type: 'password',
|
|
35
35
|
};
|
|
36
36
|
try {
|
|
37
37
|
const responseToObtainBearerToken = await axios_1.default.post(keycloakUrl, querystring_1.default.stringify(params));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheMultiuserTokenHandler.js","sourceRoot":"","sources":["../../../../utils/requestHandlers/tokens/CheMultiuserTokenHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,kDAA0B;AAC1B,8DAAsC;AACtC,yCAAuC;AACvC,0DAAuD;
|
|
1
|
+
{"version":3,"file":"CheMultiuserTokenHandler.js","sourceRoot":"","sources":["../../../../utils/requestHandlers/tokens/CheMultiuserTokenHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,kDAA0B;AAC1B,8DAAsC;AACtC,yCAAuC;AACvC,0DAAuD;AAKvD,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IACnC,KAAK,CAAC,GAAG;QACP,+EAA+E;QAC/E,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,6BAAa,CAAC,oBAAoB;YAC5C,QAAQ,EAAE,6BAAa,CAAC,oBAAoB;YAC5C,UAAU,EAAE,UAAU;SACvB,CAAC;QAEF,IAAI;YACF,MAAM,2BAA2B,GAAG,MAAM,eAAK,CAAC,IAAI,CAClD,WAAW,EACX,qBAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9B,CAAC;YACF,OAAO,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC;SACtD;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;YAClE,MAAM,GAAG,CAAC;SACX;IACH,CAAC;CACF,CAAA;AAvBY,wBAAwB;IADpC,sBAAU,EAAE;GACA,wBAAwB,CAuBpC;AAvBY,4DAAwB"}
|
package/driver/CheReporter.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { logging } from 'selenium-webdriver';
|
|
|
18
18
|
import { DriverHelper } from '../utils/DriverHelper';
|
|
19
19
|
import { ScreenCatcher } from '../utils/ScreenCatcher';
|
|
20
20
|
import { ITestWorkspaceUtil } from '../utils/workspace/ITestWorkspaceUtil';
|
|
21
|
-
import { PreferencesHandler
|
|
21
|
+
// import { PreferencesHandler } from '../utils/PreferencesHandler';
|
|
22
22
|
import { CheApiRequestHandler } from '../utils/requestHandlers/CheApiRequestHandler';
|
|
23
23
|
import { TimeoutConstants } from '../TimeoutConstants';
|
|
24
24
|
import { Logger } from '../utils/Logger';
|
|
@@ -32,7 +32,7 @@ const sanitizer: Sanitizer = e2eContainer.get(CLASSES.Sanitizer);
|
|
|
32
32
|
let methodIndex: number = 0;
|
|
33
33
|
let deleteScreencast: boolean = true;
|
|
34
34
|
let testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
35
|
-
let preferencesHandler: PreferencesHandler = e2eContainer.get(CLASSES.PreferencesHandler);
|
|
35
|
+
// let preferencesHandler: PreferencesHandler = e2eContainer.get(CLASSES.PreferencesHandler);
|
|
36
36
|
|
|
37
37
|
class CheReporter extends mocha.reporters.Spec {
|
|
38
38
|
|
|
@@ -86,8 +86,8 @@ class CheReporter extends mocha.reporters.Spec {
|
|
|
86
86
|
if (TestConstants.TS_SELENIUM_RESPONSE_INTERCEPTOR) {
|
|
87
87
|
CheApiRequestHandler.enableResponseInterceptor();
|
|
88
88
|
}
|
|
89
|
-
await preferencesHandler.setConfirmExit(AskForConfirmationType.never);
|
|
90
|
-
await preferencesHandler.setTerminalType(TerminalRendererType.dom);
|
|
89
|
+
// await preferencesHandler.setConfirmExit(AskForConfirmationType.never);
|
|
90
|
+
// await preferencesHandler.setTerminalType(TerminalRendererType.dom);
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
runner.on('test', async function (test: mocha.Test) {
|
package/index.ts
CHANGED
|
@@ -9,7 +9,6 @@ export * from './driver/IDriver';
|
|
|
9
9
|
export * from './utils/AnimationChecker';
|
|
10
10
|
export * from './utils/BrowserTabsUtil';
|
|
11
11
|
export * from './utils/DriverHelper';
|
|
12
|
-
export * from './utils/KeycloackUrlHandler';
|
|
13
12
|
export * from './utils/Logger';
|
|
14
13
|
export * from './utils/PreferencesHandler';
|
|
15
14
|
export * from './utils/requestHandlers/CheApiRequestHandler';
|
|
@@ -39,6 +38,7 @@ export * from './pageobjects/ide/LeftToolBar';
|
|
|
39
38
|
export * from './pageobjects/ide/NavigationBar';
|
|
40
39
|
export * from './pageobjects/ide/NotificationCenter';
|
|
41
40
|
export * from './pageobjects/ide/OpenDialogWidget';
|
|
41
|
+
export * from './pageobjects/ide/OpenEditors';
|
|
42
42
|
export * from './pageobjects/ide/OpenWorkspaceWidget';
|
|
43
43
|
export * from './pageobjects/ide/plugins/GitHubPullRequestPlugin';
|
|
44
44
|
export * from './pageobjects/ide/plugins/GitPlugin';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.45.0-dev-
|
|
3
|
+
"version": "7.45.0-dev-14d9e32",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@types/selenium-webdriver": "3.0.16",
|
|
40
40
|
"axios": "^0.25.0",
|
|
41
41
|
"chai": "4.2.0",
|
|
42
|
-
"chromedriver": "
|
|
42
|
+
"chromedriver": "^99.0.0",
|
|
43
43
|
"mocha": "^9.1.3",
|
|
44
44
|
"rimraf": "2.6.2",
|
|
45
45
|
"selenium-webdriver": "3.6.0",
|
|
@@ -16,6 +16,7 @@ import { TestConstants } from '../../TestConstants';
|
|
|
16
16
|
import { TimeoutConstants } from '../../TimeoutConstants';
|
|
17
17
|
import { Workspaces } from './Workspaces';
|
|
18
18
|
import { Logger } from '../../utils/Logger';
|
|
19
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
19
20
|
|
|
20
21
|
@injectable()
|
|
21
22
|
export class Dashboard {
|
|
@@ -25,7 +26,8 @@ export class Dashboard {
|
|
|
25
26
|
private static readonly WORKSPACE_STARTING_PAGE_CSS: string = '.ide-loader-page';
|
|
26
27
|
|
|
27
28
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
28
|
-
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces
|
|
29
|
+
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces,
|
|
30
|
+
@inject(CLASSES.BrowserTabsUtil) private readonly browserTabUtil: BrowserTabsUtil) { }
|
|
29
31
|
|
|
30
32
|
async stopWorkspaceByUI(workspaceName: string) {
|
|
31
33
|
Logger.debug(`Dashboard.stopWorkspaceByUI "${workspaceName}"`);
|
|
@@ -60,7 +62,11 @@ export class Dashboard {
|
|
|
60
62
|
|
|
61
63
|
async openDashboard() {
|
|
62
64
|
Logger.debug('Dashboard.openDashboard');
|
|
63
|
-
|
|
65
|
+
const windowHandles = await this.browserTabUtil.getAllWindowHandles();
|
|
66
|
+
if (windowHandles.length > 1) {
|
|
67
|
+
const windowHandle = await this.browserTabUtil.getCurrentWindowHandle();
|
|
68
|
+
await this.browserTabUtil.waitAndSwitchToAnotherWindow(windowHandle, 1000);
|
|
69
|
+
}
|
|
64
70
|
await this.driverHelper.getDriver().navigate().to(TestConstants.TS_SELENIUM_BASE_URL);
|
|
65
71
|
await this.waitPage();
|
|
66
72
|
|
|
@@ -109,4 +115,10 @@ export class Dashboard {
|
|
|
109
115
|
await this.driverHelper.waitPresence(By.css(Dashboard.WORKSPACE_STARTING_PAGE_CSS), timeout);
|
|
110
116
|
}
|
|
111
117
|
|
|
118
|
+
async getRecentWorkspaceName(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
119
|
+
Logger.debug(`Dashboard.recentWorkspaceName`);
|
|
120
|
+
|
|
121
|
+
return await this.driverHelper.waitAndGetText(By.css('[data-testid="recent-workspace-item"]'), timeout);
|
|
122
|
+
}
|
|
123
|
+
|
|
112
124
|
}
|
package/pageobjects/ide/Ide.ts
CHANGED
|
@@ -47,15 +47,24 @@ export class Ide {
|
|
|
47
47
|
await this.driverHelper.waitAndSwitchToFrame(By.css(Ide.IDE_IFRAME_CSS), timeout);
|
|
48
48
|
} catch (err) {
|
|
49
49
|
if (err instanceof error.StaleElementReferenceError) {
|
|
50
|
-
Logger.warn('StaleElementException
|
|
50
|
+
Logger.warn('StaleElementException occurred during waiting for IDE. Sleeping for 2 secs and retrying.');
|
|
51
51
|
this.driverHelper.wait(2000);
|
|
52
|
-
|
|
52
|
+
try {
|
|
53
|
+
await this.driverHelper.waitAndSwitchToFrame(By.css(Ide.IDE_IFRAME_CSS), timeout);
|
|
54
|
+
} catch (err) {
|
|
55
|
+
if (err instanceof error.TimeoutError) {
|
|
56
|
+
Logger.warn(`Iframe is not available even after ${timeout} milliseconds, checking for visibility of #theia-main-content-panel.`);
|
|
57
|
+
await this.driverHelper.isVisible(By.css('#theia-main-content-panel'));
|
|
58
|
+
return
|
|
59
|
+
}
|
|
60
|
+
throw err
|
|
61
|
+
}
|
|
53
62
|
return;
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
if (err instanceof error.TimeoutError) {
|
|
57
|
-
Logger.
|
|
58
|
-
|
|
66
|
+
Logger.warn(`Iframe is not available even after ${timeout} milliseconds, checking for visibility of #theia-main-content-panel.`);
|
|
67
|
+
await this.driverHelper.isVisible(By.css('#theia-main-content-panel'));
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
Logger.error(`Switching to IDE frame failed.`);
|
|
@@ -18,6 +18,7 @@ import { By, error } from 'selenium-webdriver';
|
|
|
18
18
|
import { Editor } from './Editor';
|
|
19
19
|
import { Logger } from '../../utils/Logger';
|
|
20
20
|
import { TimeoutConstants } from '../../TimeoutConstants';
|
|
21
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
21
22
|
|
|
22
23
|
@injectable()
|
|
23
24
|
export class ProjectTree {
|
|
@@ -26,7 +27,8 @@ export class ProjectTree {
|
|
|
26
27
|
constructor(
|
|
27
28
|
@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
28
29
|
@inject(CLASSES.Ide) private readonly ide: Ide,
|
|
29
|
-
@inject(CLASSES.Editor) private readonly editor: Editor
|
|
30
|
+
@inject(CLASSES.Editor) private readonly editor: Editor,
|
|
31
|
+
@inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil) { }
|
|
30
32
|
|
|
31
33
|
async clickCollapseAllButton() {
|
|
32
34
|
Logger.debug('ProjectTree.clickCollapseAllButton');
|
|
@@ -237,7 +239,7 @@ export class ProjectTree {
|
|
|
237
239
|
|
|
238
240
|
if (!isProjectFolderVisible) {
|
|
239
241
|
Logger.trace(`ProjectTree.waitProjectImported project not located, reloading page.`);
|
|
240
|
-
await this.
|
|
242
|
+
await this.browserTabsUtil.refreshPage();
|
|
241
243
|
await this.ide.waitAndSwitchToIdeFrame();
|
|
242
244
|
await this.ide.waitIde();
|
|
243
245
|
await this.openProjectTreeContainer();
|
|
@@ -253,13 +255,12 @@ export class ProjectTree {
|
|
|
253
255
|
|
|
254
256
|
if (!isRootSubItemVisible) {
|
|
255
257
|
Logger.trace(`ProjectTree.waitProjectImported sub-items not found, reloading page.`);
|
|
256
|
-
await this.
|
|
258
|
+
await this.browserTabsUtil.refreshPage();
|
|
257
259
|
await this.ide.waitAndSwitchToIdeFrame();
|
|
258
260
|
await this.ide.waitIde();
|
|
259
261
|
await this.openProjectTreeContainer();
|
|
260
262
|
continue;
|
|
261
263
|
}
|
|
262
|
-
|
|
263
264
|
return;
|
|
264
265
|
}
|
|
265
266
|
|
|
@@ -281,7 +282,7 @@ export class ProjectTree {
|
|
|
281
282
|
|
|
282
283
|
if (!isProjectFolderVisible) {
|
|
283
284
|
Logger.trace(`ProjectTree.waitProjectImportedNoSubfolder project not located, reloading page.`);
|
|
284
|
-
await this.
|
|
285
|
+
await this.browserTabsUtil.refreshPage();
|
|
285
286
|
await this.driverHelper.wait(triesPolling);
|
|
286
287
|
await this.ide.waitAndSwitchToIdeFrame();
|
|
287
288
|
await this.ide.waitIde();
|
|
@@ -27,7 +27,7 @@ const workspaceSampleName: string = 'dotnet-web-simple';
|
|
|
27
27
|
const fileFolderPath: string = `${workspaceSampleName}`;
|
|
28
28
|
const tabTitle: string = 'Program.cs';
|
|
29
29
|
// const codeNavigationClassName: string = '[metadata] Console.cs';
|
|
30
|
-
const stack : string = '.NET Core';
|
|
30
|
+
const stack : string = 'ASP.NET Core Web Application';
|
|
31
31
|
const updateDependenciesTaskName: string = 'update dependencies';
|
|
32
32
|
const buildTaskName: string = 'build';
|
|
33
33
|
const runTaskName: string = 'run';
|
|
@@ -25,32 +25,30 @@ const codeExecutionTests: CodeExecutionTests = e2eContainer.get(CLASSES.CodeExec
|
|
|
25
25
|
const preferencesHandler: PreferencesHandler = e2eContainer.get(CLASSES.PreferencesHandler);
|
|
26
26
|
|
|
27
27
|
const workspaceStack: string = 'Go';
|
|
28
|
-
const workspaceSampleName: string = 'example';
|
|
29
|
-
const workspaceSubfolderName: string = '
|
|
28
|
+
const workspaceSampleName: string = 'golang-example';
|
|
29
|
+
const workspaceSubfolderName: string = 'template';
|
|
30
30
|
const fileFolderPath: string = `${workspaceSampleName}/${workspaceSubfolderName}`;
|
|
31
31
|
const fileName: string = `main.go`;
|
|
32
32
|
|
|
33
|
-
const taskRunServer: string = '
|
|
34
|
-
const taskStopServer: string = '
|
|
35
|
-
const taskTestOutyet: string = '
|
|
33
|
+
const taskRunServer: string = 'run-outyet';
|
|
34
|
+
const taskStopServer: string = 'stop-outyet';
|
|
35
|
+
const taskTestOutyet: string = 'test-outyet';
|
|
36
36
|
const notificationText: string = 'Process 8080-tcp is now listening on port 8080. Open it ?';
|
|
37
37
|
let workspaceName: string;
|
|
38
38
|
|
|
39
39
|
suite(`${workspaceStack} test`, async () => {
|
|
40
40
|
|
|
41
41
|
suite(`Create ${workspaceStack} workspace`, async () => {
|
|
42
|
-
test('Workaround for issue #16113', async () => {
|
|
43
|
-
Logger.warn(`Manually setting a preference for golang devfile LS based on issue: https://github.com/eclipse/che/issues/16113`);
|
|
44
|
-
await preferencesHandler.setUseGoLanaguageServer();
|
|
45
|
-
});
|
|
46
42
|
workspaceHandlingTests.createAndOpenWorkspace(workspaceStack);
|
|
47
|
-
|
|
48
43
|
test('Register running workspace', async () => {
|
|
49
44
|
workspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
50
45
|
CheReporter.registerRunningWorkspace(workspaceName);
|
|
51
46
|
});
|
|
52
|
-
|
|
53
47
|
projectAndFileTests.waitWorkspaceReadiness(workspaceSampleName, workspaceSubfolderName, false);
|
|
48
|
+
test('Workaround for issue #16113', async () => {
|
|
49
|
+
Logger.warn(`Manually setting a preference for golang devFile LS based on issue: https://github.com/eclipse/che/issues/16113`);
|
|
50
|
+
await preferencesHandler.setPreferenceUsingUI('go.useLanguageServer', true);
|
|
51
|
+
});
|
|
54
52
|
});
|
|
55
53
|
|
|
56
54
|
suite('Test opening file', async () => {
|
|
@@ -59,24 +57,24 @@ suite(`${workspaceStack} test`, async () => {
|
|
|
59
57
|
});
|
|
60
58
|
|
|
61
59
|
suite('Test golang example', async () => {
|
|
62
|
-
codeExecutionTests.runTask(taskTestOutyet,
|
|
60
|
+
codeExecutionTests.runTask(taskTestOutyet, 80_000);
|
|
63
61
|
codeExecutionTests.closeTerminal(taskTestOutyet);
|
|
64
62
|
});
|
|
65
63
|
|
|
66
64
|
suite('Run golang example server', async () => {
|
|
67
65
|
codeExecutionTests.runTaskWithNotification(taskRunServer, notificationText, 40_000);
|
|
68
|
-
codeExecutionTests.runTask(taskStopServer,
|
|
66
|
+
codeExecutionTests.runTask(taskStopServer, 8_000);
|
|
69
67
|
});
|
|
70
68
|
|
|
71
69
|
suite(`'Language server validation'`, async () => {
|
|
72
|
-
commonLanguageServerTests.suggestionInvoking(fileName,
|
|
73
|
-
commonLanguageServerTests.autocomplete(fileName,
|
|
74
|
-
commonLanguageServerTests.errorHighlighting(fileName, 'error;\n',
|
|
70
|
+
commonLanguageServerTests.suggestionInvoking(fileName, 41, 49, 'Parse');
|
|
71
|
+
commonLanguageServerTests.autocomplete(fileName, 41, 49, 'Parse');
|
|
72
|
+
commonLanguageServerTests.errorHighlighting(fileName, 'error;\n', 41);
|
|
75
73
|
// commonLanguageServerTests.goToImplementations(fileName, 42, 10, 'flag.go'); // codenavigation is inconsistent https://github.com/eclipse/che/issues/16929
|
|
76
74
|
});
|
|
77
75
|
|
|
78
76
|
suite('Stop and remove workspace', async() => {
|
|
79
|
-
test(`Stop and
|
|
77
|
+
test(`Stop and remove workspace`, async () => {
|
|
80
78
|
await workspaceHandlingTests.stopAndRemoveWorkspace(workspaceName);
|
|
81
79
|
});
|
|
82
80
|
});
|