Alerting: Update GetRuleGroupAlertRules to accept optional rule group (#46889)
* rename GetRuleGroupAlertRules to GetAlertRules * make rule group optional in GetAlertRulesQuery * simplify FakeStore. the current structure did not support optional rule group
This commit is contained in:
@@ -139,12 +139,12 @@ func (srv RulerSrv) RouteGetRulegGroupConfig(c *models.ReqContext) response.Resp
|
||||
}
|
||||
|
||||
ruleGroup := web.Params(c.Req)[":Groupname"]
|
||||
q := ngmodels.ListRuleGroupAlertRulesQuery{
|
||||
q := ngmodels.GetAlertRulesQuery{
|
||||
OrgID: c.SignedInUser.OrgId,
|
||||
NamespaceUID: namespace.Uid,
|
||||
RuleGroup: ruleGroup,
|
||||
RuleGroup: &ruleGroup,
|
||||
}
|
||||
if err := srv.store.GetRuleGroupAlertRules(c.Req.Context(), &q); err != nil {
|
||||
if err := srv.store.GetAlertRules(c.Req.Context(), &q); err != nil {
|
||||
return ErrResp(http.StatusInternalServerError, err, "failed to get group alert rules")
|
||||
}
|
||||
|
||||
@@ -419,12 +419,12 @@ func (c *changes) isEmpty() bool {
|
||||
// calculateChanges calculates the difference between rules in the group in the database and the submitted rules. If a submitted rule has UID it tries to find it in the database (in other groups).
|
||||
// returns a list of rules that need to be added, updated and deleted. Deleted considered rules in the database that belong to the group but do not exist in the list of submitted rules.
|
||||
func calculateChanges(ctx context.Context, ruleStore store.RuleStore, orgId int64, namespace *models.Folder, ruleGroupName string, submittedRules []*ngmodels.AlertRule) (*changes, error) {
|
||||
q := &ngmodels.ListRuleGroupAlertRulesQuery{
|
||||
q := &ngmodels.GetAlertRulesQuery{
|
||||
OrgID: orgId,
|
||||
NamespaceUID: namespace.Uid,
|
||||
RuleGroup: ruleGroupName,
|
||||
RuleGroup: &ruleGroupName,
|
||||
}
|
||||
if err := ruleStore.GetRuleGroupAlertRules(ctx, q); err != nil {
|
||||
if err := ruleStore.GetAlertRules(ctx, q); err != nil {
|
||||
return nil, fmt.Errorf("failed to query database for rules in the group %s: %w", ruleGroupName, err)
|
||||
}
|
||||
existingGroupRules := q.Result
|
||||
|
||||
@@ -221,7 +221,7 @@ func TestCalculateChanges(t *testing.T) {
|
||||
expectedErr := errors.New("TEST ERROR")
|
||||
fakeStore.Hook = func(cmd interface{}) error {
|
||||
switch cmd.(type) {
|
||||
case models.ListRuleGroupAlertRulesQuery:
|
||||
case models.GetAlertRulesQuery:
|
||||
return expectedErr
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user