Alerting: Code-gen parsing of URL parameters and fix related bugs (#50731)
* Extend template and generate * Generate and fix up alertmanager endpoints * Prometheus routes * fix up Testing endpoints * touch up ruler API * Update provisioning and fix 500 * Drop dead code * Remove more dead code * Resolve merge conflicts
This commit is contained in:
@@ -128,13 +128,23 @@ func TestProvisioningApi(t *testing.T) {
|
||||
rc := createTestRequestCtx()
|
||||
cp := createInvalidContactPoint()
|
||||
|
||||
response := sut.RoutePutContactPoint(&rc, cp)
|
||||
response := sut.RoutePutContactPoint(&rc, cp, "email-uid")
|
||||
|
||||
require.Equal(t, 400, response.Status())
|
||||
require.NotEmpty(t, response.Body())
|
||||
require.Contains(t, string(response.Body()), "recipient must be specified")
|
||||
})
|
||||
})
|
||||
|
||||
t.Run("are missing, PUT returns 404", func(t *testing.T) {
|
||||
sut := createProvisioningSrvSut(t)
|
||||
rc := createTestRequestCtx()
|
||||
cp := createInvalidContactPoint()
|
||||
|
||||
response := sut.RoutePutContactPoint(&rc, cp, "does not exist")
|
||||
|
||||
require.Equal(t, 404, response.Status())
|
||||
})
|
||||
})
|
||||
|
||||
t.Run("templates", func(t *testing.T) {
|
||||
@@ -142,10 +152,9 @@ func TestProvisioningApi(t *testing.T) {
|
||||
t.Run("PUT returns 400", func(t *testing.T) {
|
||||
sut := createProvisioningSrvSut(t)
|
||||
rc := createTestRequestCtx()
|
||||
withURLParams(rc, namePathParam, "test")
|
||||
tmpl := definitions.MessageTemplateContent{Template: ""}
|
||||
|
||||
response := sut.RoutePutTemplate(&rc, tmpl)
|
||||
response := sut.RoutePutTemplate(&rc, tmpl, "test")
|
||||
|
||||
require.Equal(t, 400, response.Status())
|
||||
require.NotEmpty(t, response.Body())
|
||||
@@ -171,10 +180,9 @@ func TestProvisioningApi(t *testing.T) {
|
||||
t.Run("PUT returns 400", func(t *testing.T) {
|
||||
sut := createProvisioningSrvSut(t)
|
||||
rc := createTestRequestCtx()
|
||||
withURLParams(rc, namePathParam, "interval")
|
||||
mti := createInvalidMuteTiming()
|
||||
|
||||
response := sut.RoutePutMuteTiming(&rc, mti)
|
||||
response := sut.RoutePutMuteTiming(&rc, mti, "interval")
|
||||
|
||||
require.Equal(t, 400, response.Status())
|
||||
require.NotEmpty(t, response.Body())
|
||||
@@ -185,10 +193,9 @@ func TestProvisioningApi(t *testing.T) {
|
||||
t.Run("are missing, PUT returns 404", func(t *testing.T) {
|
||||
sut := createProvisioningSrvSut(t)
|
||||
rc := createTestRequestCtx()
|
||||
withURLParams(rc, namePathParam, "does not exist")
|
||||
mti := definitions.MuteTimeInterval{}
|
||||
|
||||
response := sut.RoutePutMuteTiming(&rc, mti)
|
||||
response := sut.RoutePutMuteTiming(&rc, mti, "does not exist")
|
||||
|
||||
require.Equal(t, 404, response.Status())
|
||||
})
|
||||
@@ -214,7 +221,7 @@ func TestProvisioningApi(t *testing.T) {
|
||||
insertRule(t, sut, createTestAlertRule("rule", 1))
|
||||
rule := createInvalidAlertRule()
|
||||
|
||||
response := sut.RoutePutAlertRule(&rc, rule)
|
||||
response := sut.RoutePutAlertRule(&rc, rule, "rule")
|
||||
|
||||
require.Equal(t, 400, response.Status())
|
||||
require.NotEmpty(t, response.Body())
|
||||
@@ -227,7 +234,7 @@ func TestProvisioningApi(t *testing.T) {
|
||||
rc := createTestRequestCtx()
|
||||
rule := createTestAlertRule("rule", 1)
|
||||
|
||||
response := sut.RoutePutAlertRule(&rc, rule)
|
||||
response := sut.RoutePutAlertRule(&rc, rule, "does not exist")
|
||||
|
||||
require.Equal(t, 404, response.Status())
|
||||
})
|
||||
@@ -274,12 +281,6 @@ func createTestRequestCtx() gfcore.ReqContext {
|
||||
}
|
||||
}
|
||||
|
||||
func withURLParams(rc gfcore.ReqContext, key, value string) {
|
||||
params := web.Params(rc.Req)
|
||||
params[key] = value
|
||||
rc.Req = web.SetURLParams(rc.Req, params)
|
||||
}
|
||||
|
||||
type fakeNotificationPolicyService struct {
|
||||
tree definitions.Route
|
||||
prov models.Provenance
|
||||
@@ -407,7 +408,7 @@ var testConfig = `
|
||||
"receivers": [{
|
||||
"name": "grafana-default-email",
|
||||
"grafana_managed_receiver_configs": [{
|
||||
"uid": "",
|
||||
"uid": "email-uid",
|
||||
"name": "email receiver",
|
||||
"type": "email",
|
||||
"isDefault": true,
|
||||
|
||||
Reference in New Issue
Block a user