grafana_bak/pkg/services/ngalert/metrics/alertmanager_test.go
2025-04-01 10:38:02 +09:00

35 lines
808 B
Go

package metrics
import (
"testing"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/prometheus/client_golang/prometheus"
"github.com/stretchr/testify/require"
)
func Test_NewAlertmanagerConfigMetrics(t *testing.T) {
t.Run("Successfully registers collectors despite previous call", func(t *testing.T) {
r := prometheus.NewRegistry()
l := log.NewNopLogger()
require.NotPanics(t, func() {
for i := 0; i < 3; i++ {
m := NewAlertmanagerConfigMetrics(r, l)
m.ConfigHash.WithLabelValues("test").Set(1)
m.Matchers.Set(1)
m.MatchRE.Set(1)
m.Match.Set(1)
m.ObjectMatchers.Set(1)
mf, err := r.Gather()
require.NoError(t, err)
for j := 0; j < len(mf); j++ {
require.Equal(t, float64(1), mf[j].GetMetric()[0].GetGauge().GetValue())
}
}
})
})
}