Denys Vuika 29ec2fcc96
[ACS-5845] remove Alfresco Compatibility usage (#8822)
* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* upgrade to latest js-api

* fix security concerns for execSync

* security fix

* fixes as per code reviews

* code fixes for attach file widget dialog

* code fixes

* code fixes

* disable ACS storage check

* add the jira to the commented out block

* remove useless logger call

* code fixes

* code fixes

* code fixes

* code and typing fixes

* fix lint

* disable the code

* try other fixes, add missing headers

* dump error to console

* replace test file with in-memory stream

* code fixes

* simplify checks

* disable upload

* remove useless test and ng-mocks dependency
2023-08-22 00:02:39 +01:00

75 lines
2.2 KiB
JavaScript

const { spawnSync } = require('node:child_process');
const fs = require('node:fs');
const path = require('node:path');
const TestConfig = require('../test.config');
const { AlfrescoApi, NodesApi, UploadApi } = require('@alfresco/js-api');
function buildNumber() {
let buildNumber = process.env.GH_BUILD_NUMBER;
if (!buildNumber) {
process.env.GH_BUILD_NUMBER = Date.now();
}
return process.env.GH_BUILD_NUMBER;
}
async function uploadScreenshot(retryCount, suffixFileName) {
console.log(`Start uploading report ${retryCount}`);
const alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.screenshot.url
});
const nodesApi = new NodesApi(alfrescoJsApi);
const uploadApi = new UploadApi(alfrescoJsApi);
await alfrescoJsApi.login(TestConfig.users.screenshot.username, TestConfig.users.screenshot.password);
let folderNode;
try {
folderNode = await nodesApi.createNode(
'-my-',
{
name: `retry-${retryCount}`,
relativePath: `Builds/${buildNumber()}/`,
nodeType: 'cm:folder'
},
{},
{
overwrite: true
}
);
} catch (error) {
folderNode = await nodesApi.getNode('-my-', {
relativePath: `Builds/${buildNumber()}/retry-${retryCount}`
});
}
suffixFileName = suffixFileName.replace(/\//g, '-');
fs.renameSync(
path.resolve(__dirname, '../../e2e-output/'),
path.resolve(__dirname, `../../e2e-output-${retryCount}-${process.env.GH_ACTION_RETRY_COUNT}/`)
);
spawnSync(` tar -czvf ../e2e-result-${suffixFileName}-${retryCount}.tar .`, {
cwd: path.resolve(__dirname, `../../e2e-output-${retryCount}-${process.env.GH_ACTION_RETRY_COUNT}/`),
shell: false
});
const pathFile = path.join(__dirname, `../../e2e-result-${suffixFileName}-${retryCount}.tar`);
const file = fs.createReadStream(pathFile);
await uploadApi.uploadFile(file, '', folderNode.entry.id, null, {
name: `e2e-result-${suffixFileName}-${retryCount}.tar`,
nodeType: 'cm:content',
autoRename: true
});
}
module.exports = {
uploadScreenshot: uploadScreenshot
};