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

This commit is contained in:
Yuri Tseretyan 2024-09-27 13:49:37 -04:00 committed by GitHub
parent 157ded7c3f
commit 86faeae6d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 4 deletions

View File

@ -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 {

View File

@ -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)