Michał Fidor c843a8dbaa
[ACS-5343] refactor Playwright framework in ACA (#3261)
* [ACS-5343] refactor Playwright framework in ACA

* Add the tests for Actions, from the Adam PR [ACS-5328]

* Small fixes

* Improve logs

* [ACS-5343] adding-goThroughPages-and-delete

* [ACS-5343] added git changes

* [ACS-5343] added git changes for playwright

* [ACS-5343] fix for e2e

* [ACS-5343] e2e protractor path fix

* remove import

* [ACS-5343] e2e playwright user fix

* [ACS-5343] e2e playwright user ids fix

* [ACS-5343] e2e playwright users ids fix

* changes for git

* fix playwright test run

* tsconfig path fix

* playwright action yml added

* retrigger checks

* add test id from testrail

* merge conflits

* fix gha

* fix credentials

---------

Co-authored-by: adam.zakrzewski <adam.zakrzewski@hyland.com>
Co-authored-by: akash.rathod@hyland.com <akash.rathod@hyland.com>
Co-authored-by: Denys Vuika <denys.vuika@gmail.com>
2023-06-16 13:07:09 -04:00

64 lines
1.8 KiB
JavaScript

const path = require('path');
const fs = require('fs');
const AlfrescoApi = require('@alfresco/js-api').AlfrescoApiCompatibility;
const buildNumber = require('./build-number');
const outputDir = path.resolve(__dirname, '../../../e2e-output/');
async function saveScreenshots(retryCount) {
const folderName = process.env.GITHUB_JOB;
console.log(`Start uploading report in ${folderName}`);
let alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: process.env.SCREENSHOT_URL
});
await alfrescoJsApi.login(process.env.SCREENSHOT_USERNAME, process.env.SCREENSHOT_PASSWORD);
let folderNode;
try {
folderNode = await alfrescoJsApi.nodes.addNode('-my-', {
'name': `retry-${retryCount}`,
'relativePath': `Builds/ACA-${buildNumber()}/${folderName}/`,
'nodeType': 'cm:folder'
}, {}, {
'overwrite': true
});
} catch (error) {
folderNode = await alfrescoJsApi.nodes.getNode('-my-', {
'relativePath': `Builds/ACA-${buildNumber()}/${folderName}/retry-${retryCount}`,
'nodeType': 'cm:folder'
}, {}, {
'overwrite': true
});
}
fs.renameSync(outputDir, path.join(`${outputDir}-${folderName}-${retryCount}/`));
const child_process = require("child_process");
child_process.execSync(` tar -czvf ../e2e-result-${folderName}-${retryCount}.tar .`, {
cwd: `${outputDir}-${folderName}-${retryCount}/`
});
let pathFile = path.join(outputDir, `../e2e-result-${folderName}-${retryCount}.tar`);
let file = fs.createReadStream(pathFile);
await alfrescoJsApi.upload.uploadFile(
file,
'',
folderNode.entry.id,
null,
{
'name': `e2e-result-${folderName}-${retryCount}.tar`,
'nodeType': 'cm:content',
'autoRename': true
}
);
}
module.exports = {
saveScreenshots: saveScreenshots
};