UNPKG

webscanner

Version:

Automation scanner for web resources

1,201 lines (1,193 loc) 154 kB
//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 }, {