mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Fix E2E run (#5624)
* 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
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
Reference in New Issue
Block a user