| var _ = require('underscore'); |
| |
| var input = []; |
| |
| function monitoringTemplateProtocol(input) { |
| var nodeTypes = input; |
| if (nodeTypes.length < 2) { |
| if (nodeTypes[0] == 'FOI collector' || nodeTypes[0] == 'syslog') { |
| return nodeTypes[0]; |
| } else { |
| return 'other'; |
| } |
| } else { |
| var match = _.difference(nodeTypes, ["map", "enrich", "supplement"]); |
| return match.length > 0 ? 'other' : 'SNMP'; |
| } |
| } |
| |
| beforeEach(() => { |
| input = []; |
| }) |
| |
| test('should return FOI', () => { |
| input.push('FOI collector'); |
| expect(monitoringTemplateProtocol(input)).toBe('FOI collector'); |
| }) |
| test('should return Syslog', () => { |
| input.push('syslog'); |
| expect(monitoringTemplateProtocol(input)).toBe('syslog'); |
| }) |
| test('should return SNMP', () => { |
| input.push('map'); |
| input.push('enrich'); |
| input.push('supplement'); |
| input = _.shuffle(input); |
| expect(monitoringTemplateProtocol(input)).toBe('SNMP'); |
| }) |
| test('should return other', () => { |
| input.push('west'); |
| expect(monitoringTemplateProtocol(input)).toBe('other'); |
| }) |