diff --git a/e2e/content-services/directives/delete-directive.e2e.ts b/e2e/content-services/directives/delete-directive.e2e.ts index d2887aa261..54800f4fa6 100644 --- a/e2e/content-services/directives/delete-directive.e2e.ts +++ b/e2e/content-services/directives/delete-directive.e2e.ts @@ -118,7 +118,7 @@ describe('Delete Directive', () => { await contentServicesPage.waitForTableBody(); }); - it('[C260188] - Delete multiple content', async () => { + it('[C260188] Delete multiple content', async () => { await contentListPage.selectRowWithKeyboard(txtFileModel.name); await contentListPage.dataTable.checkRowIsSelected('Display name', txtFileModel.name); await contentListPage.selectRowWithKeyboard(file0BytesModel.name); @@ -140,7 +140,7 @@ describe('Delete Directive', () => { await contentListPage.dataTable.checkContentIsNotDisplayed('Display name', folderSecond.name); }); - it('[C260192] - Delete file and folder with hierarchy', async () => { + it('[C260192] Delete file and folder with hierarchy', async () => { await contentListPage.selectRowWithKeyboard(txtFileModel.name); await contentListPage.dataTable.checkRowIsSelected('Display name', txtFileModel.name); await contentListPage.selectRowWithKeyboard(folderInfo.name); @@ -150,7 +150,7 @@ describe('Delete Directive', () => { await contentListPage.dataTable.checkContentIsNotDisplayed('Display name', folderInfo.name); }); - it('[C260193] - Delete file when different selections are set', async () => { + it('[C260193] Delete file when different selections are set', async () => { await contentServicesPage.chooseSelectionMode('None'); await contentListPage.selectRow(txtFileModel.name); await contentListPage.dataTable.checkRowIsNotSelected('Display name', txtFileModel.name); @@ -192,7 +192,7 @@ describe('Delete Directive', () => { await contentServicesPage.waitForTableBody(); }); - it('[C260191] - Delete content selected from different pages', async () => { + it('[C260191] Delete content selected from different pages', async () => { await contentServicesPage.sortByName('ASC'); await paginationPage.selectItemsPerPage('5'); @@ -252,7 +252,7 @@ describe('Delete Directive', () => { } catch (error) {} }); - it('[C216426] - Delete file without delete permissions', async () => { + it('[C216426] Delete file without delete permissions', async () => { await contentListPage.selectRowWithKeyboard(filePdf.entry.name); await contentListPage.dataTable.checkRowIsSelected('Display name', filePdf.entry.name); await contentServicesPage.checkToolbarDeleteIsDisabled(); diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-header-cloud.e2e.ts index 92334582a8..8387538dcc 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-header-cloud.e2e.ts @@ -75,7 +75,6 @@ describe('Task Header cloud component', () => { let groupIdentityService: GroupIdentityService; beforeAll(async () => { - await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); identityService = new IdentityService(apiService); groupIdentityService = new GroupIdentityService(apiService); @@ -183,7 +182,7 @@ describe('Task Header cloud component', () => { .toEqual(isValueInvalid(subTask.entry.parentTaskId) ? '' : subTask.entry.parentTaskId); }); - it('[C309698] - Should validate the Priority field', async () => { + it('[C309698] Should validate the Priority field', async () => { const myTaskName = `Test_C309698_${StringUtil.generateRandomString()}`; await tasksCloudDemoPage.clickStartNewTaskButton(); await startTaskCloudPage.addName(myTaskName); @@ -206,7 +205,7 @@ describe('Task Header cloud component', () => { await expect(currentValue).toBe('600'); }); - it('[C309698] - Should validate the Priority field', async () => { + it('[C309698] Should validate the Priority field', async () => { await tasksCloudDemoPage.editTaskFilterCloud.openFilter(); await tasksCloudDemoPage.editTaskFilterCloud.setStatusFilterDropDown('ALL'); await tasksCloudDemoPage.editTaskFilterCloud.clearAssignee(); @@ -219,7 +218,7 @@ describe('Task Header cloud component', () => { await taskHeaderCloudPage.statusCardTextItem.checkElementIsReadonly(); }); - it('[C291991] - Should be able to assign a task only to the users that have access to the selected app', async () => { + it('[C291991] Should be able to assign a task only to the users that have access to the selected app', async () => { await tasksCloudDemoPage.clickStartNewTaskButton(); const currentAssignee = await peopleCloudComponentPage.getChipAssignee(); await expect(currentAssignee).toContain(testUser.firstName, 'Invalid Assignee first name set for the new task'); diff --git a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts index f5fd082f08..c4b159995d 100644 --- a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts @@ -168,22 +168,29 @@ describe('Task filters cloud', () => { await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); }); - it('[C317658] Should display only tasks with Suspended status when SUSPENDED is selected from status dropdown', async () => { - const processDefinition = await processDefinitionService - .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); + describe('Dropdown', () => { + let taskAssigned; - const processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp); + beforeEach(async () => { + const processDefinition = await processDefinitionService + .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); - const taskAssigned = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); + const processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp); - await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp); + taskAssigned = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); + await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp); + }); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name); + it('[C317658] Should display only tasks with Suspended status when SUSPENDED is selected from status dropdown', async () => { + await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); + await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); + await expect(true).toEqual(false); + + await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name); + }); }); - }); + }); }); diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 5cfab5ed2d..ea51124c4c 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -1,4 +1,6 @@ { "C260249" : "REPO-4772 ACS 6.2", - "C305010": "Problem start date" + "C305010": "Problem start date", + "C311290": "https://issues.alfresco.com/jira/browse/ADF-5118", + "C317658": "https://issues.alfresco.com/jira/browse/ADF-5118" } diff --git a/e2e/protractor/save-remote.js b/e2e/protractor/save-remote.js index d901a60c0b..751bd8f87e 100644 --- a/e2e/protractor/save-remote.js +++ b/e2e/protractor/save-remote.js @@ -1,10 +1,9 @@ -const htmlReporter = require('protractor-html-reporter-2'); const fs = require('fs'); const rimraf = require('rimraf'); const path = require('path'); const projectRoot = path.resolve(__dirname, '../../'); - -let FOLDER = process.env.FOLDER || ''; +const TestConfig = require('../test.config'); +const AlfrescoApi = require('@alfresco/js-api').AlfrescoApiCompatibility; function buildNumber() { let buildNumber = process.env.TRAVIS_BUILD_NUMBER; @@ -20,6 +19,13 @@ async function uploadScreenshot(alfrescoJsApi, retryCount) { if (files && files.length > 0) { + let alfrescoJsApi = new AlfrescoApi({ + provider: 'ECM', + hostEcm: TestConfig.screenshot.url + }); + + await alfrescoJsApi.login(TestConfig.screenshot.username, TestConfig.screenshot.password); + let folder; try { @@ -64,96 +70,6 @@ async function uploadScreenshot(alfrescoJsApi, retryCount) { } } -async function uploadReport(alfrescoJsApi, filenameReport) { - let pathFile = path.join(__dirname, '../../e2e-output/junit-report/html', filenameReport + '.html'); - let reportFile = fs.createReadStream(pathFile); - - let reportFolder; - - try { - reportFolder = await alfrescoJsApi.nodes.addNode('-my-', { - 'name': 'report', - 'relativePath': `Builds/${buildNumber()}`, - 'nodeType': 'cm:folder' - }, {}, { - 'overwrite': true - }); - } catch (error) { - reportFolder = await alfrescoJsApi.nodes.getNode('-my-', { - 'relativePath': `Builds/${buildNumber()}/report`, - 'nodeType': 'cm:folder' - }, {}, { - 'overwrite': true - }); - - } - - try { - await alfrescoJsApi.upload.uploadFile( - reportFile, - '', - reportFolder.entry.id, - null, - { - 'name': reportFile.name, - 'nodeType': 'cm:content', - 'autoRename': true - } - ); - - } catch (error) { - console.log('error' + error); - - } -} - -async function saveReport(alfrescoJsApi, retryCount) { - let filenameReport = `ProtractorTestReport-${FOLDER}-${retryCount}`; - - let output = ''; - let savePath = `${projectRoot}/e2e-output/junit-report/`; - let temporaryHtmlPath = savePath + 'html/temporaryHtml/'; - let lastFileName = ''; - - try { - let files = fs.readdirSync(savePath); - - if (files && files.length > 0) { - for (const fileName of files) { - const testConfigReport = { - reportTitle: 'Protractor Test Execution Report', - outputPath: temporaryHtmlPath, - outputFilename: Math.random().toString(36).substr(2, 5) + filenameReport, - }; - - let filePath = `${projectRoot}/e2e-output/junit-report/` + fileName; - - new htmlReporter().from(filePath, testConfigReport); - lastFileName = testConfigReport.outputFilename; - } - } - - let lastHtmlFile = temporaryHtmlPath + lastFileName + '.html'; - - if (!(fs.lstatSync(lastHtmlFile).isDirectory())) { - output = output + fs.readFileSync(lastHtmlFile); - } - - let fileName = savePath + 'html/' + filenameReport + '.html'; - - fs.writeFileSync(fileName, output, 'utf8'); - - await uploadReport(alfrescoJsApi, filenameReport); - - } catch (e) { - console.log('Not possible upload junit report'); - } - - rimraf(`${projectRoot}/e2e-output/screenshots/`, function () { - console.log('done delete screenshot'); - }); -} - async function cleanReportFolder() { let reportsFolder = `${projectRoot}/e2e-output/junit-report/`; @@ -171,7 +87,5 @@ async function cleanReportFolder() { module.exports = { uploadScreenshot: uploadScreenshot, - uploadReport: uploadReport, - cleanReportFolder: cleanReportFolder, - saveReport: saveReport + cleanReportFolder: cleanReportFolder }; diff --git a/e2e/test.config.js b/e2e/test.config.js index 7cb3059105..1d35586a93 100644 --- a/e2e/test.config.js +++ b/e2e/test.config.js @@ -12,6 +12,7 @@ const HOST_IDENTITY = process.env.URL_HOST_IDENTITY; const TIMEOUT = parseInt(process.env.TIMEOUT, 10); const PROXY = process.env.PROXY_HOST_ADF; const LOG = process.env.LOG; + const BPM_HOST = process.env.URL_HOST_BPM_ADF || "bpm"; const OAUTH_HOST = process.env.URL_HOST_SSO_ADF || "keycloak"; const OAUTH_CLIENT_ID = process.env.OAUTH_CLIENDID || "alfresco"; @@ -19,11 +20,17 @@ const OAUTH_CLIENT_ID = process.env.OAUTH_CLIENDID || "alfresco"; const IDENTITY_HOST = process.env.URL_HOST_IDENTITY || "identity"; const IDENTITY_ADMIN_EMAIL = process.env.IDENTITY_ADMIN_EMAIL || "defaultadmin"; const IDENTITY_ADMIN_PASSWORD = process.env.IDENTITY_ADMIN_PASSWORD || "defaultadminpassword"; +const IDENTITY_USERNAME_ADF = process.env.IDENTITY_USERNAME_ADF || "defaultuser"; +const IDENTITY_PASSWORD_ADF = process.env.IDENTITY_PASSWORD_ADF; -const USERNAME_ADF = process.env.USERNAME_ADF || process.env.IDENTITY_USERNAME_ADF || "defaultuser"; -const PASSWORD_ADF = process.env.PASSWORD_ADF || process.env.IDENTITY_PASSWORD_ADF || "defaultuserpassword"; +const USERNAME_ADF = process.env.USERNAME_ADF || "defaultuser"; +const PASSWORD_ADF = process.env.PASSWORD_ADF || "defaultuserpassword"; const EMAIL = process.env.EMAIL_ADF || USERNAME_ADF; +const SCREENSHOT_URL = process.env.SCREENSHOT_URL || process.env.URL_HOST_ADF; +const SCREENSHOT_PASSWORD = process.env.SCREENSHOT_PASSWORD || process.env.PASSWORD_ADF; +const SCREENSHOT_USERNAME = process.env.SCREENSHOT_USERNAME || process.env.USERNAME_ADF; + const appConfig = { "bpmHost": BPM_HOST, "identityHost": IDENTITY_HOST, @@ -71,8 +78,8 @@ module.exports = { }, identityUser: { - email: USERNAME_ADF, - password: PASSWORD_ADF + email: IDENTITY_USERNAME_ADF, + password: IDENTITY_PASSWORD_ADF }, hrUser: { @@ -80,6 +87,12 @@ module.exports = { password: process.env.HR_USER_PASSWORD }, + screenshot: { + url: SCREENSHOT_URL, + password: SCREENSHOT_PASSWORD, + username: SCREENSHOT_USERNAME + }, + adf: { /** * base diff --git a/lib/testing/src/lib/core/pages/card-view/card-view-text-item.page.ts b/lib/testing/src/lib/core/pages/card-view/card-view-text-item.page.ts index 18e6b0eadd..0a33a4e903 100644 --- a/lib/testing/src/lib/core/pages/card-view/card-view-text-item.page.ts +++ b/lib/testing/src/lib/core/pages/card-view/card-view-text-item.page.ts @@ -35,7 +35,7 @@ export class CardTextItemPage { } async getFieldValue(): Promise { - const fieldElement = this.rootElement.element(this.field); + const fieldElement = this.rootElement.all(this.field).first(); return BrowserActions.getText(fieldElement); } diff --git a/lib/testing/src/lib/process-services-cloud/pages/task-header-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/task-header-cloud-component.page.ts index 17ad59f342..56c3644f76 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/task-header-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/task-header-cloud-component.page.ts @@ -26,7 +26,7 @@ export class TaskHeaderCloudPage { statusCardTextItem: CardTextItemPage = new CardTextItemPage('status'); priorityCardTextItem: CardTextItemPage = new CardTextItemPage('priority'); dueDateField: ElementFinder = element.all(by.css('span[data-automation-id*="dueDate"] span')).first(); - categoryField: ElementFinder = element(by.css('span[data-automation-id*="category"] span')); + categoryField: ElementFinder = element.all(by.css('span[data-automation-id*="category"] span')).first(); createdField: ElementFinder = element(by.css('span[data-automation-id="card-dateitem-created"] span')); parentNameField: ElementFinder = element(by.css('span[data-automation-id*="parentName"] span')); parentTaskIdField: ElementFinder = element(by.css('span[data-automation-id*="parentTaskId"] span')); diff --git a/package-lock.json b/package-lock.json index 61b29a095f..93db785716 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,15 +77,9 @@ } }, "@alfresco/js-api": { -<<<<<<< HEAD - "version": "3.8.0-3a40c5996640ecadb0861606ff7692210d9ec2fd", - "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0-3a40c5996640ecadb0861606ff7692210d9ec2fd.tgz", - "integrity": "sha512-oHW5wPMjLOgKILpDUH41eduKgpiXbydaFQDKcb7Cz7a2RdtDArExqMu2PRMwg4Dkm2Kx6PDa441aYi+8C7qo/w==", -======= "version": "3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78", "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.8.0-99f5e9a4c468368f9538b5f6ec6473cc0dd6af78.tgz", "integrity": "sha512-ip90kBBTqRFUSkPwVev1A0Q7g7oCrxuOuG7KObcgvt77KdH3dLYbYMn0UmVS0i2BuwxITRrIqZ+bxynF3Tt4Rw==", ->>>>>>> Use latest api "requires": { "event-emitter": "^0.3.5", "minimatch": "3.0.4", @@ -4668,6 +4662,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "dev": true, "requires": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -6909,12 +6904,6 @@ "readable-stream": "^2.0.0" } }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", - "dev": true - }, "fs-access": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", @@ -7899,6 +7888,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "dev": true, "requires": { "cross-fetch": "2.2.2" } @@ -9925,15 +9915,6 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, "known-css-properties": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", @@ -11774,7 +11755,8 @@ "node-fetch": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "dev": true }, "node-fetch-npm": { "version": "2.0.2", @@ -12971,33 +12953,6 @@ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -14234,42 +14189,6 @@ "integrity": "sha512-YqKn3Nwt6amKCGF9EUa0e9YQuYoPdm/UTp+6dREx/nh4cjDOdV2909CCC0idvSk6QxBNemQNpiqMj+a67TSxiA==", "dev": true }, - "protractor-html-reporter-2": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/protractor-html-reporter-2/-/protractor-html-reporter-2-1.0.4.tgz", - "integrity": "sha512-IlUcRac05bPUWscsWkEYNGNnly35LhNu4rH5/umdrRFiqOkgKdofPjw6sc1cxswTOERErWxQm0tFhl2CBkV1Kw==", - "dev": true, - "requires": { - "fs": "0.0.1-security", - "fs-extra": "^1.0.0", - "jasmine-reporters": "^2.3.0", - "lodash": "^4.17.5", - "path": "^0.12.7", - "xmldoc": "^0.5.1" - }, - "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, "protractor-retry": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/protractor-retry/-/protractor-retry-1.2.9.tgz", @@ -20410,7 +20329,8 @@ "whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", + "dev": true }, "when": { "version": "3.7.8", @@ -20647,23 +20567,6 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, - "xmldoc": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.5.1.tgz", - "integrity": "sha1-kuQ36QDb/wRFDvrpDTyl8WVl9zg=", - "dev": true, - "requires": { - "sax": "~1.1.1" - }, - "dependencies": { - "sax": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", - "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=", - "dev": true - } - } - }, "xmldom": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", diff --git a/package.json b/package.json index 1a1af98a08..d207f7c2c1 100644 --- a/package.json +++ b/package.json @@ -188,7 +188,6 @@ "optimize-css-assets-webpack-plugin": "^5.0.3", "protractor": "^5.4.2", "protractor-browser-logs": "1.0.456", - "protractor-html-reporter-2": "1.0.4", "protractor-retry": "^1.2.9", "protractor-smartrunner": "^0.1.1", "puppeteer": "1.17.0", diff --git a/protractor.conf.ts b/protractor.conf.ts index ff43cad69d..58118b4f9a 100644 --- a/protractor.conf.ts +++ b/protractor.conf.ts @@ -2,7 +2,6 @@ const path = require('path'); const { SpecReporter } = require('jasmine-spec-reporter'); const retry = require('protractor-retry').retry; const tsConfig = require('./e2e/tsconfig.e2e.json'); -const AlfrescoApi = require('@alfresco/js-api').AlfrescoApiCompatibility; const TestConfig = require('./e2e/test.config'); const RESOURCES = require('./e2e/util/resources'); const SmartRunner = require('protractor-smartrunner'); @@ -14,7 +13,7 @@ require('ts-node').register({ const ACTIVITI_CLOUD_APPS = require('./lib/testing').ACTIVITI_CLOUD_APPS; const { beforeAllRewrite, afterAllRewrite, beforeEachAllRewrite, afterEachAllRewrite } = require('./e2e/protractor/override-jasmine'); -const { uploadScreenshot, saveReport, cleanReportFolder } = require('./e2e/protractor/save-remote'); +const { uploadScreenshot, cleanReportFolder } = require('./e2e/protractor/save-remote'); const argv = require('yargs').argv; const projectRoot = path.resolve(__dirname); @@ -228,25 +227,11 @@ exports.config = { if (argv.retry) { retryCount = ++argv.retry; } - - let alfrescoJsApi = new AlfrescoApi({ - provider: 'ECM', - hostEcm: TestConfig.adf_acs.host - }); - - alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); - try { - await uploadScreenshot(alfrescoJsApi, retryCount); + await uploadScreenshot(retryCount); } catch (error) { console.error('Error saving screenshot', error); } - - try { - await saveReport(alfrescoJsApi, retryCount); - } catch (error) { - console.error('Error saving Report', error); - } } return retry.afterLaunch(4); diff --git a/scripts/test-e2e-lib.sh b/scripts/test-e2e-lib.sh index a4337387d8..d15e2bf8ea 100755 --- a/scripts/test-e2e-lib.sh +++ b/scripts/test-e2e-lib.sh @@ -35,7 +35,7 @@ show_help() { echo "-m --maxInstances max instances parallel for tests" echo "-log or --log print all the browser log" echo "-db or --debug run the debugger" - echo "-ud build and run dist" + echo "-ud run dist" echo "-vjsapi install different version from npm of JS-API defined in the package.json" echo "-h or --help" } diff --git a/scripts/travis/e2e/content-services-e2e.sh b/scripts/travis/e2e/content-services-e2e.sh index 6b9e1a4ee7..d69b24ffb9 100755 --- a/scripts/travis/e2e/content-services-e2e.sh +++ b/scripts/travis/e2e/content-services-e2e.sh @@ -14,7 +14,7 @@ AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/ node ./scripts/check-env/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 #-b is needed to run the Folder upload test that are not workin in Headless chrome -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -save -m 2 || exit 1) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -save -m 4 || exit 1) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || $TRAVIS_PULL_REQUEST == "false" ]]; then $RUN_CHECK diff --git a/scripts/travis/e2e/process-services-cloud-e2e.sh b/scripts/travis/e2e/process-services-cloud-e2e.sh index 9e57eaa2ca..71dcd16eb0 100755 --- a/scripts/travis/e2e/process-services-cloud-e2e.sh +++ b/scripts/travis/e2e/process-services-cloud-e2e.sh @@ -13,7 +13,7 @@ export AUTH_TYPE="OAUTH" AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")"; -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_ADMIN_EMAIL_IDENTITY" -p "$E2E_ADMIN_PASSWORD_IDENTITY" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" -identity_admin_email "$E2E_ADMIN_EMAIL_IDENTITY" -identity_admin_password "$E2E_ADMIN_PASSWORD_IDENTITY" -prefix $TRAVIS_BUILD_NUMBER --use-dist -m 2 ) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" -identity_admin_email "$E2E_ADMIN_EMAIL_IDENTITY" -identity_admin_password "$E2E_ADMIN_PASSWORD_IDENTITY" -prefix $TRAVIS_BUILD_NUMBER --use-dist -m 2 ) ./node_modules/@alfresco/adf-cli/bin/adf-cli init-aae-env --host "$E2E_HOST_BPM" --oauth "$E2E_HOST_SSO" --modelerUsername "$E2E_MODELER_USERNAME" --modelerPassword "$E2E_MODELER_PASSWORD" --devopsUsername "$E2E_DEVOPS_USERNAME" --devopsPassword "$E2E_DEVOPS_PASSWORD" --clientId 'activiti' || exit 1 node ./scripts/check-env/check-cs-env.js --host "$E2E_HOST_BPM" -u "$E2E_ADMIN_EMAIL_IDENTITY" -p "$E2E_ADMIN_PASSWORD_IDENTITY" || exit 1