Name
sn_deploy_pipeline.ScanSuitePopulate
Description
Populates default scan suites in the scan suite table (sn_deploy_pipeline_scan_suite) from scan suite remote table (sn_deploy_pipeline_st_scan_suite) table.
Script
var ScanSuitePopulate = Class.create();
(function() {
ScanSuitePopulate.missingSuiteErrorMsg = function(suiteId, type) {
var errMsg;
if (type === ScanSuiteConstants.INSTANCE_SCAN_SUITE) {
errMsg = gs.getMessage("Missing Instance scan suite with id '{0}' on test instance.", [suiteId]);
} else if (type === ScanSuiteConstants.ATF_SCAN_SUITE) {
errMsg = gs.getMessage("Missing ATF scan suite with id '{0}' on test instance.", [suiteId]);
}
gs.addErrorMessage(errMsg);
};
ScanSuitePopulate.existingSuiteInfoMsg = function(suiteId, type) {
var infoMsg;
if (type === ScanSuiteConstants.INSTANCE_SCAN_SUITE) {
infoMsg = gs.getMessage("Instance scan suite with id '{0}' exists in the table.", [suiteId]);
} else if (type === ScanSuiteConstants.ATF_SCAN_SUITE) {
infoMsg = gs.getMessage("ATF scan suite with id '{0}' exists in the table.", [suiteId]);
}
gs.addInfoMessage(infoMsg);
};
ScanSuitePopulate.insertSuiteInfoMsg = function(suiteId, type) {
var infoMsg;
if (type === ScanSuiteConstants.INSTANCE_SCAN_SUITE) {
infoMsg = gs.getMessage("Inserted Instance scan suite with id '{0}'.", [suiteId]);
} else if (type === ScanSuiteConstants.ATF_SCAN_SUITE) {
infoMsg = gs.getMessage("Inserted ATF scan suite with id '{0}'.", [suiteId]);
}
gs.addInfoMessage(infoMsg);
};
ScanSuitePopulate.addScanSuite = function(suiteToRemoteSuiteLookup, suiteId, type) {
if (!suiteToRemoteSuiteLookup[suiteId]) {
ScanSuitePopulate.missingSuiteErrorMsg(suiteId, type);
return;
}
try {
var scanSuiteGR = new GlideRecordSecure(ScanSuiteConstants.SCAN_SUITE_TABLE);
scanSuiteGR.setValue('suite', suiteToRemoteSuiteLookup[suiteId]);
scanSuiteGR.setValue('error_severity', 'warning');
scanSuiteGR.setValue('instance_type', 'test');
scanSuiteGR.insert();
ScanSuitePopulate.insertSuiteInfoMsg(suiteId, type);
} catch (e) {
gs.error("Error inserting scan suite: " + e);
throw new sn_ws_err.ServiceError()
.setStatus(500)
.setMessage(gs.getMessage("Error inserting scan suite."));
}
};
ScanSuitePopulate.addDefaultScanSuites = function() {
var suiteToRemoteSuiteLookup = {};
var existingSuiteLookup = {};
var defaultSuiteIds = [ScanSuiteConstants.INSTANCE_SCAN_SUITE_ID, ScanSuiteConstants.ATF_SCAN_SUITE_ID];
var defaultRemoteSuiteIds = [ScanSuiteConstants.INSTANCE_SCAN_SUITE_REMOTE_ID, ScanSuiteConstants.ATF_SCAN_SUITE_REMOTE_ID];
var remoteScanSuiteGR = new GlideRecordSecure(ScanSuiteConstants.SCAN_SUITE_REMOTE_TABLE);
var scanSuiteGR = new GlideRecordSecure(ScanSuiteConstants.SCAN_SUITE_TABLE);
remoteScanSuiteGR.addQuery('suite_sys_id', 'IN', defaultSuiteIds);
remoteScanSuiteGR.query();
while (remoteScanSuiteGR.next()) {
suiteToRemoteSuiteLookup[remoteScanSuiteGR.getValue('suite_sys_id')] = remoteScanSuiteGR.getValue('sys_id');
}
scanSuiteGR.addQuery('suite', 'IN', defaultRemoteSuiteIds);
scanSuiteGR.query();
while (scanSuiteGR.next()) {
existingSuiteLookup[scanSuiteGR.suite.suite_sys_id] = true;
}
if (!existingSuiteLookup[ScanSuiteConstants.INSTANCE_SCAN_SUITE_ID]) {
// Adding default instance scan suite
ScanSuitePopulate.addScanSuite(suiteToRemoteSuiteLookup, ScanSuiteConstants.INSTANCE_SCAN_SUITE_ID, ScanSuiteConstants.INSTANCE_SCAN_SUITE);
} else {
ScanSuitePopulate.existingSuiteInfoMsg(ScanSuiteConstants.INSTANCE_SCAN_SUITE_ID, ScanSuiteConstants.INSTANCE_SCAN_SUITE);
}
if (!existingSuiteLookup[ScanSuiteConstants.ATF_SCAN_SUITE_ID]) {
// Adding ATF scan suite
ScanSuitePopulate.addScanSuite(suiteToRemoteSuiteLookup, ScanSuiteConstants.ATF_SCAN_SUITE_ID, ScanSuiteConstants.ATF_SCAN_SUITE);
} else {
ScanSuitePopulate.existingSuiteInfoMsg(ScanSuiteConstants.ATF_SCAN_SUITE_ID, ScanSuiteConstants.ATF_SCAN_SUITE);
}
};
ScanSuitePopulate.prototype = {
initialize: function() {},
type: 'ScanSuitePopulate'
};
})();
Sys ID
6e1c94ba87fa21103f0f7e2526cb0b69