Alerting: Condition evaluator with cached pipeline (#57479)
* create rule evaluator * load header from the context * init one factory * update scheduler
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package eval_mocks
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||
)
|
||||
|
||||
type fakeEvaluatorFactory struct {
|
||||
err error
|
||||
evaluator eval.ConditionEvaluator
|
||||
}
|
||||
|
||||
func NewEvaluatorFactory(evaluator eval.ConditionEvaluator) eval.EvaluatorFactory {
|
||||
return &fakeEvaluatorFactory{evaluator: evaluator}
|
||||
}
|
||||
|
||||
func NewFailingEvaluatorFactory(err error) eval.EvaluatorFactory {
|
||||
if err == nil {
|
||||
err = errors.New("test")
|
||||
}
|
||||
return &fakeEvaluatorFactory{err: err}
|
||||
}
|
||||
|
||||
func (f fakeEvaluatorFactory) Validate(ctx eval.EvaluationContext, condition models.Condition) error {
|
||||
return f.err
|
||||
}
|
||||
|
||||
func (f fakeEvaluatorFactory) Create(ctx eval.EvaluationContext, condition models.Condition) (eval.ConditionEvaluator, error) {
|
||||
return f.evaluator, f.err
|
||||
}
|
||||
Reference in New Issue
Block a user