From c82df97bb2b586b0faf93389bd08d2548db6d325 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Tue, 21 May 2019 09:20:57 +0200 Subject: [PATCH] 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. --- pkg/api/metrics.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/api/metrics.go b/pkg/api/metrics.go index 6e5ae0f8761..5b988686cfb 100644 --- a/pkg/api/metrics.go +++ b/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,