From 118e2a63644c554a83c17f900b67039d02476d43 Mon Sep 17 00:00:00 2001 From: bergquist Date: Fri, 11 Nov 2016 12:35:09 +0100 Subject: [PATCH] WIP: more boilerplate --- pkg/tsdb/mqe/model_parser.go | 12 ++++++ pkg/tsdb/mqe/model_parser_test.go | 67 +++++++++++++++++++++++++++++++ pkg/tsdb/mqe/types.go | 6 +++ 3 files changed, 85 insertions(+) create mode 100644 pkg/tsdb/mqe/model_parser.go create mode 100644 pkg/tsdb/mqe/model_parser_test.go diff --git a/pkg/tsdb/mqe/model_parser.go b/pkg/tsdb/mqe/model_parser.go new file mode 100644 index 00000000000..9c9b877f7a4 --- /dev/null +++ b/pkg/tsdb/mqe/model_parser.go @@ -0,0 +1,12 @@ +package mqe + +import ( + "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/tsdb" +) + +type MQEQueryParser struct{} + +func (qp *MQEQueryParser) Parse(model *simplejson.Json, dsInfo *tsdb.DataSourceInfo) (*MQEQuery, error) { + return nil, nil +} diff --git a/pkg/tsdb/mqe/model_parser_test.go b/pkg/tsdb/mqe/model_parser_test.go new file mode 100644 index 00000000000..13329e4c662 --- /dev/null +++ b/pkg/tsdb/mqe/model_parser_test.go @@ -0,0 +1,67 @@ +package mqe + +import ( + "testing" + + "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/tsdb" + . "github.com/smartystreets/goconvey/convey" +) + +func TestMQEQueryParser(t *testing.T) { + Convey("MQE query parser", t, func() { + parser := &MQEQueryParser{} + + dsInfo := &tsdb.DataSourceInfo{ + JsonData: simplejson.New(), + } + + Convey("can parse simple mqe model", func() { + json := ` + { + "apps": [], + "hosts": [ + "staples-lab-1" + ], + "metric": "$metric_cpu", + "metrics": [ + { + "metric": "$metric_cpu" + } + ], + "rawQuery": "", + "refId": "A" + } + ` + modelJson, err := simplejson.NewJson([]byte(json)) + So(err, ShouldBeNil) + + res, err := parser.Parse(modelJson, dsInfo) + So(err, ShouldBeNil) + So(res.Interval, ShouldEqual, ">20s") + }) + + Convey("can parse multi serie mqe model", func() { + json := ` + { + "apps": [], + "hosts": [ + "staples-lab-1" + ], + "metrics": [ + { + "metric": "os.cpu.all.active_percentage" + }, + { + "metric": "os.disk.sda.io_time" + } + ], + "rawQuery": "", + "refId": "A", + "addAppToAlias": true, + "addHostToAlias": true + } + ` + }) + }) +} diff --git a/pkg/tsdb/mqe/types.go b/pkg/tsdb/mqe/types.go index c6a5b37aeff..eaebd89993c 100644 --- a/pkg/tsdb/mqe/types.go +++ b/pkg/tsdb/mqe/types.go @@ -1 +1,7 @@ package mqe + +type MQEQuery struct { + Metrics []string + Hosts []string + Apps []string +}