/// <summary> /// 執行 /// </summary> public void Execute() { InitWorkStation(); Monitors = _parser.ParseRecord(_originRecord, _sourceIp); //TODO: ForEach 想辦法調掉 Monitors.ForEach(monitor => { var device = GetDevice(monitor.DEVICE_ID); monitor.DEVICE_SN = device.DEVICE_SN; Target target = GetTarget(device.DEVICE_SN, monitor.TARGET_NAME); monitor.IS_EXCEPTION = _alarmer.IsException(monitor, target); }); SaveList(); }
public void Cacti_ALERT訊息_為異常() { //Arrange var expected = "Y"; var monitor = new Monitor { DEVICE_SN = "2018001", DEVICE_ID = "192.168.10.99", TARGET_NAME = "Traffic - Gi1/0/20 [traffic_in]", TARGET_VALUE = "ALERT", TARGET_MESSAGE = "current value is 5630.6207", RECEIVE_TIME = DateTime.Parse("2018/11/06 18:08:34", CultureInfo.InvariantCulture) }; var alarm = new Alarmer(); //Act var actual = alarm.IsException(monitor, _target); //Assert Assert.AreEqual(expected, actual); }