Alerting: validate that the receiver exist when updating routing tree (#51561)
* Alerting: validate that the receiver exist when updating routing tree * rename interface * add missing file * change constructor * fix e2e tests * only import package once * add unit test for bug * wording * close response body * Update pkg/services/ngalert/api/tooling/definitions/alertmanager_validation.go * refactor to remove database roundtrip
This commit is contained in:
committed by
GitHub
parent
578ab71ba9
commit
e64cde8727
@@ -44,13 +44,32 @@ func TestProvisioning(t *testing.T) {
|
||||
url := fmt.Sprintf("http://%s/api/v1/provisioning/policies", grafanaListedAddr)
|
||||
body := `
|
||||
{
|
||||
"receiver": "grafana-default-email",
|
||||
"receiver": "test-receiver",
|
||||
"group_by": [
|
||||
"..."
|
||||
],
|
||||
"routes": []
|
||||
}`
|
||||
|
||||
// As we check if the receiver exists that is referenced in the policy,
|
||||
// we first need to create it, so the tests passes correctly.
|
||||
urlReceiver := fmt.Sprintf("http://%s/api/v1/provisioning/contact-points", grafanaListedAddr)
|
||||
bodyReceiver := `
|
||||
{
|
||||
"name": "test-receiver",
|
||||
"type": "slack",
|
||||
"settings": {
|
||||
"recipient": "value_recipient",
|
||||
"token": "value_token"
|
||||
}
|
||||
}`
|
||||
|
||||
req := createTestRequest("POST", urlReceiver, "admin", bodyReceiver)
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, resp.Body.Close())
|
||||
require.Equal(t, 202, resp.StatusCode)
|
||||
|
||||
t.Run("un-authenticated GET should 401", func(t *testing.T) {
|
||||
req := createTestRequest("GET", url, "", "")
|
||||
|
||||
@@ -127,7 +146,6 @@ func TestProvisioning(t *testing.T) {
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, resp.Body.Close())
|
||||
|
||||
require.Equal(t, 202, resp.StatusCode)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user