@eclipse-che/che-e2e 7.102.0 → 7.103.0-next-35e428e
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/pageobjects/dashboard/Dashboard.js +10 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +7 -1
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +3 -0
- package/dist/specs/SmokeTest.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js +1 -1
- package/dist/specs/dashboard-samples/Quarkus.spec.js.map +1 -1
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js +117 -9
- package/dist/specs/dashboard-samples/RecommendedExtensions.spec.js.map +1 -1
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js +9 -7
- package/dist/specs/miscellaneous/WorkspaceIdleTimeout.spec.js.map +1 -1
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js +84 -0
- package/dist/specs/miscellaneous/WorkspaceRunTimeout.spec.js.map +1 -0
- package/dist/tests-library/ProjectAndFileTests.js +25 -0
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -1
- package/package.json +4 -5
- package/pageobjects/dashboard/Dashboard.ts +10 -1
- package/pageobjects/ide/CheCodeLocatorLoader.ts +7 -1
- package/specs/SmokeTest.spec.ts +3 -0
- package/specs/dashboard-samples/Quarkus.spec.ts +1 -1
- package/specs/dashboard-samples/RecommendedExtensions.spec.ts +137 -13
- package/specs/miscellaneous/WorkspaceIdleTimeout.spec.ts +9 -7
- package/specs/miscellaneous/WorkspaceRunTimeout.spec.ts +114 -0
- package/tests-library/ProjectAndFileTests.ts +33 -0
|
@@ -63,6 +63,16 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
63
63
|
async openDashboard() {
|
|
64
64
|
Logger_1.Logger.debug();
|
|
65
65
|
await this.driverHelper.navigateToUrl(BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL);
|
|
66
|
+
try {
|
|
67
|
+
const alert = await this.driverHelper.getDriver().switchTo().alert();
|
|
68
|
+
const alertText = await alert.getText();
|
|
69
|
+
Logger_1.Logger.info(`Alert detected, text: "${alertText}"`);
|
|
70
|
+
Logger_1.Logger.debug('Alert accepting');
|
|
71
|
+
await alert.accept();
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
Logger_1.Logger.debug('No alert detected');
|
|
75
|
+
}
|
|
66
76
|
await this.waitPage();
|
|
67
77
|
}
|
|
68
78
|
async openAboutMenu() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,2DAA+C;AAC/C,2DAAwD;AACxD,yEAAsE;AACtE,6CAA0C;AAC1C,+CAA4C;AAC5C,6EAA0E;AAGnE,IAAM,SAAS,iBAAf,MAAM,SAAS;IAuBrB,YAEU,YAA0B,EACU,UAAsB;QAD1D,iBAAY,GAAZ,YAAY,CAAc;QACU,eAAU,GAAV,UAAU,CAAY;IACjE,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC5C,eAAM,CAAC,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,aAAqB;QACrD,eAAM,CAAC,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,aAAqB;QACrD,eAAM,CAAC,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAmB,CAAC,oBAAoB,CAAC,CAAC;QAChF,IAAI;YACH,MAAM,KAAK,GAAU,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5E,MAAM,SAAS,GAAW,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAChD,eAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,GAAG,CAAC,CAAC;YACpD,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACX,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAClC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACrC,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,UAAkB,qCAAiB,CAAC,gCAAgC;QAC3G,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAS,CAAC,+BAA+B,CAAC,EAAE;YAC9E,MAAM,0BAA0B,GAAO,IAAI,CAAC,+BAA+B,CAAS,MAAM,CAAC,CAAC;YAE5F,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;SAC5E;IACF,CAAC;IAED,KAAK,CAAC,0CAA0C;QAC/C,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAC5C,IAAI,CAAC,+BAA+B,CAAC,WAAS,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAC7F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gCAAgC;QACrC,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAC5C,IAAI,CAAC,+BAA+B,CAAC,WAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CACxF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB,qCAAiB,CAAC,6BAA6B;QAC/E,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QAC9F,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACnG,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACvF,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACnF,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,WAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,UAAkB,qCAAiB,CAAC,gCAAgC;QAC7G,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qCAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,gCAAgC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACxG,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACxG,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QACzG,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,qCAAiB,CAAC,gCAAgC;QAChF,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,UAAkB,qCAAiB,CAAC,+BAA+B;QAC9G,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAS,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAEO,6BAA6B,CAAC,IAAY;QACjD,OAAO,uBAAE,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,+BAA+B,CAAC,cAAsB;QAC7D,OAAO,uBAAE,CAAC,KAAK,CAAC,sBAAsB,cAAc,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAlMuB,2BAAiB,GAAO,uBAAE,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;AACnG,iCAAuB,GAAO,uBAAE,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAClG,iCAAuB,GAAO,uBAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACzE,8BAAoB,GAAO,uBAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACvD,sBAAY,GAAO,uBAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AAChE,uBAAa,GAAO,uBAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC1D,gCAAsB,GAAO,uBAAE,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAC3F,8BAAoB,GAAO,uBAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAC1E,0CAAgC,GAAO,uBAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;AACxF,wCAA8B,GAAO,uBAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AACzF,mCAAyB,GAAO,uBAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;AACtF,yCAA+B,GAAQ;IAC9D,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,YAAY;IACvB,cAAc,EAAE,iBAAiB;IACjC,QAAQ,EAAE,UAAU;CACpB,CAAC;AACsB,8CAAoC,GAAO,uBAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACxG,sCAA4B,GAAO,uBAAE,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;AArB1G,SAAS;IADrB,IAAA,sBAAU,GAAE;IAyBV,WAAA,IAAA,kBAAM,EAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;IAE5B,WAAA,IAAA,kBAAM,EAAC,yBAAO,CAAC,UAAU,CAAC,CAAA;qCADJ,2BAAY;QACsB,uBAAU;GA1BxD,SAAS,CAoMrB;AApMY,8BAAS"}
|
|
@@ -42,7 +42,7 @@ let CheCodeLocatorLoader = class CheCodeLocatorLoader extends loader_1.LocatorLo
|
|
|
42
42
|
return {
|
|
43
43
|
locators: {
|
|
44
44
|
WelcomeContent: {
|
|
45
|
-
text: selenium_webdriver_1.By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust")]'),
|
|
45
|
+
text: selenium_webdriver_1.By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust the authors")]'),
|
|
46
46
|
button: selenium_webdriver_1.By.xpath('//div[@class="monaco-dialog-box"]//a[@class="monaco-button monaco-text-button"]')
|
|
47
47
|
},
|
|
48
48
|
ScmView: {
|
|
@@ -53,6 +53,12 @@ let CheCodeLocatorLoader = class CheCodeLocatorLoader extends loader_1.LocatorLo
|
|
|
53
53
|
},
|
|
54
54
|
Editor: {
|
|
55
55
|
inputArea: selenium_webdriver_1.By.className('native-edit-context-textarea')
|
|
56
|
+
},
|
|
57
|
+
ExtensionsViewSection: {
|
|
58
|
+
searchBox: selenium_webdriver_1.By.className('native-edit-context-textarea')
|
|
59
|
+
},
|
|
60
|
+
ExtensionsViewItem: {
|
|
61
|
+
author: selenium_webdriver_1.By.className('publisher')
|
|
56
62
|
}
|
|
57
63
|
},
|
|
58
64
|
extras: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheCodeLocatorLoader.js","sourceRoot":"","sources":["../../../pageobjects/ide/CheCodeLocatorLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,oEAAwE;AACxE,uFAAmE;AAEnE,2DAAwC;AACxC,4DAA+B;AAC/B,uEAAoE;AACpE,yCAAuC;AAEvC;;;;GAIG;AAGI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,sBAAa;IAGtD;QACC,KAAK,CACJ,mCAAgB,CAAC,2CAA2C,EAC5D,mCAAgB,CAAC,4CAA4C,EAC7D,IAAA,kDAAe,GAAE,CACjB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAChD,CAAC;IAEO,cAAc;QACrB,OAAO;YACN,QAAQ,EAAE;gBACT,cAAc,EAAE;oBACf,IAAI,EAAE,uBAAE,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"CheCodeLocatorLoader.js","sourceRoot":"","sources":["../../../pageobjects/ide/CheCodeLocatorLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,9 @@ suite(`The SmokeTest userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_
|
|
|
37
37
|
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not
|
|
38
38
|
.undefined;
|
|
39
39
|
});
|
|
40
|
+
test('Accept the project as a trusted one', async function () {
|
|
41
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
42
|
+
});
|
|
40
43
|
test('Check the project files was imported', async function () {
|
|
41
44
|
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME), 'Project files were not imported').not.undefined;
|
|
42
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmokeTest.spec.js","sourceRoot":"","sources":["../../specs/SmokeTest.spec.ts"],"names":[],"mappings":";;AAWA,gEAAqD;AACrD,kEAA2D;AAC3D,oFAAiF;AACjF,6CAAwD;AAExD,oDAAiD;AACjD,gFAA6E;AAE7E,+BAA8B;AAC9B,0EAAuE;AAEvE,KAAK,CAAC,2BAA2B,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACxE,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,UAAU,GACf,+CAAsB,CAAC,gCAAgC,IAAI,0DAA0D,CAAC;IACvH,IAAI,cAA2B,CAAC;IAChC,KAAK,CAAC,iCAAiC,UAAU,EAAE,EAAE;QACpD,UAAU,CAAC,OAAO,EAAE,KAAK;YACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,8CAA8C,UAAU,EAAE,EAAE,KAAK;YACrE,MAAM,sBAAsB,CAAC,uCAAuC,CAAC,UAAU,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kDAAkD,EAAE,KAAK;YAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,4BAA4B,EAAE;YAClC,IAAA,qCAAwB,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,EAAE,KAAK;YACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,yCAAyC,EAAE,KAAK;YACpD,MAAM,WAAW,GAAW,+CAAsB,CAAC,wBAAwB,IAAI,uBAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC/H,cAAc,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;YACnE,IAAA,aAAM,EAAC,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,iCAAiC,CAAC,CAAC,GAAG;iBACtH,SAAS,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sCAAsC,EAAE,KAAK;YACjD,IAAA,aAAM,EACL,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,yCAAmB,CAAC,kCAAkC,CAAC,EACpH,iCAAiC,CACjC,CAAC,GAAG,CAAC,SAAS,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,EAAE,KAAK;YACrC,MAAM,sBAAsB,CAAC,aAAa,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtF,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,4BAA4B,EAAE,KAAK;YACvC,MAAM,sBAAsB,CAAC,eAAe,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,8BAA8B,EAAE;YAC7C,IAAA,qCAAwB,EAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"SmokeTest.spec.js","sourceRoot":"","sources":["../../specs/SmokeTest.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TE
|
|
|
45
45
|
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
|
|
46
46
|
});
|
|
47
47
|
test('Accept the project as a trusted one', async function () {
|
|
48
|
-
await projectAndFileTests.
|
|
48
|
+
await projectAndFileTests.performTrustDialogs();
|
|
49
49
|
});
|
|
50
50
|
test('Check the project files was imported', async function () {
|
|
51
51
|
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME, 2), 'Project files were not imported').not.undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quarkus.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/Quarkus.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;AAGxE,8CAAyD;AAEzD,qEAA8D;AAC9D,mEAA+D;AAC/D,uFAAoF;AAEpF,6EAA0E;AAE1E,+BAA8B;AAI9B,MAAM,SAAS,GAAW,kBAAkB,CAAC;AAE7C,KAAK,CAAC,OAAO,SAAS,cAAc,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IAC3E,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAuB,+BAAY,CAAC,GAAG,CAAC,uBAAK,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IAEjE,IAAI,cAA2B,CAAC;IAChC,MAAM,WAAW,GAAW,qBAAqB,CAAC;IAElD,UAAU,CAAC,OAAO,EAAE,KAAK;QACxB,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,SAAS,EAAE,EAAE,KAAK;QAC9D,MAAM,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK;QAC7D,MAAM,sBAAsB,CAAC,mCAAmC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE;QAClC,IAAA,qCAAwB,EAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK;QACrC,MAAM,mBAAmB,CAAC,sCAAsC,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK;QACpD,cAAc,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;QACnE,IAAA,aAAM,EAAC,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,iCAAiC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IACpI,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK;QAChD,MAAM,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"Quarkus.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/Quarkus.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,113 @@ const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
|
20
20
|
const PLUGIN_TEST_CONSTANTS_1 = require("../../constants/PLUGIN_TEST_CONSTANTS");
|
|
21
21
|
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
22
22
|
const samples = PLUGIN_TEST_CONSTANTS_1.PLUGIN_TEST_CONSTANTS.TS_SAMPLE_LIST.split(',');
|
|
23
|
+
// get text from editor
|
|
24
|
+
async function getText() {
|
|
25
|
+
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
26
|
+
Logger_1.Logger.debug('Select and copy all text in the editor');
|
|
27
|
+
await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('a').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
|
|
28
|
+
await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('c').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
|
|
29
|
+
Logger_1.Logger.debug('Read the text');
|
|
30
|
+
Logger_1.Logger.info('Create a hidden buffer');
|
|
31
|
+
await driverHelper.getDriver().executeScript(`
|
|
32
|
+
let input = document.createElement('textarea');
|
|
33
|
+
input.setAttribute('id', 'clipboard-buffer');
|
|
34
|
+
document.body.appendChild(input);
|
|
35
|
+
input.focus();
|
|
36
|
+
`);
|
|
37
|
+
Logger_1.Logger.info('Paste the text to the buffer');
|
|
38
|
+
await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('v').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
|
|
39
|
+
Logger_1.Logger.info('Get the text from the buffer');
|
|
40
|
+
const text = await driverHelper.getDriver().executeScript(`
|
|
41
|
+
let input = document.getElementById('clipboard-buffer');
|
|
42
|
+
let text = input.value;
|
|
43
|
+
input.remove();
|
|
44
|
+
return text;
|
|
45
|
+
`);
|
|
46
|
+
console.log('Raw text:', text);
|
|
47
|
+
return text;
|
|
48
|
+
}
|
|
49
|
+
// helper function to determine section based on category
|
|
50
|
+
function getSectionForCategory(title) {
|
|
51
|
+
const category = title.split(' ')[0].toLowerCase();
|
|
52
|
+
switch (category) {
|
|
53
|
+
case '@disabled':
|
|
54
|
+
return 'Disabled';
|
|
55
|
+
case '@enabled':
|
|
56
|
+
return 'Enabled';
|
|
57
|
+
case '@installed':
|
|
58
|
+
return 'Installed';
|
|
59
|
+
case '@outdated':
|
|
60
|
+
return 'Outdated';
|
|
61
|
+
case '@recommended':
|
|
62
|
+
return 'Other Recommendations';
|
|
63
|
+
default:
|
|
64
|
+
return 'Marketplace';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// search for an extension by title
|
|
68
|
+
async function findItem(extSection, title) {
|
|
69
|
+
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
70
|
+
Logger_1.Logger.debug(`Finding extension item with filter: "${title}"`);
|
|
71
|
+
const enclosingItem = extSection.getEnclosingElement();
|
|
72
|
+
const progress = await enclosingItem.findElement(extSection.constructor.locators.ViewContent.progress);
|
|
73
|
+
const searchField = await enclosingItem.findElement(extSection.constructor.locators.ExtensionsViewSection.searchBox);
|
|
74
|
+
Logger_1.Logger.debug('Clearing search field with Ctrl+A');
|
|
75
|
+
await driverHelper.getDriver().actions().click(searchField).keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('a').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
|
|
76
|
+
await driverHelper.wait(500);
|
|
77
|
+
Logger_1.Logger.debug('Deleting selected text');
|
|
78
|
+
await driverHelper.getDriver().actions().sendKeys(monaco_page_objects_1.Key.DELETE).perform();
|
|
79
|
+
await driverHelper.wait(500);
|
|
80
|
+
Logger_1.Logger.debug(`Entering search text: "${title}"`);
|
|
81
|
+
await driverHelper.getDriver().actions().click(searchField).sendKeys(title).perform();
|
|
82
|
+
try {
|
|
83
|
+
Logger_1.Logger.debug('Waiting for progress indicator to appear');
|
|
84
|
+
await driverHelper.getDriver().wait(monaco_page_objects_1.until.elementIsVisible(progress), 3000);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (err.name !== 'TimeoutError') {
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
Logger_1.Logger.debug('Waiting for progress indicator to disappear');
|
|
92
|
+
await driverHelper.getDriver().wait(monaco_page_objects_1.until.elementIsNotVisible(progress));
|
|
93
|
+
const sectionTitle = getSectionForCategory(title);
|
|
94
|
+
Logger_1.Logger.debug(`Looking for section with title: "${sectionTitle}"`);
|
|
95
|
+
const sections = await enclosingItem.findElements(extSection.constructor.locators.ViewContent.section);
|
|
96
|
+
Logger_1.Logger.debug(`Found ${sections.length} sections`);
|
|
97
|
+
let targetSection;
|
|
98
|
+
for (const sec of sections) {
|
|
99
|
+
const titleElement = await sec.findElement(extSection.constructor.locators.ViewSection.title);
|
|
100
|
+
const sectionTitleText = await titleElement.getText();
|
|
101
|
+
if (sectionTitleText === sectionTitle) {
|
|
102
|
+
targetSection = sec;
|
|
103
|
+
Logger_1.Logger.debug(`Found target section: "${sectionTitle}"`);
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (!targetSection) {
|
|
108
|
+
Logger_1.Logger.debug(`Section "${sectionTitle}" not found`);
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const titleParts = title.split(' ');
|
|
112
|
+
let searchTitle = title;
|
|
113
|
+
if (titleParts[0].startsWith('@')) {
|
|
114
|
+
searchTitle = titleParts.slice(1).join(' ');
|
|
115
|
+
}
|
|
116
|
+
Logger_1.Logger.debug(`Searching for extension with title: "${searchTitle}"`);
|
|
117
|
+
const extensionRows = await targetSection.findElements(extSection.constructor.locators.ExtensionsViewSection.itemRow);
|
|
118
|
+
Logger_1.Logger.debug(`Found ${extensionRows.length} extension rows in section`);
|
|
119
|
+
for (const row of extensionRows) {
|
|
120
|
+
const extension = new monaco_page_objects_1.ExtensionsViewItem(row, extSection);
|
|
121
|
+
const extensionTitle = await extension.getTitle();
|
|
122
|
+
if (extensionTitle === searchTitle) {
|
|
123
|
+
Logger_1.Logger.debug(`Found matching extension: "${extensionTitle}"`);
|
|
124
|
+
return extension;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
Logger_1.Logger.debug(`Extension with title "${searchTitle}" not found in section "${sectionTitle}"`);
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
23
130
|
// get visible items from Extension view, transform this from array to sorted string and compares it with existed recommended extensions
|
|
24
131
|
async function getVisibleFilteredItemsAndCompareWithRecommended(recommendations) {
|
|
25
132
|
const extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
|
|
@@ -94,7 +201,7 @@ for (const sample of samples) {
|
|
|
94
201
|
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
95
202
|
});
|
|
96
203
|
test('Accept the project as a trusted one', async function () {
|
|
97
|
-
await projectAndFileTests.
|
|
204
|
+
await projectAndFileTests.performTrustDialogs();
|
|
98
205
|
});
|
|
99
206
|
test('Check the project files were imported', async function () {
|
|
100
207
|
// add TS_IDE_LOAD_TIMEOUT timeout for waiting for finishing animation of all IDE parts (Welcome parts. bottom widgets. etc.)
|
|
@@ -115,10 +222,11 @@ for (const sample of samples) {
|
|
|
115
222
|
await (await projectAndFileTests.getProjectTreeItem(projectSection, pathToExtensionsListFileName, vsCodeFolderItemLevel))?.select();
|
|
116
223
|
await (await projectAndFileTests.getProjectTreeItem(projectSection, extensionsListFileName, vsCodeFolderItemLevel + 1))?.select();
|
|
117
224
|
Logger_1.Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
|
|
118
|
-
|
|
225
|
+
await new monaco_page_objects_1.EditorView().openEditor(extensionsListFileName);
|
|
119
226
|
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
120
|
-
Logger_1.Logger.debug('
|
|
121
|
-
|
|
227
|
+
Logger_1.Logger.debug('Select and copy all text in the editor');
|
|
228
|
+
const text = await getText();
|
|
229
|
+
recommendedExtensions = JSON.parse(text.replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
|
|
122
230
|
Logger_1.Logger.debug('recommendedExtensions.recommendations: Get recommendations clear names using map().');
|
|
123
231
|
parsedRecommendations = recommendedExtensions.recommendations.map((rec) => {
|
|
124
232
|
const [publisher, name] = rec.split('.');
|
|
@@ -149,11 +257,11 @@ for (const sample of samples) {
|
|
|
149
257
|
await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.itemTitle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EDITOR_TAB_INTERACTION_TIMEOUT);
|
|
150
258
|
Logger_1.Logger.debug('extensionSection.findItem by @recommended filter');
|
|
151
259
|
try {
|
|
152
|
-
await
|
|
260
|
+
await findItem(extensionSection, '@recommended');
|
|
153
261
|
}
|
|
154
262
|
catch (err) {
|
|
155
263
|
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
156
|
-
await
|
|
264
|
+
await findItem(extensionSection, '@recommended');
|
|
157
265
|
}
|
|
158
266
|
const isReloadRequired = await driverHelper.isVisible(webCheCodeLocators.ExtensionsViewSection.requireReloadButton);
|
|
159
267
|
Logger_1.Logger.debug(`Is extensions require reload the editor: ${isReloadRequired}`);
|
|
@@ -168,18 +276,18 @@ for (const sample of samples) {
|
|
|
168
276
|
(0, chai_1.expect)(extensionsView, 'Can`t find Extension View section').not.undefined;
|
|
169
277
|
[extensionSection] = (await extensionsView?.getContent().getSections());
|
|
170
278
|
(0, chai_1.expect)(extensionSection, 'Can`t find Extension section').not.undefined;
|
|
171
|
-
await
|
|
279
|
+
await findItem(extensionSection, '@recommended ');
|
|
172
280
|
}
|
|
173
281
|
Logger_1.Logger.debug('extensionSection.findItem by @recommended filter');
|
|
174
282
|
(0, chai_1.expect)(await getVisibleFilteredItemsAndCompareWithRecommended(publisherNames)).to.be.true;
|
|
175
283
|
Logger_1.Logger.debug(`All recommended extensions were found by @recommended filter: ---- ${publisherNames} ----`);
|
|
176
284
|
Logger_1.Logger.debug('extensionSection.findItem by @installed filter');
|
|
177
285
|
try {
|
|
178
|
-
await
|
|
286
|
+
await findItem(extensionSection, '@installed ');
|
|
179
287
|
}
|
|
180
288
|
catch (err) {
|
|
181
289
|
await driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
182
|
-
await
|
|
290
|
+
await findItem(extensionSection, '@installed ');
|
|
183
291
|
}
|
|
184
292
|
(0, chai_1.expect)(await getVisibleFilteredItemsAndCompareWithInstalled(publisherNames)).to.be.true;
|
|
185
293
|
Logger_1.Logger.debug(`All recommended extensions were found by @installed filter: ---- ${publisherNames} ----`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedExtensions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecommendedExtensions.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecommendedExtensions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecommendedExtensions.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ const inversify_config_1 = require("../../configs/inversify.config");
|
|
|
13
13
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
14
|
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
15
|
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
-
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
17
16
|
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
18
17
|
const chai_1 = require("chai");
|
|
19
18
|
suite('"Check workspace idle timeout" test', function () {
|
|
@@ -28,9 +27,10 @@ suite('"Check workspace idle timeout" test', function () {
|
|
|
28
27
|
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
29
28
|
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
30
29
|
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
30
|
+
const SECONDS_OF_INACTIVITY_BEFORE_IDLING = Number(process.env.TS_SELENIUM_SECONDS_OF_INACTIVITY_BEFORE_IDLING) || 60;
|
|
31
31
|
const stackName = 'Empty Workspace';
|
|
32
32
|
const cheClusterName = 'devspaces';
|
|
33
|
-
let
|
|
33
|
+
let defaultIdleTimeoutValue = 0;
|
|
34
34
|
async function checkDialogButton(buttonName) {
|
|
35
35
|
await driverHelper.waitVisibility(monaco_page_objects_1.By.xpath(`//div[@class='dialog-buttons']//a[text()='${buttonName}']`));
|
|
36
36
|
}
|
|
@@ -38,13 +38,15 @@ suite('"Check workspace idle timeout" test', function () {
|
|
|
38
38
|
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
39
39
|
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
40
40
|
// get current value of spec.devEnvironments.secondsOfInactivityBeforeIdling
|
|
41
|
-
|
|
42
|
-
// set spec.devEnvironments.secondsOfInactivityBeforeIdling to
|
|
43
|
-
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge
|
|
41
|
+
defaultIdleTimeoutValue = Number(shellExecutor.executeCommand(`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.secondsOfInactivityBeforeIdling}"`));
|
|
42
|
+
// set spec.devEnvironments.secondsOfInactivityBeforeIdling to SECONDS_OF_INACTIVITY_BEFORE_IDLING
|
|
43
|
+
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
44
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfInactivityBeforeIdling": ${SECONDS_OF_INACTIVITY_BEFORE_IDLING}}}}'`);
|
|
44
45
|
});
|
|
45
46
|
suiteTeardown(function () {
|
|
46
47
|
// restore spec.devEnvironments.secondsOfInactivityBeforeIdling to original value
|
|
47
|
-
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge
|
|
48
|
+
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
49
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfInactivityBeforeIdling": ${defaultIdleTimeoutValue}}}}'`);
|
|
48
50
|
});
|
|
49
51
|
suiteSetup('Login', async function () {
|
|
50
52
|
await loginTests.loginIntoChe();
|
|
@@ -59,7 +61,7 @@ suite('"Check workspace idle timeout" test', function () {
|
|
|
59
61
|
await projectAndFileTests.performTrustAuthorDialog();
|
|
60
62
|
});
|
|
61
63
|
test('Wait idle timeout dialog and check Dialog buttons', async function () {
|
|
62
|
-
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details,
|
|
64
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details, SECONDS_OF_INACTIVITY_BEFORE_IDLING * 1000); // ms
|
|
63
65
|
const dialog = new monaco_page_objects_1.ModalDialog();
|
|
64
66
|
(0, chai_1.expect)(await dialog.getDetails()).includes('Your workspace has stopped due to inactivity.');
|
|
65
67
|
await checkDialogButton('Cancel');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceIdleTimeout.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/WorkspaceIdleTimeout.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAC9D,mEAA+D;AAC/D,uFAAoF;AAGpF,8CAAyD;
|
|
1
|
+
{"version":3,"file":"WorkspaceIdleTimeout.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/WorkspaceIdleTimeout.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2025 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
15
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
16
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
17
|
+
const chai_1 = require("chai");
|
|
18
|
+
suite('"Check workspace run timeout" test', function () {
|
|
19
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
20
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
21
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
22
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
23
|
+
const workspaces = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Workspaces);
|
|
24
|
+
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
25
|
+
const cheCodeLocatorLoader = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CheCodeLocatorLoader);
|
|
26
|
+
const webCheCodeLocators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
27
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
28
|
+
const shellExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ShellExecutor);
|
|
29
|
+
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
30
|
+
const SECONDS_OF_RUN_BEFORE_IDLING = Number(process.env.TS_SELENIUM_SECONDS_OF_RUN_BEFORE_IDLING) || 60;
|
|
31
|
+
const stackName = 'Empty Workspace';
|
|
32
|
+
const cheClusterName = 'devspaces';
|
|
33
|
+
let defaultRunTimeoutValue = 0;
|
|
34
|
+
async function checkDialogButton(buttonName) {
|
|
35
|
+
await driverHelper.waitVisibility(monaco_page_objects_1.By.xpath(`//div[@class='dialog-buttons']//a[text()='${buttonName}']`));
|
|
36
|
+
}
|
|
37
|
+
suiteSetup(function () {
|
|
38
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
39
|
+
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
40
|
+
// get current value of spec.devEnvironments.secondsOfRunBeforeIdling
|
|
41
|
+
defaultRunTimeoutValue = Number(shellExecutor.executeCommand(`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.secondsOfRunBeforeIdling}"`));
|
|
42
|
+
// set spec.devEnvironments.secondsOfRunBeforeIdling to SECONDS_OF_RUN_BEFORE_IDLING
|
|
43
|
+
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
44
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfRunBeforeIdling": ${SECONDS_OF_RUN_BEFORE_IDLING}}}}'`);
|
|
45
|
+
});
|
|
46
|
+
suiteTeardown(function () {
|
|
47
|
+
// restore spec.devEnvironments.secondsOfRunBeforeIdling to original value
|
|
48
|
+
shellExecutor.executeCommand(`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
49
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfRunBeforeIdling": ${defaultRunTimeoutValue}}}}'`);
|
|
50
|
+
});
|
|
51
|
+
suiteSetup('Login', async function () {
|
|
52
|
+
await loginTests.loginIntoChe();
|
|
53
|
+
});
|
|
54
|
+
test(`Create and open new workspace, stack:${stackName}`, async function () {
|
|
55
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
56
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
57
|
+
});
|
|
58
|
+
test('Wait workspace readiness', async function () {
|
|
59
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
60
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
61
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
62
|
+
});
|
|
63
|
+
test('Wait run timeout dialog and check Dialog buttons', async function () {
|
|
64
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details, SECONDS_OF_RUN_BEFORE_IDLING * 1000); // ms
|
|
65
|
+
const dialog = new monaco_page_objects_1.ModalDialog();
|
|
66
|
+
(0, chai_1.expect)(await dialog.getDetails()).includes('Your workspace has stopped because it has reached the run timeout.');
|
|
67
|
+
await checkDialogButton('Cancel');
|
|
68
|
+
await checkDialogButton('Return to dashboard');
|
|
69
|
+
await checkDialogButton('Restart your workspace');
|
|
70
|
+
});
|
|
71
|
+
test('Check that the workspace has Stopped state', async function () {
|
|
72
|
+
await dashboard.openDashboard();
|
|
73
|
+
await dashboard.clickWorkspacesButton();
|
|
74
|
+
await workspaces.waitPage();
|
|
75
|
+
await workspaces.waitWorkspaceWithStoppedStatus(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
76
|
+
});
|
|
77
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
78
|
+
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
79
|
+
});
|
|
80
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
81
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=WorkspaceRunTimeout.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceRunTimeout.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/WorkspaceRunTimeout.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,30 @@ let ProjectAndFileTests = ProjectAndFileTests_1 = class ProjectAndFileTests {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* perform to 'Trust Publisher' dialog box, when it appears
|
|
87
|
+
*/
|
|
88
|
+
async performTrustPublisherDialog() {
|
|
89
|
+
Logger_1.Logger.debug();
|
|
90
|
+
try {
|
|
91
|
+
// add TS_IDE_LOAD_TIMEOUT timeout for waiting for appearing the box
|
|
92
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
93
|
+
await this.driverHelper.waitVisibility(ProjectAndFileTests_1.TRUST_PUBLISHER_BOX, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
|
|
94
|
+
await this.driverHelper.waitAndClick(this.cheCodeLocatorLoader.webCheCodeLocators.WelcomeContent.button, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
Logger_1.Logger.info('"Do you trust the publisher?" dialog box was not shown');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* perform to 'Trust' dialog boxes, when they appear
|
|
102
|
+
*/
|
|
103
|
+
async performTrustDialogs() {
|
|
104
|
+
Logger_1.Logger.debug();
|
|
105
|
+
await this.performTrustAuthorDialog();
|
|
106
|
+
await this.performTrustPublisherDialog();
|
|
107
|
+
await this.performTrustAuthorDialog();
|
|
108
|
+
}
|
|
85
109
|
/**
|
|
86
110
|
* find an ViewSection with project tree.
|
|
87
111
|
* @returns Promise resolving to ViewSection object
|
|
@@ -134,6 +158,7 @@ let ProjectAndFileTests = ProjectAndFileTests_1 = class ProjectAndFileTests {
|
|
|
134
158
|
}
|
|
135
159
|
};
|
|
136
160
|
ProjectAndFileTests.BRANCH_NAME_XPATH = monaco_page_objects_1.By.xpath('//a[contains(@aria-label,"Checkout Branch/Tag...")]');
|
|
161
|
+
ProjectAndFileTests.TRUST_PUBLISHER_BOX = monaco_page_objects_1.By.xpath('//*[@class="dialog-message-text" and contains(text(), "publisher")]');
|
|
137
162
|
ProjectAndFileTests = ProjectAndFileTests_1 = __decorate([
|
|
138
163
|
(0, inversify_1.injectable)(),
|
|
139
164
|
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectAndFileTests.js","sourceRoot":"","sources":["../../tests-library/ProjectAndFileTests.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,wDAAqD;AACrD,gEAAqD;AACrD,4CAAyC;AACzC,sEAAmE;AACnE,kFAA+E;AAC/E,6DAAqG;AACrG,oFAAiF;AACjF,kFAA+E;AAGxE,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ProjectAndFileTests.js","sourceRoot":"","sources":["../../tests-library/ProjectAndFileTests.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.
|
|
3
|
+
"version": "7.103.0-next-35e428e",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -53,21 +53,20 @@
|
|
|
53
53
|
"mocha-allure-reporter": "^1.4.0",
|
|
54
54
|
"mocha-junit-reporter": "^2.2.1",
|
|
55
55
|
"mocha-multi-reporters": "^1.5.1",
|
|
56
|
-
"monaco-page-objects": "3.
|
|
56
|
+
"monaco-page-objects": "3.14.1",
|
|
57
57
|
"prettier": "^3.4.0",
|
|
58
58
|
"rimraf": "2.6.2",
|
|
59
59
|
"selenium-webdriver": "4.6.1",
|
|
60
60
|
"shelljs": "^0.8.5",
|
|
61
61
|
"ts-node": "^10.9.1",
|
|
62
62
|
"typescript": "4.9.4",
|
|
63
|
-
"vscode-extension-tester-locators": "3.
|
|
63
|
+
"vscode-extension-tester-locators": "3.12.2",
|
|
64
64
|
"yaml": "^2.2.2"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@eclipse-che/api": "latest",
|
|
68
68
|
"inversify": "6.0.1",
|
|
69
|
-
"reflect-metadata": "0.1.13"
|
|
70
|
-
"@eclipse-che/che-devworkspace-generator": "7.102.0"
|
|
69
|
+
"reflect-metadata": "0.1.13"
|
|
71
70
|
},
|
|
72
71
|
"resolutions": {
|
|
73
72
|
"minimist": "^1.2.5"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { inject, injectable } from 'inversify';
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
-
import { By } from 'selenium-webdriver';
|
|
13
|
+
import { Alert, By } from 'selenium-webdriver';
|
|
14
14
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
15
15
|
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
16
16
|
import { Workspaces } from './Workspaces';
|
|
@@ -80,6 +80,15 @@ export class Dashboard {
|
|
|
80
80
|
Logger.debug();
|
|
81
81
|
|
|
82
82
|
await this.driverHelper.navigateToUrl(BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL);
|
|
83
|
+
try {
|
|
84
|
+
const alert: Alert = await this.driverHelper.getDriver().switchTo().alert();
|
|
85
|
+
const alertText: string = await alert.getText();
|
|
86
|
+
Logger.info(`Alert detected, text: "${alertText}"`);
|
|
87
|
+
Logger.debug('Alert accepting');
|
|
88
|
+
await alert.accept();
|
|
89
|
+
} catch (e) {
|
|
90
|
+
Logger.debug('No alert detected');
|
|
91
|
+
}
|
|
83
92
|
await this.waitPage();
|
|
84
93
|
}
|
|
85
94
|
|
|
@@ -38,7 +38,7 @@ export class CheCodeLocatorLoader extends LocatorLoader {
|
|
|
38
38
|
return {
|
|
39
39
|
locators: {
|
|
40
40
|
WelcomeContent: {
|
|
41
|
-
text: By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust")]'),
|
|
41
|
+
text: By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust the authors")]'),
|
|
42
42
|
button: By.xpath('//div[@class="monaco-dialog-box"]//a[@class="monaco-button monaco-text-button"]')
|
|
43
43
|
},
|
|
44
44
|
ScmView: {
|
|
@@ -49,6 +49,12 @@ export class CheCodeLocatorLoader extends LocatorLoader {
|
|
|
49
49
|
},
|
|
50
50
|
Editor: {
|
|
51
51
|
inputArea: By.className('native-edit-context-textarea')
|
|
52
|
+
},
|
|
53
|
+
ExtensionsViewSection: {
|
|
54
|
+
searchBox: By.className('native-edit-context-textarea')
|
|
55
|
+
},
|
|
56
|
+
ExtensionsViewItem: {
|
|
57
|
+
author: By.className('publisher')
|
|
52
58
|
}
|
|
53
59
|
},
|
|
54
60
|
extras: {
|
package/specs/SmokeTest.spec.ts
CHANGED
|
@@ -50,6 +50,9 @@ suite(`The SmokeTest userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, functio
|
|
|
50
50
|
expect(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not
|
|
51
51
|
.undefined;
|
|
52
52
|
});
|
|
53
|
+
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
54
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
55
|
+
});
|
|
53
56
|
test('Check the project files was imported', async function (): Promise<void> {
|
|
54
57
|
expect(
|
|
55
58
|
await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME),
|
|
@@ -60,7 +60,7 @@ suite(`The ${stackName} userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, func
|
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
63
|
-
await projectAndFileTests.
|
|
63
|
+
await projectAndFileTests.performTrustDialogs();
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
test('Check the project files was imported', async function (): Promise<void> {
|
|
@@ -13,10 +13,12 @@ import {
|
|
|
13
13
|
EditorView,
|
|
14
14
|
ExtensionsViewItem,
|
|
15
15
|
ExtensionsViewSection,
|
|
16
|
+
Key,
|
|
16
17
|
Locators,
|
|
17
18
|
SideBarView,
|
|
18
|
-
|
|
19
|
-
ViewSection
|
|
19
|
+
until,
|
|
20
|
+
ViewSection,
|
|
21
|
+
WebElement
|
|
20
22
|
} from 'monaco-page-objects';
|
|
21
23
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
22
24
|
import { LoginTests } from '../../tests-library/LoginTests';
|
|
@@ -36,7 +38,128 @@ import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
|
36
38
|
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
37
39
|
|
|
38
40
|
const samples: string[] = PLUGIN_TEST_CONSTANTS.TS_SAMPLE_LIST.split(',');
|
|
41
|
+
// get text from editor
|
|
42
|
+
async function getText(): Promise<string> {
|
|
43
|
+
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
44
|
+
Logger.debug('Select and copy all text in the editor');
|
|
45
|
+
await driverHelper.getDriver().actions().keyDown(Key.CONTROL).sendKeys('a').keyUp(Key.CONTROL).perform();
|
|
46
|
+
await driverHelper.getDriver().actions().keyDown(Key.CONTROL).sendKeys('c').keyUp(Key.CONTROL).perform();
|
|
39
47
|
|
|
48
|
+
Logger.debug('Read the text');
|
|
49
|
+
Logger.info('Create a hidden buffer');
|
|
50
|
+
await driverHelper.getDriver().executeScript(`
|
|
51
|
+
let input = document.createElement('textarea');
|
|
52
|
+
input.setAttribute('id', 'clipboard-buffer');
|
|
53
|
+
document.body.appendChild(input);
|
|
54
|
+
input.focus();
|
|
55
|
+
`);
|
|
56
|
+
Logger.info('Paste the text to the buffer');
|
|
57
|
+
await driverHelper.getDriver().actions().keyDown(Key.CONTROL).sendKeys('v').keyUp(Key.CONTROL).perform();
|
|
58
|
+
Logger.info('Get the text from the buffer');
|
|
59
|
+
const text: string = await driverHelper.getDriver().executeScript(`
|
|
60
|
+
let input = document.getElementById('clipboard-buffer');
|
|
61
|
+
let text = input.value;
|
|
62
|
+
input.remove();
|
|
63
|
+
return text;
|
|
64
|
+
`);
|
|
65
|
+
console.log('Raw text:', text);
|
|
66
|
+
return text;
|
|
67
|
+
}
|
|
68
|
+
// helper function to determine section based on category
|
|
69
|
+
function getSectionForCategory(title: string): string {
|
|
70
|
+
const category: string = title.split(' ')[0].toLowerCase();
|
|
71
|
+
switch (category) {
|
|
72
|
+
case '@disabled':
|
|
73
|
+
return 'Disabled';
|
|
74
|
+
case '@enabled':
|
|
75
|
+
return 'Enabled';
|
|
76
|
+
case '@installed':
|
|
77
|
+
return 'Installed';
|
|
78
|
+
case '@outdated':
|
|
79
|
+
return 'Outdated';
|
|
80
|
+
case '@recommended':
|
|
81
|
+
return 'Other Recommendations';
|
|
82
|
+
default:
|
|
83
|
+
return 'Marketplace';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// search for an extension by title
|
|
87
|
+
async function findItem(extSection: ExtensionsViewSection, title: string): Promise<ExtensionsViewItem | undefined> {
|
|
88
|
+
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
89
|
+
Logger.debug(`Finding extension item with filter: "${title}"`);
|
|
90
|
+
|
|
91
|
+
const enclosingItem: WebElement = extSection.getEnclosingElement();
|
|
92
|
+
const progress: WebElement = await enclosingItem.findElement((extSection as any).constructor.locators.ViewContent.progress);
|
|
93
|
+
const searchField: WebElement = await enclosingItem.findElement(
|
|
94
|
+
(extSection as any).constructor.locators.ExtensionsViewSection.searchBox
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
Logger.debug('Clearing search field with Ctrl+A');
|
|
98
|
+
await driverHelper.getDriver().actions().click(searchField).keyDown(Key.CONTROL).sendKeys('a').keyUp(Key.CONTROL).perform();
|
|
99
|
+
await driverHelper.wait(500);
|
|
100
|
+
Logger.debug('Deleting selected text');
|
|
101
|
+
await driverHelper.getDriver().actions().sendKeys(Key.DELETE).perform();
|
|
102
|
+
await driverHelper.wait(500);
|
|
103
|
+
Logger.debug(`Entering search text: "${title}"`);
|
|
104
|
+
await driverHelper.getDriver().actions().click(searchField).sendKeys(title).perform();
|
|
105
|
+
|
|
106
|
+
try {
|
|
107
|
+
Logger.debug('Waiting for progress indicator to appear');
|
|
108
|
+
await driverHelper.getDriver().wait(until.elementIsVisible(progress), 3000);
|
|
109
|
+
} catch (err: any) {
|
|
110
|
+
if (err.name !== 'TimeoutError') {
|
|
111
|
+
throw err;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
Logger.debug('Waiting for progress indicator to disappear');
|
|
115
|
+
await driverHelper.getDriver().wait(until.elementIsNotVisible(progress));
|
|
116
|
+
|
|
117
|
+
const sectionTitle: string = getSectionForCategory(title);
|
|
118
|
+
Logger.debug(`Looking for section with title: "${sectionTitle}"`);
|
|
119
|
+
|
|
120
|
+
const sections: WebElement[] = await enclosingItem.findElements((extSection as any).constructor.locators.ViewContent.section);
|
|
121
|
+
Logger.debug(`Found ${sections.length} sections`);
|
|
122
|
+
|
|
123
|
+
let targetSection: WebElement | undefined;
|
|
124
|
+
for (const sec of sections) {
|
|
125
|
+
const titleElement: WebElement = await sec.findElement((extSection as any).constructor.locators.ViewSection.title);
|
|
126
|
+
const sectionTitleText: string = await titleElement.getText();
|
|
127
|
+
if (sectionTitleText === sectionTitle) {
|
|
128
|
+
targetSection = sec;
|
|
129
|
+
Logger.debug(`Found target section: "${sectionTitle}"`);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (!targetSection) {
|
|
135
|
+
Logger.debug(`Section "${sectionTitle}" not found`);
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const titleParts: string[] = title.split(' ');
|
|
140
|
+
let searchTitle: string = title;
|
|
141
|
+
if (titleParts[0].startsWith('@')) {
|
|
142
|
+
searchTitle = titleParts.slice(1).join(' ');
|
|
143
|
+
}
|
|
144
|
+
Logger.debug(`Searching for extension with title: "${searchTitle}"`);
|
|
145
|
+
|
|
146
|
+
const extensionRows: WebElement[] = await targetSection.findElements(
|
|
147
|
+
(extSection as any).constructor.locators.ExtensionsViewSection.itemRow
|
|
148
|
+
);
|
|
149
|
+
Logger.debug(`Found ${extensionRows.length} extension rows in section`);
|
|
150
|
+
|
|
151
|
+
for (const row of extensionRows) {
|
|
152
|
+
const extension: ExtensionsViewItem = new ExtensionsViewItem(row, extSection as any);
|
|
153
|
+
const extensionTitle: string = await extension.getTitle();
|
|
154
|
+
if (extensionTitle === searchTitle) {
|
|
155
|
+
Logger.debug(`Found matching extension: "${extensionTitle}"`);
|
|
156
|
+
return extension;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
Logger.debug(`Extension with title "${searchTitle}" not found in section "${sectionTitle}"`);
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
40
163
|
// get visible items from Extension view, transform this from array to sorted string and compares it with existed recommended extensions
|
|
41
164
|
async function getVisibleFilteredItemsAndCompareWithRecommended(recommendations: string[]): Promise<boolean> {
|
|
42
165
|
const extensionsView: SideBarView | undefined = await (await new ActivityBar().getViewControl('Extensions'))?.openView();
|
|
@@ -126,7 +249,7 @@ for (const sample of samples) {
|
|
|
126
249
|
});
|
|
127
250
|
|
|
128
251
|
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
129
|
-
await projectAndFileTests.
|
|
252
|
+
await projectAndFileTests.performTrustDialogs();
|
|
130
253
|
});
|
|
131
254
|
|
|
132
255
|
test('Check the project files were imported', async function (): Promise<void> {
|
|
@@ -161,24 +284,25 @@ for (const sample of samples) {
|
|
|
161
284
|
await projectAndFileTests.getProjectTreeItem(projectSection, extensionsListFileName, vsCodeFolderItemLevel + 1)
|
|
162
285
|
)?.select();
|
|
163
286
|
Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
|
|
164
|
-
|
|
287
|
+
await new EditorView().openEditor(extensionsListFileName);
|
|
165
288
|
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
166
|
-
|
|
167
|
-
|
|
289
|
+
|
|
290
|
+
Logger.debug('Select and copy all text in the editor');
|
|
291
|
+
const text: string = await getText();
|
|
292
|
+
recommendedExtensions = JSON.parse(text.replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
|
|
293
|
+
|
|
168
294
|
Logger.debug('recommendedExtensions.recommendations: Get recommendations clear names using map().');
|
|
169
295
|
parsedRecommendations = recommendedExtensions.recommendations.map((rec: string): { name: string; publisher: string } => {
|
|
170
296
|
const [publisher, name] = rec.split('.');
|
|
171
297
|
return { publisher, name };
|
|
172
298
|
});
|
|
173
299
|
Logger.debug(`Recommended extension for this workspace:\n${JSON.stringify(parsedRecommendations)}.`);
|
|
174
|
-
|
|
175
300
|
publisherNames = parsedRecommendations.map((rec: { name: string; publisher: string }): string => rec.publisher);
|
|
176
301
|
expect(parsedRecommendations, 'Recommendations not found').not.empty;
|
|
177
302
|
});
|
|
178
303
|
|
|
179
304
|
test('Open "Extensions" view section', async function (): Promise<void> {
|
|
180
305
|
Logger.debug('ActivityBar().getViewControl("Extensions"))?.openView(): open Extensions view.');
|
|
181
|
-
|
|
182
306
|
extensionsView = await (await new ActivityBar().getViewControl('Extensions'))?.openView();
|
|
183
307
|
expect(extensionsView, 'Can`t find Extension section').not.undefined;
|
|
184
308
|
});
|
|
@@ -207,10 +331,10 @@ for (const sample of samples) {
|
|
|
207
331
|
|
|
208
332
|
Logger.debug('extensionSection.findItem by @recommended filter');
|
|
209
333
|
try {
|
|
210
|
-
await
|
|
334
|
+
await findItem(extensionSection, '@recommended');
|
|
211
335
|
} catch (err) {
|
|
212
336
|
await driverHelper.wait(TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
213
|
-
await
|
|
337
|
+
await findItem(extensionSection, '@recommended');
|
|
214
338
|
}
|
|
215
339
|
const isReloadRequired: boolean = await driverHelper.isVisible(
|
|
216
340
|
(webCheCodeLocators.ExtensionsViewSection as any).requireReloadButton
|
|
@@ -234,7 +358,7 @@ for (const sample of samples) {
|
|
|
234
358
|
expect(extensionsView, 'Can`t find Extension View section').not.undefined;
|
|
235
359
|
[extensionSection] = (await extensionsView?.getContent().getSections()) as ExtensionsViewSection[];
|
|
236
360
|
expect(extensionSection, 'Can`t find Extension section').not.undefined;
|
|
237
|
-
await
|
|
361
|
+
await findItem(extensionSection, '@recommended ');
|
|
238
362
|
}
|
|
239
363
|
|
|
240
364
|
Logger.debug('extensionSection.findItem by @recommended filter');
|
|
@@ -243,10 +367,10 @@ for (const sample of samples) {
|
|
|
243
367
|
|
|
244
368
|
Logger.debug('extensionSection.findItem by @installed filter');
|
|
245
369
|
try {
|
|
246
|
-
await
|
|
370
|
+
await findItem(extensionSection, '@installed ');
|
|
247
371
|
} catch (err) {
|
|
248
372
|
await driverHelper.wait(TIMEOUT_CONSTANTS.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
249
|
-
await
|
|
373
|
+
await findItem(extensionSection, '@installed ');
|
|
250
374
|
}
|
|
251
375
|
expect(await getVisibleFilteredItemsAndCompareWithInstalled(publisherNames)).to.be.true;
|
|
252
376
|
Logger.debug(`All recommended extensions were found by @installed filter: ---- ${publisherNames} ----`);
|
|
@@ -15,7 +15,6 @@ import { LoginTests } from '../../tests-library/LoginTests';
|
|
|
15
15
|
import { registerRunningWorkspace } from '../MochaHooks';
|
|
16
16
|
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
17
17
|
import { Workspaces } from '../../pageobjects/dashboard/Workspaces';
|
|
18
|
-
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
19
18
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
20
19
|
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
21
20
|
import { By, Locators, ModalDialog } from 'monaco-page-objects';
|
|
@@ -39,9 +38,10 @@ suite('"Check workspace idle timeout" test', function (): void {
|
|
|
39
38
|
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
40
39
|
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
41
40
|
|
|
41
|
+
const SECONDS_OF_INACTIVITY_BEFORE_IDLING: number = Number(process.env.TS_SELENIUM_SECONDS_OF_INACTIVITY_BEFORE_IDLING) || 60;
|
|
42
42
|
const stackName: string = 'Empty Workspace';
|
|
43
43
|
const cheClusterName: string = 'devspaces';
|
|
44
|
-
let
|
|
44
|
+
let defaultIdleTimeoutValue: number = 0;
|
|
45
45
|
|
|
46
46
|
async function checkDialogButton(buttonName: string): Promise<void> {
|
|
47
47
|
await driverHelper.waitVisibility(By.xpath(`//div[@class='dialog-buttons']//a[text()='${buttonName}']`));
|
|
@@ -52,22 +52,24 @@ suite('"Check workspace idle timeout" test', function (): void {
|
|
|
52
52
|
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
53
53
|
|
|
54
54
|
// get current value of spec.devEnvironments.secondsOfInactivityBeforeIdling
|
|
55
|
-
|
|
55
|
+
defaultIdleTimeoutValue = Number(
|
|
56
56
|
shellExecutor.executeCommand(
|
|
57
57
|
`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.secondsOfInactivityBeforeIdling}"`
|
|
58
58
|
)
|
|
59
59
|
);
|
|
60
60
|
|
|
61
|
-
// set spec.devEnvironments.secondsOfInactivityBeforeIdling to
|
|
61
|
+
// set spec.devEnvironments.secondsOfInactivityBeforeIdling to SECONDS_OF_INACTIVITY_BEFORE_IDLING
|
|
62
62
|
shellExecutor.executeCommand(
|
|
63
|
-
`oc patch checluster ${cheClusterName} --type=merge
|
|
63
|
+
`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
64
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfInactivityBeforeIdling": ${SECONDS_OF_INACTIVITY_BEFORE_IDLING}}}}'`
|
|
64
65
|
);
|
|
65
66
|
});
|
|
66
67
|
|
|
67
68
|
suiteTeardown(function (): void {
|
|
68
69
|
// restore spec.devEnvironments.secondsOfInactivityBeforeIdling to original value
|
|
69
70
|
shellExecutor.executeCommand(
|
|
70
|
-
`oc patch checluster ${cheClusterName} --type=merge
|
|
71
|
+
`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
72
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfInactivityBeforeIdling": ${defaultIdleTimeoutValue}}}}'`
|
|
71
73
|
);
|
|
72
74
|
});
|
|
73
75
|
|
|
@@ -87,7 +89,7 @@ suite('"Check workspace idle timeout" test', function (): void {
|
|
|
87
89
|
});
|
|
88
90
|
|
|
89
91
|
test('Wait idle timeout dialog and check Dialog buttons', async function (): Promise<void> {
|
|
90
|
-
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details,
|
|
92
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details, SECONDS_OF_INACTIVITY_BEFORE_IDLING * 1000); // ms
|
|
91
93
|
const dialog: ModalDialog = new ModalDialog();
|
|
92
94
|
expect(await dialog.getDetails()).includes('Your workspace has stopped due to inactivity.');
|
|
93
95
|
await checkDialogButton('Cancel');
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
12
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
13
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
14
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
15
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
16
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
17
|
+
import { Workspaces } from '../../pageobjects/dashboard/Workspaces';
|
|
18
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
19
|
+
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
20
|
+
import { By, Locators, ModalDialog } from 'monaco-page-objects';
|
|
21
|
+
import { expect } from 'chai';
|
|
22
|
+
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
23
|
+
import { ShellExecutor } from '../../utils/ShellExecutor';
|
|
24
|
+
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
25
|
+
|
|
26
|
+
suite('"Check workspace run timeout" test', function (): void {
|
|
27
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
28
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
29
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
30
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
31
|
+
const workspaces: Workspaces = e2eContainer.get(CLASSES.Workspaces);
|
|
32
|
+
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
33
|
+
const cheCodeLocatorLoader: CheCodeLocatorLoader = e2eContainer.get(CLASSES.CheCodeLocatorLoader);
|
|
34
|
+
const webCheCodeLocators: Locators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
35
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
36
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
37
|
+
);
|
|
38
|
+
const shellExecutor: ShellExecutor = e2eContainer.get(CLASSES.ShellExecutor);
|
|
39
|
+
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
40
|
+
|
|
41
|
+
const SECONDS_OF_RUN_BEFORE_IDLING: number = Number(process.env.TS_SELENIUM_SECONDS_OF_RUN_BEFORE_IDLING) || 60;
|
|
42
|
+
const stackName: string = 'Empty Workspace';
|
|
43
|
+
const cheClusterName: string = 'devspaces';
|
|
44
|
+
let defaultRunTimeoutValue: number = 0;
|
|
45
|
+
|
|
46
|
+
async function checkDialogButton(buttonName: string): Promise<void> {
|
|
47
|
+
await driverHelper.waitVisibility(By.xpath(`//div[@class='dialog-buttons']//a[text()='${buttonName}']`));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
suiteSetup(function (): void {
|
|
51
|
+
kubernetesCommandLineToolsExecutor.loginToOcp();
|
|
52
|
+
shellExecutor.executeCommand('oc project openshift-devspaces');
|
|
53
|
+
|
|
54
|
+
// get current value of spec.devEnvironments.secondsOfRunBeforeIdling
|
|
55
|
+
defaultRunTimeoutValue = Number(
|
|
56
|
+
shellExecutor.executeCommand(
|
|
57
|
+
`oc get checluster/${cheClusterName} -o "jsonpath={.spec.devEnvironments.secondsOfRunBeforeIdling}"`
|
|
58
|
+
)
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
// set spec.devEnvironments.secondsOfRunBeforeIdling to SECONDS_OF_RUN_BEFORE_IDLING
|
|
62
|
+
shellExecutor.executeCommand(
|
|
63
|
+
`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
64
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfRunBeforeIdling": ${SECONDS_OF_RUN_BEFORE_IDLING}}}}'`
|
|
65
|
+
);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
suiteTeardown(function (): void {
|
|
69
|
+
// restore spec.devEnvironments.secondsOfRunBeforeIdling to original value
|
|
70
|
+
shellExecutor.executeCommand(
|
|
71
|
+
`oc patch checluster ${cheClusterName} --type=merge ` +
|
|
72
|
+
`-p '{"spec":{"devEnvironments":{"secondsOfRunBeforeIdling": ${defaultRunTimeoutValue}}}}'`
|
|
73
|
+
);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
77
|
+
await loginTests.loginIntoChe();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test(`Create and open new workspace, stack:${stackName}`, async function (): Promise<void> {
|
|
81
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName);
|
|
82
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test('Wait workspace readiness', async function (): Promise<void> {
|
|
86
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
87
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
88
|
+
await projectAndFileTests.performTrustAuthorDialog();
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('Wait run timeout dialog and check Dialog buttons', async function (): Promise<void> {
|
|
92
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Dialog.details, SECONDS_OF_RUN_BEFORE_IDLING * 1000); // ms
|
|
93
|
+
const dialog: ModalDialog = new ModalDialog();
|
|
94
|
+
expect(await dialog.getDetails()).includes('Your workspace has stopped because it has reached the run timeout.');
|
|
95
|
+
await checkDialogButton('Cancel');
|
|
96
|
+
await checkDialogButton('Return to dashboard');
|
|
97
|
+
await checkDialogButton('Restart your workspace');
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('Check that the workspace has Stopped state', async function (): Promise<void> {
|
|
101
|
+
await dashboard.openDashboard();
|
|
102
|
+
await dashboard.clickWorkspacesButton();
|
|
103
|
+
await workspaces.waitPage();
|
|
104
|
+
await workspaces.waitWorkspaceWithStoppedStatus(WorkspaceHandlingTests.getWorkspaceName());
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
108
|
+
await testWorkspaceUtil.deleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
112
|
+
registerRunningWorkspace('');
|
|
113
|
+
});
|
|
114
|
+
});
|
|
@@ -22,6 +22,7 @@ import { RestrictedModeButton } from '../pageobjects/ide/RestrictedModeButton';
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export class ProjectAndFileTests {
|
|
24
24
|
private static BRANCH_NAME_XPATH: By = By.xpath('//a[contains(@aria-label,"Checkout Branch/Tag...")]');
|
|
25
|
+
private static TRUST_PUBLISHER_BOX: By = By.xpath('//*[@class="dialog-message-text" and contains(text(), "publisher")]');
|
|
25
26
|
|
|
26
27
|
constructor(
|
|
27
28
|
@inject(CLASSES.DriverHelper)
|
|
@@ -93,6 +94,38 @@ export class ProjectAndFileTests {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
|
|
97
|
+
/**
|
|
98
|
+
* perform to 'Trust Publisher' dialog box, when it appears
|
|
99
|
+
*/
|
|
100
|
+
async performTrustPublisherDialog(): Promise<void> {
|
|
101
|
+
Logger.debug();
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
// add TS_IDE_LOAD_TIMEOUT timeout for waiting for appearing the box
|
|
105
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
106
|
+
await this.driverHelper.waitVisibility(
|
|
107
|
+
ProjectAndFileTests.TRUST_PUBLISHER_BOX,
|
|
108
|
+
TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM
|
|
109
|
+
);
|
|
110
|
+
await this.driverHelper.waitAndClick(
|
|
111
|
+
this.cheCodeLocatorLoader.webCheCodeLocators.WelcomeContent.button,
|
|
112
|
+
TIMEOUT_CONSTANTS.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM
|
|
113
|
+
);
|
|
114
|
+
} catch (e) {
|
|
115
|
+
Logger.info('"Do you trust the publisher?" dialog box was not shown');
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* perform to 'Trust' dialog boxes, when they appear
|
|
121
|
+
*/
|
|
122
|
+
async performTrustDialogs(): Promise<void> {
|
|
123
|
+
Logger.debug();
|
|
124
|
+
await this.performTrustAuthorDialog();
|
|
125
|
+
await this.performTrustPublisherDialog();
|
|
126
|
+
await this.performTrustAuthorDialog();
|
|
127
|
+
}
|
|
128
|
+
|
|
96
129
|
/**
|
|
97
130
|
* find an ViewSection with project tree.
|
|
98
131
|
* @returns Promise resolving to ViewSection object
|