Alerting: Update GetTemplates to return sorted list of templates (#93933)

pull/93940/head
Yuri Tseretyan 8 months ago committed by GitHub
parent 157ded7c3f
commit 86faeae6d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      pkg/services/ngalert/provisioning/templates.go
  2. 2
      pkg/services/ngalert/provisioning/templates_test.go

@ -5,6 +5,9 @@ import (
"errors"
"fmt"
"hash/fnv"
"maps"
"slices"
"sort"
"unsafe"
"github.com/grafana/grafana/pkg/infra/log"
@ -48,12 +51,15 @@ func (t *TemplateService) GetTemplates(ctx context.Context, orgID int64) ([]defi
}
templates := make([]definitions.NotificationTemplate, 0, len(revision.Config.TemplateFiles))
for name, tmpl := range revision.Config.TemplateFiles {
names := slices.Collect(maps.Keys(revision.Config.TemplateFiles))
sort.Strings(names)
for _, name := range names {
content := revision.Config.TemplateFiles[name]
tmpl := definitions.NotificationTemplate{
UID: legacy_storage.NameToUid(name),
Name: name,
Template: tmpl,
ResourceVersion: calculateTemplateFingerprint(tmpl),
Template: content,
ResourceVersion: calculateTemplateFingerprint(content),
}
provenance, ok := provenances[tmpl.ResourceID()]
if !ok {

@ -68,7 +68,7 @@ func TestGetTemplates(t *testing.T) {
},
}
require.ElementsMatch(t, expected, result)
require.EqualValues(t, expected, result)
prov.AssertCalled(t, "GetProvenances", mock.Anything, orgID, (&definitions.NotificationTemplate{}).ResourceType())
prov.AssertExpectations(t)

Loading…
Cancel
Save