fix(alerting): fixes bug in query conditions

This commit is contained in:
bergquist 2016-09-08 13:28:41 +02:00
parent bec099cd84
commit 9511f89a22
2 changed files with 15 additions and 2 deletions

View File

@ -55,13 +55,13 @@ func (c *QueryCondition) Eval(context *alerting.EvalContext) {
})
}
context.Firing = evalMatch
// handle no data scenario
if reducedValue == nil {
context.NoDataFound = true
}
}
context.Firing = len(context.EvalMatches) > 0
}
func (c *QueryCondition) executeQuery(context *alerting.EvalContext) (tsdb.TimeSeriesSlice, error) {

View File

@ -59,6 +59,19 @@ func TestQueryCondition(t *testing.T) {
So(ctx.result.Error, ShouldBeNil)
So(ctx.result.Firing, ShouldBeFalse)
})
Convey("Should fire if only first serie matches", func() {
one := float64(120)
two := float64(0)
ctx.series = tsdb.TimeSeriesSlice{
tsdb.NewTimeSeries("test1", [][2]*float64{{&one, &two}}),
tsdb.NewTimeSeries("test2", [][2]*float64{{&two, &two}}),
}
ctx.exec()
So(ctx.result.Error, ShouldBeNil)
So(ctx.result.Firing, ShouldBeTrue)
})
})
})
}