|
|
@@ -8,6 +8,7 @@ import (
|
|
|
)
|
|
|
|
|
|
func TestInfluxdbQueryBuilder(t *testing.T) {
|
|
|
+
|
|
|
Convey("Influxdb query builder", t, func() {
|
|
|
builder := QueryBuilder{}
|
|
|
|
|
|
@@ -31,6 +32,7 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
|
|
|
Policy: "policy",
|
|
|
GroupBy: []*QueryPart{groupBy1, groupBy2},
|
|
|
Interval: "10s",
|
|
|
+ TimeRange: tsdb.TimeRange{From: "5m"},
|
|
|
}
|
|
|
|
|
|
rawQuery, err := builder.Build(query, queryContext)
|
|
|
@@ -45,11 +47,24 @@ func TestInfluxdbQueryBuilder(t *testing.T) {
|
|
|
GroupBy: []*QueryPart{groupBy1},
|
|
|
Tags: []*Tag{tag1, tag2},
|
|
|
Interval: "5s",
|
|
|
+ TimeRange: tsdb.TimeRange{From: "1h", To: "now-1m"},
|
|
|
}
|
|
|
|
|
|
rawQuery, err := builder.Build(query, queryContext)
|
|
|
So(err, ShouldBeNil)
|
|
|
- So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "cpu" WHERE "hostname" = 'server1' OR "hostname" = 'server2' AND time > now() - 5m GROUP BY time(10s)`)
|
|
|
+ So(rawQuery, ShouldEqual, `SELECT mean("value") FROM "cpu" WHERE "hostname" = 'server1' OR "hostname" = 'server2' AND time > now() - 1h and time < now() - 1m GROUP BY time(10s)`)
|
|
|
+ })
|
|
|
+
|
|
|
+ Convey("can render time range", func() {
|
|
|
+ Convey("render from: 2h to now-1h", func() {
|
|
|
+ query := Query{TimeRange: tsdb.TimeRange{From: "2h", To: "now-1h"}}
|
|
|
+ So(renderTimeFilter(&query), ShouldEqual, "time > now() - 2h and time < now() - 1h")
|
|
|
+ })
|
|
|
+
|
|
|
+ Convey("render from: 10m", func() {
|
|
|
+ query := Query{TimeRange: tsdb.TimeRange{From: "10m"}}
|
|
|
+ So(renderTimeFilter(&query), ShouldEqual, "time > now() - 10m")
|
|
|
+ })
|
|
|
})
|
|
|
})
|
|
|
}
|