public void AlertDoesNotTriggersWhenOldValueMatched(string row, double oldValue, double value) { var alert = new IOconfAlert(row, 0); alert.CheckValue(oldValue, DateTime.UtcNow); Assert.IsFalse(alert.CheckValue(value, DateTime.UtcNow)); }
public void AlertTriggersWhenOldValueDidNotMatch(string row, double oldValue, double value) { var alert = new IOconfAlert(row, 0); alert.CheckValue(oldValue, DateTime.UtcNow); Assert.IsTrue(alert.CheckValue(value, DateTime.UtcNow)); }
public void SupportsDynamicAlertsFormat(string expressionWithOptions, double value, int rateLimit, string command) { var alert = new IOconfAlert("dynamicalert", expressionWithOptions); Assert.IsTrue(alert.CheckValue(value, DateTime.UtcNow)); Assert.AreEqual(rateLimit, alert.RateLimitMinutes); Assert.AreEqual(command, alert.Command); }
public void AlertReturnsExpectedMessageAfterCheckingValueTwice(string row, double oldValue, double value, string expectedMessage) { var alert = new IOconfAlert(row, 0); alert.CheckValue(oldValue, DateTime.UtcNow); alert.CheckValue(value, DateTime.UtcNow); Assert.AreEqual(expectedMessage, alert.Message); }
private void TriggerAlert(IOconfAlert a, DateTime timestamp, string message) { _cmd.FireAlert(message, timestamp); if (a.Command != default) { foreach (var commands in a.Command.Split('|')) { ExecuteCommand(commands); } } }
protected override Task Command(List <string> args) { if (args.Count < 3) { logger.LogError($"Unexpected format for Dynamic alert: {string.Join(',', args)}. Format: addalert AlertName SensorName comparison value [rateMinutes] [command]"); return(Task.CompletedTask); } var alert = new IOconfAlert(args[1], string.Join(' ', args.Skip(2))); lock (_alerts) { _alerts.RemoveAll(a => a.Name == args[1]); _alerts.Add(alert); } return(Task.CompletedTask); }
public void AlertTriggers(string row, double value) { var alert = new IOconfAlert(row, 0); Assert.IsTrue(alert.CheckValue(value, DateTime.UtcNow)); }