mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Refactor state manager's cache (#56197)
* remove ResetAllStates because it's not used * refactor cache to accept logs, metrics and url as method args * update manager Warm method to set the entire state at once * remove unused reset method * introduce ruleStates * change getOrCreate to belong to ruleStates * update Get to not return error
This commit is contained in:
@@ -12,17 +12,18 @@ import (
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/eval"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/metrics"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||
"github.com/grafana/grafana/pkg/util"
|
||||
)
|
||||
|
||||
func Test_getOrCreate(t *testing.T) {
|
||||
c := newCache(log.New("test"), &metrics.State{}, &url.URL{
|
||||
url := &url.URL{
|
||||
Scheme: "http",
|
||||
Host: "localhost:3000",
|
||||
Path: "/test",
|
||||
})
|
||||
}
|
||||
l := log.New("test")
|
||||
c := newCache()
|
||||
|
||||
generateRule := models.AlertRuleGen(models.WithNotEmptyLabels(5, "rule-"))
|
||||
|
||||
@@ -33,7 +34,7 @@ func Test_getOrCreate(t *testing.T) {
|
||||
result := eval.Result{
|
||||
Instance: models.GenerateAlertLabels(5, "result-"),
|
||||
}
|
||||
state := c.getOrCreate(context.Background(), rule, result, extraLabels)
|
||||
state := c.getOrCreate(context.Background(), l, rule, result, extraLabels, url)
|
||||
for key, expected := range extraLabels {
|
||||
require.Equal(t, expected, state.Labels[key])
|
||||
}
|
||||
@@ -61,7 +62,7 @@ func Test_getOrCreate(t *testing.T) {
|
||||
result.Instance[key] = "result-" + util.GenerateShortUID()
|
||||
}
|
||||
|
||||
state := c.getOrCreate(context.Background(), rule, result, extraLabels)
|
||||
state := c.getOrCreate(context.Background(), l, rule, result, extraLabels, url)
|
||||
for key, expected := range extraLabels {
|
||||
require.Equal(t, expected, state.Labels[key])
|
||||
}
|
||||
@@ -77,7 +78,7 @@ func Test_getOrCreate(t *testing.T) {
|
||||
for key := range rule.Labels {
|
||||
result.Instance[key] = "result-" + util.GenerateShortUID()
|
||||
}
|
||||
state := c.getOrCreate(context.Background(), rule, result, extraLabels)
|
||||
state := c.getOrCreate(context.Background(), l, rule, result, extraLabels, url)
|
||||
for key, expected := range rule.Labels {
|
||||
require.Equal(t, expected, state.Labels[key])
|
||||
}
|
||||
@@ -99,7 +100,7 @@ func Test_getOrCreate(t *testing.T) {
|
||||
}
|
||||
rule.Labels = labelTemplates
|
||||
|
||||
state := c.getOrCreate(context.Background(), rule, result, extraLabels)
|
||||
state := c.getOrCreate(context.Background(), l, rule, result, extraLabels, url)
|
||||
for key, expected := range extraLabels {
|
||||
assert.Equal(t, expected, state.Labels["rule-"+key])
|
||||
}
|
||||
@@ -125,7 +126,7 @@ func Test_getOrCreate(t *testing.T) {
|
||||
}
|
||||
rule.Annotations = annotationTemplates
|
||||
|
||||
state := c.getOrCreate(context.Background(), rule, result, extraLabels)
|
||||
state := c.getOrCreate(context.Background(), l, rule, result, extraLabels, url)
|
||||
for key, expected := range extraLabels {
|
||||
assert.Equal(t, expected, state.Annotations["rule-"+key])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user