|
|
|
@ -16,8 +16,6 @@ func TestMQEQueryParser(t *testing.T) { |
|
|
|
|
JsonData: simplejson.New(), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
queryContext := &tsdb.QueryContext{} |
|
|
|
|
|
|
|
|
|
Convey("can parse simple mqe model", func() { |
|
|
|
|
json := ` |
|
|
|
|
{ |
|
|
|
@ -39,15 +37,19 @@ func TestMQEQueryParser(t *testing.T) { |
|
|
|
|
|
|
|
|
|
query, err := parser.Parse(modelJson, dsInfo) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
So(query.UseRawQuery, ShouldBeFalse) |
|
|
|
|
|
|
|
|
|
rawQuery := query.Build(queryContext) |
|
|
|
|
So(rawQuery, ShouldEqual, "") |
|
|
|
|
So(len(query.Apps), ShouldEqual, 0) |
|
|
|
|
So(query.Hosts[0], ShouldEqual, "staples-lab-1") |
|
|
|
|
So(query.Metrics[0].Metric, ShouldEqual, "os.cpu.all*") |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("can parse multi serie mqe model", func() { |
|
|
|
|
json := ` |
|
|
|
|
{ |
|
|
|
|
"apps": [], |
|
|
|
|
"apps": [ |
|
|
|
|
"demoapp" |
|
|
|
|
], |
|
|
|
|
"hosts": [ |
|
|
|
|
"staples-lab-1" |
|
|
|
|
], |
|
|
|
@ -65,8 +67,53 @@ func TestMQEQueryParser(t *testing.T) { |
|
|
|
|
"addHostToAlias": true |
|
|
|
|
} |
|
|
|
|
` |
|
|
|
|
modelJson, err := simplejson.NewJson([]byte(json)) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
query, err := parser.Parse(modelJson, dsInfo) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
So(query.UseRawQuery, ShouldBeFalse) |
|
|
|
|
So(query.Apps[0], ShouldEqual, "demoapp") |
|
|
|
|
So(query.Metrics[0].Metric, ShouldEqual, "os.cpu.all.active_percentage") |
|
|
|
|
So(query.Metrics[1].Metric, ShouldEqual, "os.disk.sda.io_time") |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("can parse raw query", func() { |
|
|
|
|
json := ` |
|
|
|
|
{ |
|
|
|
|
"addAppToAlias": true, |
|
|
|
|
"addHostToAlias": true, |
|
|
|
|
"apps": [], |
|
|
|
|
"hosts": [ |
|
|
|
|
"staples-lab-1" |
|
|
|
|
], |
|
|
|
|
"metrics": [ |
|
|
|
|
{ |
|
|
|
|
"alias": "cpu active", |
|
|
|
|
"metric": "os.cpu.all.active_percentage" |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"alias": "disk sda time", |
|
|
|
|
"metric": "os.disk.sda.io_time" |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"rawQuery": true, |
|
|
|
|
"query": "raw-query", |
|
|
|
|
"refId": "A", |
|
|
|
|
"addAppToAlias": true, |
|
|
|
|
"addHostToAlias": true |
|
|
|
|
} |
|
|
|
|
` |
|
|
|
|
modelJson, err := simplejson.NewJson([]byte(json)) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
query, err := parser.Parse(modelJson, dsInfo) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
So(json, ShouldNotBeNil) |
|
|
|
|
So(query.UseRawQuery, ShouldBeTrue) |
|
|
|
|
So(query.RawQuery, ShouldEqual, "raw-query") |
|
|
|
|
So(query.AddAppToAlias, ShouldBeTrue) |
|
|
|
|
So(query.AddHostToAlias, ShouldBeTrue) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|