Maurizio Vitale 941df740d5 [ADF-4948] Move the resources config in the process cloud lib - Part 2 (#5143)
* Move the resources in the cloud lib

* Use adf cli

* Add missing process definitions

* Add debug points

* Print new class

* Use the resources under the adf-testing

* Use the resources from testing package

* Fix adf-testing bugs

* remove empty row

* Remove the npm install

* Remove log stuff

* Remove the console log

* Fix typo on process def names
Improve the debug e2e command

* Fix lowercase name

* Check the process cloud env and content env

* Add the new process definitions

* Add missing process definitions

* Use the latest simpleapp

* Rollback the bigFile

* Use relative link

* Trasnpile the adf-testing before using it
2019-10-17 14:31:58 +01:00

123 lines
4.0 KiB
JavaScript
Executable File

let alfrescoApi = require('@alfresco/js-api');
let program = require('commander');
const RESOURCES_CLOUD = require("@alfresco/adf-process-services-cloud");
let config = {};
let absentApps = [];
let notRunningApps = [];
let host;
async function main() {
program
.version('0.1.0')
.option('--host [type]', 'Remote environment host adf.lab.com ')
.option('--client [type]', 'clientId ')
.option('-p, --password [type]', 'password ')
.option('-u, --username [type]', 'username ')
.parse(process.argv);
config = {
provider: 'BPM',
hostBpm: `http://${program.host}`,
authType: 'OAUTH',
oauth2: {
host: `http://${program.host}/auth/realms/alfresco`,
clientId: program.client,
scope: 'openid',
secret: '',
implicitFlow: false,
silentLogin: false,
redirectUri: '/',
redirectUriLogout: '/logout'
}
};
host = program.host;
try {
this.alfrescoJsApi = new alfrescoApi.AlfrescoApiCompatibility(config);
await this.alfrescoJsApi.login(program.username, program.password);
} catch (e) {
console.log('Login error' + e);
}
for (const key of Object.keys(RESOURCES_CLOUD.ACTIVITI_CLOUD_APPS)) {
await deleteApp(alfrescoJsApi, RESOURCES_CLOUD.ACTIVITI_CLOUD_APPS[key].name);
}
let notRunning = await getNotRunningApps(this.alfrescoJsApi);
if (notRunning && notRunning.length > 0) {
console.log(JSON.stringify(notRunning));
}
}
async function getNotRunningApps(alfrescoJsApi) {
let allStatusApps = await getDeployedApplicationsByStatus(alfrescoJsApi, '');
Object.keys(RESOURCES_CLOUD.ACTIVITI_CLOUD_APPS).forEach((key) => {
let isNotRunning = allStatusApps.find((currentApp) => {
//console.log(currentApp.entry.name + ' ' +currentApp.entry.status);
return RESOURCES_CLOUD.ACTIVITI_CLOUD_APPS[key].name === currentApp.entry.name && currentApp.entry.status !== 'Running';
});
if (isNotRunning && isNotRunning.entry.status !== 'ImagePushFailed') {
notRunningApps.push(isNotRunning);
}
});
if (notRunningApps.length > 0) {
console.log(`The following apps are NOT running in the target env:`);
notRunningApps.forEach((currentApp) => {
console.log(`App ${currentApp.entry.name } current status ${JSON.stringify(currentApp.entry.status)}`);
});
await checkIfAppIsReleased(alfrescoJsApi, absentApps);
}
return notRunningApps;
}
async function getDeployedApplicationsByStatus(apiService, status) {
const url = `${config.hostBpm}/alfresco-deployment-service/v1/applications`;
const pathParams = {}, queryParams = {status: status},
headerParams = {}, formParams = {}, bodyParam = {},
contentTypes = ['application/json'], accepts = ['application/json'];
let data;
try {
data = await apiService.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam,
contentTypes, accepts);
return data.list.entries;
} catch (error) {
console.log(`Not possible get the applications from alfresco-deployment-service ${JSON.stringify(error)} `);
process.exit(1);
}
}
async function deleteApp(apiService, appName) {
console.log(`Delete the app ${appName}`);
const url = `${config.hostBpm}/alfresco-deployment-service/v1/applications/${appName}`;
const pathParams = {}, queryParams = {},
headerParams = {}, formParams = {}, bodyParam = {},
contentTypes = ['application/json'], accepts = ['application/json'];
try {
await apiService.oauth2Auth.callCustomApi(url, 'DELETE', pathParams, queryParams, headerParams, formParams, bodyParam,
contentTypes, accepts);
console.log(`App deleted`);
} catch (error) {
console.log(`Not possible to delete the application from alfresco-modeling-service` + error);
process.exit(1);
}
}
main();