webscanner
Version:
Automation scanner for web resources
1,201 lines (1,193 loc) • 154 kB
JavaScript
//const {processData, processScriptCoverage} = require('../../src/dataProcessor');
describe.skip('dataProcessor testing', function () {
test('should check null cases', () => {
expect(processData()).toEqual(undefined);
expect(processData({})).toEqual(undefined);
expect(processData({}, {})).toEqual({});
});
});
describe.skip('dataProcessor script coverage', function () {
test('should parse scripts coverage', () => {
const data = {
scripts: {
'a': {length: 150},
'b': {length: 1000},
'c': {length: 80978},
},
scriptCoverage: [
{
scriptId: 'a',
functions: [
{
ranges: [{
startOffset: 20, endOffset: 60,
count: 1
}],
functionName: 'funcA',
},
{
ranges: [{
startOffset: 40, endOffset: 150,
count: 1
}],
functionName: 'funcB',
},
{
ranges: [{
startOffset: 90, endOffset: 100,
count: 1
}],
functionName: 'funcC',
},
{
ranges: [{
startOffset: 0, endOffset: 150,
count: 1
}],
functionName: 'funcD',
},
]
},
{
scriptId: 'b',
functions: [
{
ranges: [{
startOffset: 0, endOffset: 100, count: 1
}],
functionName: 'funcA',
},
{
ranges: [{
startOffset: 100, endOffset: 300,
count: 1
}],
functionName: 'funcB'
},
{
ranges: [{
startOffset: 75, endOffset: 270,
count: 1
}],
functionName: 'funcC',
},
{
ranges: [{
startOffset: 80, endOffset: 260,
count: 1
}],
functionName: 'funcD',
},
{
ranges: [{
startOffset: 60, endOffset: 271,
count: 1
}],
functionName: 'funcE',
},
{
ranges: [{
startOffset: 60, endOffset: 271,
count: 1
}],
functionName: 'funcF',
},
{
ranges: [{
startOffset: 200, endOffset: 301,
count: 0
}],
functionName: 'funcG',
},
]
},
]
};
processScriptCoverage(data.scripts, data.scriptCoverage);
expect(data.scripts['a']).toEqual({
'functionCoverage': {
'usedFunctions': ['funcA', 'funcB', 'funcC', 'funcD'],
'unusedFunctions': [],
'usage': 1,
'usedBytes': 150
},
'length': 150
});
expect(data.scripts['b']).toEqual({
'functionCoverage': {
'usedFunctions': ['funcA', 'funcB', 'funcC', 'funcD', 'funcE', 'funcF'],
'unusedFunctions': ['funcG'],
'usage': 0.3,
'usedBytes': 300
},
'length': 1000
});
});
test('should parse complex script coverage', () => {
const data = {
scripts: {
'a': {length: 150},
'b': {length: 1000},
'c': {length: 80978},
},
scriptCoverage: [
{
scriptId: 'c',
functions: [
{
'functionName': 'e',
'ranges': [
{
'startOffset': 1,
'endOffset': 437,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'r',
'ranges': [
{
'startOffset': 19,
'endOffset': 355,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 268,
'endOffset': 313,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '1../child/ChildVisitor',
'ranges': [
{
'startOffset': 442,
'endOffset': 24253,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 459,
'endOffset': 24053,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'e',
'ranges': [
{
'startOffset': 484,
'endOffset': 515,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'h',
'ranges': [
{
'startOffset': 1046,
'endOffset': 23307,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'r',
'ranges': [
{
'startOffset': 1062,
'endOffset': 1223,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 1091,
'endOffset': 1222,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'h',
'ranges': [
{
'startOffset': 1223,
'endOffset': 1389,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'C',
'ranges': [
{
'startOffset': 1389,
'endOffset': 1675,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'D',
'ranges': [
{
'startOffset': 1675,
'endOffset': 1940,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'I',
'ranges': [
{
'startOffset': 1940,
'endOffset': 2382,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'j',
'ranges': [
{
'startOffset': 3238,
'endOffset': 3277,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.cookieRead',
'ranges': [
{
'startOffset': 3318,
'endOffset': 3525,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.cookieWrite',
'ranges': [
{
'startOffset': 3540,
'endOffset': 4012,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.resetState',
'ranges': [
{
'startOffset': 4026,
'endOffset': 4067,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.isAllowed',
'ranges': [
{
'startOffset': 4120,
'endOffset': 4282,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.setMarketingCloudVisitorID',
'ranges': [
{
'startOffset': 4312,
'endOffset': 4354,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getMarketingCloudVisitorID',
'ranges': [
{
'startOffset': 4422,
'endOffset': 4683,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getVisitorValues',
'ranges': [
{
'startOffset': 4703,
'endOffset': 5053,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.setCustomerIDs',
'ranges': [
{
'startOffset': 5150,
'endOffset': 5699,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getCustomerIDs',
'ranges': [
{
'startOffset': 5717,
'endOffset': 5952,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.setAnalyticsVisitorID',
'ranges': [
{
'startOffset': 5977,
'endOffset': 6014,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getAnalyticsVisitorID',
'ranges': [
{
'startOffset': 6039,
'endOffset': 6932,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 6192,
'endOffset': 6234,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getAudienceManagerLocationHint',
'ranges': [
{
'startOffset': 6966,
'endOffset': 7359,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 7033,
'endOffset': 7084,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 7178,
'endOffset': 7229,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getAudienceManagerBlob',
'ranges': [
{
'startOffset': 7436,
'endOffset': 7864,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 7503,
'endOffset': 7546,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 7640,
'endOffset': 7683,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getSupplementalDataID',
'ranges': [
{
'startOffset': 8027,
'endOffset': 8616,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.getOptOut',
'ranges': [
{
'startOffset': 8629,
'endOffset': 8777,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.isOptedOut',
'ranges': [
{
'startOffset': 8791,
'endOffset': 9008,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 8866,
'endOffset': 8944,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._hash',
'ranges': [
{
'startOffset': 9054,
'endOffset': 9151,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._generateLocalMID',
'ranges': [
{
'startOffset': 9188,
'endOffset': 9272,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._callCallback',
'ranges': [
{
'startOffset': 9310,
'endOffset': 9392,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._registerCallback',
'ranges': [
{
'startOffset': 9413,
'endOffset': 9555,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._callAllCallbacks',
'ranges': [
{
'startOffset': 9576,
'endOffset': 9693,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._addQuerystringParam',
'ranges': [
{
'startOffset': 9717,
'endOffset': 9954,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._extractParamFromUri',
'ranges': [
{
'startOffset': 9978,
'endOffset': 10093,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._attemptToPopulateSdidFromUrl',
'ranges': [
{
'startOffset': 10209,
'endOffset': 10442,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._attemptToPopulateIdsFromUrl',
'ranges': [
{
'startOffset': 10474,
'endOffset': 10638,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._mergeServerState',
'ranges': [
{
'startOffset': 10659,
'endOffset': 10941,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._loadData',
'ranges': [
{
'startOffset': 10970,
'endOffset': 11245,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._clearTimeout',
'ranges': [
{
'startOffset': 11262,
'endOffset': 11353,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getSettingsDigest',
'ranges': [
{
'startOffset': 11395,
'endOffset': 11627,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._readVisitor',
'ranges': [
{
'startOffset': 11665,
'endOffset': 12564,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._appendVersionTo',
'ranges': [
{
'startOffset': 12584,
'endOffset': 12753,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._writeVisitor',
'ranges': [
{
'startOffset': 12770,
'endOffset': 13030,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getField',
'ranges': [
{
'startOffset': 13043,
'endOffset': 13141,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setField',
'ranges': [
{
'startOffset': 13154,
'endOffset': 13238,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getFieldList',
'ranges': [
{
'startOffset': 13255,
'endOffset': 13319,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setFieldList',
'ranges': [
{
'startOffset': 13336,
'endOffset': 13386,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getFieldMap',
'ranges': [
{
'startOffset': 13402,
'endOffset': 13520,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setFieldMap',
'ranges': [
{
'startOffset': 13536,
'endOffset': 13641,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setFieldExpire',
'ranges': [
{
'startOffset': 13660,
'endOffset': 14004,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._findVisitorID',
'ranges': [
{
'startOffset': 14022,
'endOffset': 14240,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setFields',
'ranges': [
{
'startOffset': 14254,
'endOffset': 15987,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getRemoteField',
'ranges': [
{
'startOffset': 16022,
'endOffset': 16908,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'u',
'ranges': [
{
'startOffset': 16188,
'endOffset': 16281,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': '',
'ranges': [
{
'startOffset': 16453,
'endOffset': 16596,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setMarketingCloudFields',
'ranges': [
{
'startOffset': 16936,
'endOffset': 16983,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._mapCustomerIDs',
'ranges': [
{
'startOffset': 17002,
'endOffset': 17045,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setAnalyticsFields',
'ranges': [
{
'startOffset': 17068,
'endOffset': 17115,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._setAudienceManagerFields',
'ranges': [
{
'startOffset': 17144,
'endOffset': 17191,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getAudienceManagerURLData',
'ranges': [
{
'startOffset': 17221,
'endOffset': 18247,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.appendVisitorIDsTo',
'ranges': [
{
'startOffset': 18269,
'endOffset': 18425,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.appendSupplementalDataIDTo',
'ranges': [
{
'startOffset': 18455,
'endOffset': 18664,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'parseHash',
'ranges': [
{
'startOffset': 18682,
'endOffset': 18741,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'hashlessUrl',
'ranges': [
{
'startOffset': 18754,
'endOffset': 18814,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'addQueryParamAtLocation',
'ranges': [
{
'startOffset': 18839,
'endOffset': 18930,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'isFirstPartyAnalyticsVisitorIDCall',
'ranges': [
{
'startOffset': 18966,
'endOffset': 19169,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'isObject',
'ranges': [
{
'startOffset': 19179,
'endOffset': 19224,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'removeCookie',
'ranges': [
{
'startOffset': 19238,
'endOffset': 19390,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'isTrackingServerPopulated',
'ranges': [
{
'startOffset': 19417,
'endOffset': 19479,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'getTimestampInSeconds',
'ranges': [
{
'startOffset': 19502,
'endOffset': 19557,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'parsePipeDelimetedKeyValues',
'ranges': [
{
'startOffset': 19586,
'endOffset': 19713,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'generateRandomString',
'ranges': [
{
'startOffset': 19735,
'endOffset': 19863,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'parseBoolean',
'ranges': [
{
'startOffset': 19877,
'endOffset': 19925,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'replaceMethodsWithFunction',
'ranges': [
{
'startOffset': 19953,
'endOffset': 20046,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'pluck',
'ranges': [
{
'startOffset': 20053,
'endOffset': 20146,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'setState',
'ranges': [
{
'startOffset': 20374,
'endOffset': 20714,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.isClientSideMarketingCloudVisitorID',
'ranges': [
{
'startOffset': 20754,
'endOffset': 20810,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.MCIDCallTimedOut',
'ranges': [
{
'startOffset': 20830,
'endOffset': 20867,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.AnalyticsIDCallTimedOut',
'ranges': [
{
'startOffset': 20894,
'endOffset': 20938,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.AAMIDCallTimedOut',
'ranges': [
{
'startOffset': 20959,
'endOffset': 20997,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.idSyncGetOnPageSyncInfo',
'ranges': [
{
'startOffset': 21024,
'endOffset': 21074,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.idSyncByURL',
'ranges': [
{
'startOffset': 21089,
'endOffset': 21404,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.idSyncByDataSource',
'ranges': [
{
'startOffset': 21426,
'endOffset': 21626,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._getCookieVersion',
'ranges': [
{
'startOffset': 21647,
'endOffset': 21756,
'count': 1
}
],
'isBlockCoverage': false
},
{
'functionName': 'S._resetAmcvCookie',
'ranges': [
{
'startOffset': 21776,
'endOffset': 21868,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.setAsCoopSafe',
'ranges': [
{
'startOffset': 21885,
'endOffset': 21901,
'count': 0
}
],
'isBlockCoverage': false
},
{
'functionName': 'S.setAsCoopUnsafe',
'ranges': [
{
'startOffset': 21920,
'endOffset': 21936,
'count': 0
}
],
'isBlockCoverage': false
},
{