Alerting: Use alerting.GrafanaAlertmanager instead of initialising Alertmanager components directly (#61230)

* Alerting: Use `alerting.GrafanaAlertmanager` instead of initialising Alertmanager components directly
This commit is contained in:
gotjosh
2023-01-13 12:54:38 -04:00
committed by GitHub
parent 58c4c95e92
commit e7cd6eb13c
11 changed files with 256 additions and 843 deletions
+2 -2
View File
@@ -288,7 +288,7 @@ func (srv AlertmanagerSrv) RoutePostTestReceivers(c *models.ReqContext, body api
result, err := am.TestReceivers(ctx, body)
if err != nil {
if errors.Is(err, notifier.ErrNoReceivers) {
if errors.Is(err, alerting.ErrNoReceivers) {
return response.Error(http.StatusBadRequest, "", err)
}
return response.Error(http.StatusInternalServerError, "", err)
@@ -362,7 +362,7 @@ func statusForTestReceivers(v []notifier.TestReceiverResult) int {
if next.Error != nil {
var (
invalidReceiverErr notifier.InvalidReceiverError
receiverTimeoutErr notifier.ReceiverTimeoutError
receiverTimeoutErr alerting.ReceiverTimeoutError
)
if errors.As(next.Error, &invalidReceiverErr) {
numBadRequests += 1
@@ -9,6 +9,7 @@ import (
"time"
"github.com/go-openapi/strfmt"
"github.com/grafana/alerting/alerting"
amv2 "github.com/prometheus/alertmanager/api/v2/models"
"github.com/prometheus/client_golang/prometheus"
"github.com/stretchr/testify/require"
@@ -127,7 +128,7 @@ func TestStatusForTestReceivers(t *testing.T) {
Name: "test1",
UID: "uid1",
Status: "failed",
Error: notifier.ReceiverTimeoutError{},
Error: alerting.ReceiverTimeoutError{},
}},
}, {
Name: "test2",
@@ -135,7 +136,7 @@ func TestStatusForTestReceivers(t *testing.T) {
Name: "test2",
UID: "uid2",
Status: "failed",
Error: notifier.ReceiverTimeoutError{},
Error: alerting.ReceiverTimeoutError{},
}},
}}))
})