it('should generate data in statsD format', function() { const message = { type: 'domains.summary', timestamp: '2016-01-08T12:59:06+01:00', source: 'domains', data: { 'www.sitespeed.io': { dns: { median: '0', mean: '13', min: '0', p10: '0', p90: '40', p99: '40', max: '40' } } }, group: 'sub_domain_com' }; let generator = new DataGenerator('ns', false, { _: ['sub_domain_com'], browser: 'chrome', connectivity: 'cable', graphite: { statsd: true } }); const data = generator.dataFromMessage(message, dayjs()); data.forEach(function(line) { expect(line).to.match( /ns.summary.sub_domain_com.chrome.cable.domains.www.sitespeed.io.dns.(median|mean|min|p10|p90|p99|max):[\d]{1,}\|ms$/ ); }); });
it('should generate data for gpsi.pageSummary', function() { const message = { type: 'gpsi.pageSummary', timestamp: '2016-01-08T12:59:06+01:00', source: 'gpsi', data: { median: '13', mean: '14.42', min: '13', p10: '13', p70: '16', p80: '16', p90: '16', p99: '16', max: '16' }, url: 'http://sub.domain.com/foo/bar' }; let generator = new DataGenerator('ns', false, { _: ['filename'], browser: 'chrome', connectivity: 'cable' }); const data = generator.dataFromMessage(message, dayjs()); expect(data).to.match(/ns.pageSummary.sub_domain_com/); expect(data).to.match(/bar.gpsi.median/); expect(data).to.match(/foo_bar/); });
it('should generate data for domains.summary', function() { const message = { type: 'domains.summary', timestamp: '2016-01-08T12:59:06+01:00', source: 'domains', data: { 'www.sitespeed.io': { dns: { median: '0', mean: '13', min: '0', p10: '0', p90: '40', p99: '40', max: '40' } } }, group: 'sub_domain_com' }; let generator = new DataGenerator('ns', false, { _: ['sub_domain_com'], browser: 'chrome', connectivity: 'cable' }); const data = generator.dataFromMessage(message, dayjs()); expect(data).to.match( /ns.summary.sub_domain_com.chrome.cable.domains.www.sitespeed.io.dns.median [\d]{1,} [\d]*/ ); });