From 00e7c7c4b725ed7249e15a3eaac3043fda1d9f68 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Fri, 27 Sep 2019 16:18:24 +0200 Subject: [PATCH] Testdata: Rename package to circumvent convention in go (#19409) Before this change the tests for test datasource was not run. --- pkg/api/metrics.go | 6 +++--- pkg/cmd/grafana-server/main.go | 2 +- pkg/tsdb/{testdata => testdatasource}/scenarios.go | 12 +++++++----- .../{testdata => testdatasource}/scenarios_test.go | 14 +++++++------- pkg/tsdb/{testdata => testdatasource}/testdata.go | 2 +- pkg/tsdb/{testdata => testdatasource}/utils.go | 2 +- .../datasource/testdata/partials/query.editor.html | 2 +- .../app/plugins/datasource/testdata/query_ctrl.ts | 3 ++- 8 files changed, 23 insertions(+), 20 deletions(-) rename pkg/tsdb/{testdata => testdatasource}/scenarios.go (98%) rename pkg/tsdb/{testdata => testdatasource}/scenarios_test.go (85%) rename pkg/tsdb/{testdata => testdatasource}/testdata.go (97%) rename pkg/tsdb/{testdata => testdatasource}/utils.go (94%) diff --git a/pkg/api/metrics.go b/pkg/api/metrics.go index a307ef877f4..fb13e5a1f22 100644 --- a/pkg/api/metrics.go +++ b/pkg/api/metrics.go @@ -9,7 +9,7 @@ import ( "github.com/grafana/grafana/pkg/components/simplejson" m "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/tsdb" - "github.com/grafana/grafana/pkg/tsdb/testdata" + "github.com/grafana/grafana/pkg/tsdb/testdatasource" "github.com/grafana/grafana/pkg/util" ) @@ -68,13 +68,13 @@ func GetTestDataScenarios(c *m.ReqContext) Response { result := make([]interface{}, 0) scenarioIds := make([]string, 0) - for id := range testdata.ScenarioRegistry { + for id := range testdatasource.ScenarioRegistry { scenarioIds = append(scenarioIds, id) } sort.Strings(scenarioIds) for _, scenarioId := range scenarioIds { - scenario := testdata.ScenarioRegistry[scenarioId] + scenario := testdatasource.ScenarioRegistry[scenarioId] result = append(result, map[string]interface{}{ "id": scenario.Id, "name": scenario.Name, diff --git a/pkg/cmd/grafana-server/main.go b/pkg/cmd/grafana-server/main.go index d836f9a7d70..93d0ac43a51 100644 --- a/pkg/cmd/grafana-server/main.go +++ b/pkg/cmd/grafana-server/main.go @@ -29,7 +29,7 @@ import ( _ "github.com/grafana/grafana/pkg/tsdb/postgres" _ "github.com/grafana/grafana/pkg/tsdb/prometheus" _ "github.com/grafana/grafana/pkg/tsdb/stackdriver" - _ "github.com/grafana/grafana/pkg/tsdb/testdata" + _ "github.com/grafana/grafana/pkg/tsdb/testdatasource" ) var version = "5.0.0" diff --git a/pkg/tsdb/testdata/scenarios.go b/pkg/tsdb/testdatasource/scenarios.go similarity index 98% rename from pkg/tsdb/testdata/scenarios.go rename to pkg/tsdb/testdatasource/scenarios.go index b560c034580..8b5ed2ba81e 100644 --- a/pkg/tsdb/testdata/scenarios.go +++ b/pkg/tsdb/testdatasource/scenarios.go @@ -1,4 +1,4 @@ -package testdata +package testdatasource import ( "encoding/json" @@ -10,6 +10,7 @@ import ( "time" "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/util/errutil" "github.com/grafana/grafana/pkg/components/null" "github.com/grafana/grafana/pkg/infra/log" @@ -188,11 +189,11 @@ func init() { value = null.FloatFrom(valueFloat) } - if timeInt, err := strconv.ParseInt(string(pointValues[1].(json.Number)), 10, 64); err != nil { + timeInt, err := strconv.ParseInt(string(pointValues[1].(json.Number)), 10, 64) + if err != nil { continue - } else { - time = timeInt } + time = timeInt if time >= startTime && time <= endTime { series.Points = append(series.Points, tsdb.NewTimePoint(value, float64(time))) @@ -447,7 +448,7 @@ func getPredictableCSVWave(query *tsdb.Query, context *tsdb.TsdbQuery) *tsdb.Que for i, rawValue := range rawValesCSV { val, err := null.FloatFromString(strings.TrimSpace(rawValue), "null") if err != nil { - queryRes.Error = fmt.Errorf("failed to parse value '%v' into nullable float: err", rawValue, err) + queryRes.Error = errutil.Wrapf(err, "failed to parse value '%v' into nullable float", rawValue) return queryRes } values[i] = val @@ -558,6 +559,7 @@ func parseLabels(text string) map[string]string { idx := strings.Index(keyval, "=") key := strings.TrimSpace(keyval[:idx]) val := strings.TrimSpace(keyval[idx+1:]) + val = strings.Trim(val, "\"") tags[key] = val } diff --git a/pkg/tsdb/testdata/scenarios_test.go b/pkg/tsdb/testdatasource/scenarios_test.go similarity index 85% rename from pkg/tsdb/testdata/scenarios_test.go rename to pkg/tsdb/testdatasource/scenarios_test.go index 610ba624f3d..313d4935bd3 100644 --- a/pkg/tsdb/testdata/scenarios_test.go +++ b/pkg/tsdb/testdatasource/scenarios_test.go @@ -1,4 +1,4 @@ -package testdata +package testdatasource import ( "testing" @@ -11,7 +11,7 @@ import ( func TestTestdataScenarios(t *testing.T) { Convey("random walk ", t, func() { - scenario, _ := ScenarioRegistry["random_walk"] + scenario := ScenarioRegistry["random_walk"] Convey("Should start at the requested value", func() { req := &tsdb.TsdbQuery{ @@ -32,7 +32,7 @@ func TestTestdataScenarios(t *testing.T) { }) Convey("random walk table", t, func() { - scenario, _ := ScenarioRegistry["random_walk_table"] + scenario := ScenarioRegistry["random_walk_table"] Convey("Should return a table that looks like value/min/max", func() { req := &tsdb.TsdbQuery{ @@ -99,9 +99,9 @@ func TestToLabels(t *testing.T) { tags["job"] = "foo" tags["instance"] = "bar" - So(parseLabels(`{job="foo", instance="bar"}`), ShouldEqual, tags) - So(parseLabels(`job="foo", instance="bar"`), ShouldEqual, tags) - So(parseLabels(`job=foo, instance=bar`), ShouldEqual, tags) - So(parseLabels(`job = foo,instance = bar`), ShouldEqual, tags) + So(parseLabels(`{job="foo", instance="bar"}`), ShouldResemble, tags) + So(parseLabels(`job="foo", instance="bar"`), ShouldResemble, tags) + So(parseLabels(`job=foo, instance=bar`), ShouldResemble, tags) + So(parseLabels(`job = foo,instance = bar`), ShouldResemble, tags) }) } diff --git a/pkg/tsdb/testdata/testdata.go b/pkg/tsdb/testdatasource/testdata.go similarity index 97% rename from pkg/tsdb/testdata/testdata.go rename to pkg/tsdb/testdatasource/testdata.go index 11b25c73542..26a0df51d8d 100644 --- a/pkg/tsdb/testdata/testdata.go +++ b/pkg/tsdb/testdatasource/testdata.go @@ -1,4 +1,4 @@ -package testdata +package testdatasource import ( "context" diff --git a/pkg/tsdb/testdata/utils.go b/pkg/tsdb/testdatasource/utils.go similarity index 94% rename from pkg/tsdb/testdata/utils.go rename to pkg/tsdb/testdatasource/utils.go index 85c02e8a296..12a12999f99 100644 --- a/pkg/tsdb/testdata/utils.go +++ b/pkg/tsdb/testdatasource/utils.go @@ -1,4 +1,4 @@ -package testdata +package testdatasource import ( "math/rand" diff --git a/public/app/plugins/datasource/testdata/partials/query.editor.html b/public/app/plugins/datasource/testdata/partials/query.editor.html index 197123deb70..86fe9df07da 100644 --- a/public/app/plugins/datasource/testdata/partials/query.editor.html +++ b/public/app/plugins/datasource/testdata/partials/query.editor.html @@ -35,7 +35,7 @@ - + diff --git a/public/app/plugins/datasource/testdata/query_ctrl.ts b/public/app/plugins/datasource/testdata/query_ctrl.ts index 46d7003e985..9d7f549b7f1 100644 --- a/public/app/plugins/datasource/testdata/query_ctrl.ts +++ b/public/app/plugins/datasource/testdata/query_ctrl.ts @@ -3,7 +3,7 @@ import _ from 'lodash'; import { QueryCtrl } from 'app/plugins/sdk'; import { defaultQuery } from './runStreams'; import { getBackendSrv } from 'app/core/services/backend_srv'; -import { dateTime } from '@grafana/data'; +import { dateTime, dateMath } from '@grafana/data'; export const defaultPulse: any = { timeStep: 60, @@ -63,6 +63,7 @@ export class TestDataQueryCtrl extends QueryCtrl { addPoint() { this.target.points = this.target.points || []; + this.newPointTime = dateMath.parse(this.newPointTime); this.target.points.push([this.newPointValue, this.newPointTime.valueOf()]); this.target.points = _.sortBy(this.target.points, p => p[1]); this.refresh();