promtool: alert_rule_test items require alertname
Accepting alert_rule_test without alertname is confusing as it will always pass with empty exp_alerts, and never with non-empty exp_alerts. Signed-off-by: Raphael Bauduin <raphael.bauduin@tessares.net>
This commit is contained in:
parent
6a3d55db0a
commit
a7d64cad21
|
@ -188,6 +188,13 @@ func (tg *testGroup) test(evalInterval time.Duration, groupOrderMap map[string]i
|
||||||
// Map of all the unit tests for given eval_time.
|
// Map of all the unit tests for given eval_time.
|
||||||
alertTests := make(map[model.Duration][]alertTestCase)
|
alertTests := make(map[model.Duration][]alertTestCase)
|
||||||
for _, alert := range tg.AlertRuleTests {
|
for _, alert := range tg.AlertRuleTests {
|
||||||
|
if alert.Alertname == "" {
|
||||||
|
var testGroupLog string
|
||||||
|
if tg.TestGroupName != "" {
|
||||||
|
testGroupLog = fmt.Sprintf(" (in TestGroup %s)", tg.TestGroupName)
|
||||||
|
}
|
||||||
|
return []error{errors.Errorf("an item under alert_rule_test misses required attribute alertname at eval_time %v%s", alert.EvalTime, testGroupLog)}
|
||||||
|
}
|
||||||
alertEvalTimesMap[alert.EvalTime] = struct{}{}
|
alertEvalTimesMap[alert.EvalTime] = struct{}{}
|
||||||
|
|
||||||
if _, ok := alertsInTest[alert.EvalTime]; !ok {
|
if _, ok := alertsInTest[alert.EvalTime]; !ok {
|
||||||
|
|
Loading…
Reference in New Issue