Name
sn_cmdb_int_util.CMDBIntegrationMockDataUtil
Description
No description available
Script
var CMDBIntegrationMockDataUtil = Class.create();
CMDBIntegrationMockDataUtil.prototype = {
initialize: function() {
this.LETTERS = 'abcdefghijklmnopqrstuvwxyz1234567890';
},
randomHash: function(type) {
var input = this.randomString(256);
var digest = new GlideDigest();
switch (type) {
case "sha256":
return digest.getSHA256Hex(input).toLowerCase();
case "sha1":
return digest.getSHA1Hex(input).toLowerCase();
case "md5":
default:
return digest.getMD5Hex(input).toLowerCase();
}
},
scrambleInput: function(input, includeUnicode) {
var scrambledInput = "";
for (var i = 0; i < input.length; i++) {
if (includeUnicode && Math.random() >= 0.99) {
scrambledInput = scrambledInput + (String.fromCharCode(Ox00A0 + Math.random() * (0x04FF - 0x00A0 + 1)));
continue;
}
var character = input.charAt(i);
if (character.match(/[A-Z]/)) {
scrambledInput = scrambledInput + this.randomLetter().toUpperCase();
} else if (character.match(/[a-z]/)) {
scrambledInput = scrambledInput + this.randomLetter().toLowerCase();
} else if (character.match(/[0-9]/)) {
scrambledInput = scrambledInput + this.randomInteger(0, 9);
} else {
// preserve other inputs
scrambledInput = scrambledInput + character;
}
}
return scrambledInput;
},
randomLetter: function() {
var letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var letter = letters[Math.floor(Math.random() * letters.length)];
return letter;
},
randomString: function(maxLength, minLength, includeUnicode) {
if (!minLength)
minLength = 0;
if (maxLength < minLength)
minLength = maxLength;
var length = Math.random() * (maxLength - minLength) + minLength;
var letters = gs.getProperty('sn_cmdb_int_util.mock_data_letters', this.LETTERS);
var answer = '';
for (var i = length; i > 0; i--) {
answer += letters[Math.floor(Math.random() * letters.length)];
}
return answer;
},
randomInteger: function(maxValue, minValue) {
return Number(minValue) + Math.floor(Math.random() * Number(maxValue));
},
randomBoolean: function(falsePercentage) {
if (!falsePercentage || falsePercentage < 0 || falsePercentage > 1) {
falsePercentage = 0.5;
}
return Math.random() >= falsePercentage;
},
randomIpAddress: function(start, version) {
switch (version) {
case 6:
// start is not used in ipv6 currently
var section = function() {
var hex = "0123456789abcdef";
var answer = "";
for (var i = 4; i > 0; i--) {
answer += hex[Math.floor(Math.random() * hex.length)];
}
return answer;
};
var result = [];
for (var i = 0; i < 8; i++) {
result[i] = section();
}
return result.join(":");
case 4:
default:
return (start ? start : Math.floor(Math.random() * 256)) + "." + Math.floor(Math.random() * 256) + "." + Math.floor(Math.random() * 256) + "." + Math.floor(Math.random() * 256);
}
},
randomMACAddress: function() {
var hexDigits = "0123456789ABCDEF";
var macAddress = "";
for (var i = 0; i < 6; i++) {
macAddress += hexDigits.charAt(Math.round(Math.random() * 15));
macAddress += hexDigits.charAt(Math.round(Math.random() * 15));
if (i != 5) macAddress += ":";
}
return macAddress;
},
randomFromArray: function(textArray, includeNull, includeEmpty) {
if (includeNull) {
textArray.push(null);
}
if (includeEmpty) {
textArray.push("");
}
var randomIndex = Math.floor(Math.random() * textArray.length);
return textArray[randomIndex];
},
getUniqueListFromExistingValues: function(tableName, fieldName) {
var uniqueValueArray = [];
var ga = new GlideAggregate(tableName);
ga.addAggregate('count');
ga.setLimit(100);
ga.groupBy(fieldName);
ga.query();
while (ga.next()) {
uniqueValueArray.push(ga.getValue(fieldName));
}
return uniqueValueArray;
},
createSysImportSet: function(tableName) {
var gr = new GlideRecord("sys_data_source");
gr.addQuery("import_set_table_name", tableName);
gr.query();
gr.next();
var dataSourceId = gr.getUniqueValue();
gr = new GlideRecord("sys_import_set");
gr.initialize();
gr.table_name = tableName;
gr.short_description = "Mock data";
gr.state = "loading";
gr.data_source = dataSourceId;
gr.mode = "asynchronous";
return gr.insert();
},
getSysImportSetId: function(importSetRowId) {
var gr = new GlideRecord("sys_import_set_row");
gr.get("sys_id", importSetRowId);
return gr.getValue("sys_import_set");
},
updateSysImportSet: function(sysImportSetSysId) {
var gr = new GlideRecord("sys_import_set");
gr.get(sysImportSetSysId);
gr.state = "loaded";
gr.update();
},
type: 'CMDBIntegrationMockDataUtil'
};
Sys ID
43f4581d73220010202627b751ab9ee4