Browse Source

testdata: scenarios returned are now sorted in a consistent way (#17181)

This makes sure the scenarios returned from API are sorted in a consistent
way and by that makes the values in scenario drop down always presented
ordered instead of jumping around.
Marcus Efraimsson 6 years ago
parent
commit
c82df97bb2
1 changed files with 9 additions and 1 deletions
  1. 9 1
      pkg/api/metrics.go

+ 9 - 1
pkg/api/metrics.go

@@ -2,6 +2,7 @@ package api
 
 import (
 	"context"
+	"sort"
 
 	"github.com/grafana/grafana/pkg/api/dtos"
 	"github.com/grafana/grafana/pkg/bus"
@@ -66,7 +67,14 @@ func (hs *HTTPServer) QueryMetrics(c *m.ReqContext, reqDto dtos.MetricRequest) R
 func GetTestDataScenarios(c *m.ReqContext) Response {
 	result := make([]interface{}, 0)
 
-	for _, scenario := range testdata.ScenarioRegistry {
+	scenarioIds := make([]string, 0)
+	for id := range testdata.ScenarioRegistry {
+		scenarioIds = append(scenarioIds, id)
+	}
+	sort.Strings(scenarioIds)
+
+	for _, scenarioId := range scenarioIds {
+		scenario := testdata.ScenarioRegistry[scenarioId]
 		result = append(result, map[string]interface{}{
 			"id":          scenario.Id,
 			"name":        scenario.Name,