2016-09-21 00:01:53 -05:00
|
|
|
package tsdb
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestTimeRange(t *testing.T) {
|
|
|
|
Convey("Time range", t, func() {
|
|
|
|
|
|
|
|
now := time.Now()
|
|
|
|
|
|
|
|
Convey("Can parse 5m, now", func() {
|
|
|
|
tr := TimeRange{
|
|
|
|
From: "5m",
|
|
|
|
To: "now",
|
2018-01-11 08:01:49 -06:00
|
|
|
now: now,
|
2016-09-21 00:01:53 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
Convey("5m ago ", func() {
|
|
|
|
fiveMinAgo, _ := time.ParseDuration("-5m")
|
|
|
|
expected := now.Add(fiveMinAgo)
|
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err := tr.ParseFrom()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldBeNil)
|
2016-09-21 06:41:25 -05:00
|
|
|
So(res.Unix(), ShouldEqual, expected.Unix())
|
2016-09-21 00:01:53 -05:00
|
|
|
})
|
|
|
|
|
|
|
|
Convey("now ", func() {
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err := tr.ParseTo()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldBeNil)
|
2016-09-21 06:41:25 -05:00
|
|
|
So(res.Unix(), ShouldEqual, now.Unix())
|
2016-09-21 00:01:53 -05:00
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
Convey("Can parse 5h, now-10m", func() {
|
|
|
|
tr := TimeRange{
|
|
|
|
From: "5h",
|
|
|
|
To: "now-10m",
|
2018-01-11 08:01:49 -06:00
|
|
|
now: now,
|
2016-09-21 00:01:53 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
Convey("5h ago ", func() {
|
2016-09-21 06:41:25 -05:00
|
|
|
fiveHourAgo, _ := time.ParseDuration("-5h")
|
|
|
|
expected := now.Add(fiveHourAgo)
|
2016-09-21 00:01:53 -05:00
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err := tr.ParseFrom()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldBeNil)
|
2016-09-21 06:41:25 -05:00
|
|
|
So(res.Unix(), ShouldEqual, expected.Unix())
|
2016-09-21 00:01:53 -05:00
|
|
|
})
|
|
|
|
|
|
|
|
Convey("now-10m ", func() {
|
2017-05-24 01:38:13 -05:00
|
|
|
tenMinAgo, _ := time.ParseDuration("-10m")
|
|
|
|
expected := now.Add(tenMinAgo)
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err := tr.ParseTo()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldBeNil)
|
2016-09-21 06:41:25 -05:00
|
|
|
So(res.Unix(), ShouldEqual, expected.Unix())
|
2016-09-21 00:01:53 -05:00
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2016-09-27 07:39:51 -05:00
|
|
|
Convey("can parse unix epocs", func() {
|
|
|
|
var err error
|
|
|
|
tr := TimeRange{
|
|
|
|
From: "1474973725473",
|
|
|
|
To: "1474975757930",
|
2018-01-11 08:01:49 -06:00
|
|
|
now: now,
|
2016-09-27 07:39:51 -05:00
|
|
|
}
|
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err := tr.ParseFrom()
|
2016-09-27 07:39:51 -05:00
|
|
|
So(err, ShouldBeNil)
|
2019-05-06 02:27:45 -05:00
|
|
|
So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474973725473))
|
2016-09-27 07:39:51 -05:00
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
res, err = tr.ParseTo()
|
2016-09-27 07:39:51 -05:00
|
|
|
So(err, ShouldBeNil)
|
2019-05-06 02:27:45 -05:00
|
|
|
So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474975757930))
|
2016-09-27 07:39:51 -05:00
|
|
|
})
|
|
|
|
|
2016-09-21 00:01:53 -05:00
|
|
|
Convey("Cannot parse asdf", func() {
|
|
|
|
var err error
|
|
|
|
tr := TimeRange{
|
|
|
|
From: "asdf",
|
|
|
|
To: "asdf",
|
2018-01-11 08:01:49 -06:00
|
|
|
now: now,
|
2016-09-21 00:01:53 -05:00
|
|
|
}
|
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
_, err = tr.ParseFrom()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldNotBeNil)
|
|
|
|
|
2016-09-27 11:17:39 -05:00
|
|
|
_, err = tr.ParseTo()
|
2016-09-21 00:01:53 -05:00
|
|
|
So(err, ShouldNotBeNil)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|