Skip to content

Commit 1977b91

Browse files
committed
* added change on provisioning request so response returns saved value
* added tests to verify create+update response value is OK
1 parent d476079 commit 1977b91

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

pkg/services/ngalert/provisioning/alert_rules.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ func (service *AlertRuleService) CreateAlertRule(ctx context.Context, rule model
157157
}
158158
}
159159
}
160+
rule.ExecErrState = models.OkErrState // LOGZ.IO GRAFANA CHANGE :: DEV-46410 - Change default ExecErrState to OK and enforce OK value
160161
err = service.xact.InTransaction(ctx, func(ctx context.Context) error {
161162
ids, err := service.ruleStore.InsertAlertRules(ctx, []models.AlertRule{
162163
rule,
@@ -411,6 +412,7 @@ func (service *AlertRuleService) UpdateAlertRule(ctx context.Context, rule model
411412
rule.Updated = time.Now()
412413
rule.ID = storedRule.ID
413414
rule.IntervalSeconds = storedRule.IntervalSeconds
415+
rule.ExecErrState = models.OkErrState // LOGZ.IO GRAFANA CHANGE :: DEV-46410 - Change default ExecErrState to OK and enforce OK value
414416
err = rule.SetDashboardAndPanelFromAnnotations()
415417
if err != nil {
416418
return models.AlertRule{}, err

pkg/services/ngalert/provisioning/alert_rules_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,20 @@ func TestAlertRuleService(t *testing.T) {
6868
require.NoError(t, err)
6969
})
7070

71+
// LOGZ.IO GRAFANA CHANGE :: DEV-46410 - Change default ExecErrState to OK and enforce OK value
72+
t.Run("update alert rule ExecErrState enforces OK state", func(t *testing.T) {
73+
rule := dummyRule("test-update-errstate", orgID)
74+
rule, err := ruleService.CreateAlertRule(context.Background(), rule, models.ProvenanceNone, 0)
75+
require.NoError(t, err)
76+
require.Equal(t, models.OkErrState, rule.ExecErrState)
77+
78+
rule.ExecErrState = models.ErrorErrState
79+
rule, err = ruleService.UpdateAlertRule(context.Background(), rule, models.ProvenanceNone)
80+
require.NoError(t, err)
81+
require.Equal(t, models.OkErrState, rule.ExecErrState)
82+
})
83+
// LOGZ.IO GRAFANA CHANGE :: End
84+
7185
t.Run("group creation should propagate group title correctly", func(t *testing.T) {
7286
group := createDummyGroup("group-test-3", orgID)
7387
group.Rules[0].RuleGroup = "something different"
@@ -556,6 +570,16 @@ func TestCreateAlertRule(t *testing.T) {
556570
require.NoError(t, err)
557571
})
558572
})
573+
574+
// LOGZ.IO GRAFANA CHANGE :: DEV-46410 - Change default ExecErrState to OK and enforce OK value
575+
t.Run("should create rule with OK state enforced", func(t *testing.T) {
576+
rule := dummyRule("test-create-errstate", orgID)
577+
rule.ExecErrState = models.AlertingErrState
578+
rule, err := ruleService.CreateAlertRule(context.Background(), rule, models.ProvenanceNone, 0)
579+
require.NoError(t, err)
580+
require.Equal(t, models.OkErrState, rule.ExecErrState)
581+
})
582+
// LOGZ.IO GRAFANA CHANGE :: End
559583
}
560584

561585
func createAlertRuleService(t *testing.T) AlertRuleService {

0 commit comments

Comments
 (0)