mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* Fix E2E run remove not used report Fix USERNAME AND PAS upload PS cloud e2e screenshot * save report * multiple 4 cs * change test fix screenshot and others * exclude other test
92 lines
2.7 KiB
JavaScript
92 lines
2.7 KiB
JavaScript
const fs = require('fs');
|
|
const rimraf = require('rimraf');
|
|
const path = require('path');
|
|
const projectRoot = path.resolve(__dirname, '../../');
|
|
const TestConfig = require('../test.config');
|
|
const AlfrescoApi = require('@alfresco/js-api').AlfrescoApiCompatibility;
|
|
|
|
function buildNumber() {
|
|
let buildNumber = process.env.TRAVIS_BUILD_NUMBER;
|
|
if (!buildNumber) {
|
|
process.env.TRAVIS_BUILD_NUMBER = Date.now();
|
|
}
|
|
|
|
return process.env.TRAVIS_BUILD_NUMBER;
|
|
}
|
|
|
|
async function uploadScreenshot(alfrescoJsApi, retryCount) {
|
|
let files = fs.readdirSync(path.join(__dirname, '../../e2e-output/screenshots'));
|
|
|
|
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 {
|
|
folder = await alfrescoJsApi.nodes.addNode('-my-', {
|
|
'name': `retry-${retryCount}`,
|
|
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
|
'nodeType': 'cm:folder'
|
|
}, {}, {
|
|
'overwrite': true
|
|
});
|
|
} catch (error) {
|
|
folder = await alfrescoJsApi.nodes.getNode('-my-', {
|
|
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
|
'nodeType': 'cm:folder'
|
|
}, {}, {
|
|
'overwrite': true
|
|
});
|
|
}
|
|
|
|
for (const fileName of files) {
|
|
let pathFile = path.join(__dirname, '../../e2e-output/screenshots', fileName);
|
|
let file = fs.createReadStream(pathFile);
|
|
|
|
let safeFileName = fileName.replace(new RegExp('"', 'g'), '');
|
|
|
|
try {
|
|
await alfrescoJsApi.upload.uploadFile(
|
|
file,
|
|
'',
|
|
folder.entry.id,
|
|
null,
|
|
{
|
|
'name': safeFileName,
|
|
'nodeType': 'cm:content',
|
|
'autoRename': true
|
|
}
|
|
);
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
async function cleanReportFolder() {
|
|
let reportsFolder = `${projectRoot}/e2e-output/junit-report/`;
|
|
|
|
fs.exists(reportsFolder, function (exists, error) {
|
|
if (exists) {
|
|
rimraf(reportsFolder, function (err) {
|
|
});
|
|
}
|
|
|
|
if (error) {
|
|
console.error('[ERROR] fs', error);
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
uploadScreenshot: uploadScreenshot,
|
|
cleanReportFolder: cleanReportFolder
|
|
};
|