@ -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" )
} )
} )
} )
}