mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			96 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
| 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",
 | |
| 				Now:  now,
 | |
| 			}
 | |
| 
 | |
| 			Convey("5m ago ", func() {
 | |
| 				fiveMinAgo, _ := time.ParseDuration("-5m")
 | |
| 				expected := now.Add(fiveMinAgo)
 | |
| 
 | |
| 				res, err := tr.FromTime()
 | |
| 				So(err, ShouldBeNil)
 | |
| 				So(res.Unix(), ShouldEqual, expected.Unix())
 | |
| 			})
 | |
| 
 | |
| 			Convey("now ", func() {
 | |
| 				res, err := tr.ToTime()
 | |
| 				So(err, ShouldBeNil)
 | |
| 				So(res.Unix(), ShouldEqual, now.Unix())
 | |
| 			})
 | |
| 		})
 | |
| 
 | |
| 		Convey("Can parse 5h, now-10m", func() {
 | |
| 			tr := TimeRange{
 | |
| 				From: "5h",
 | |
| 				To:   "now-10m",
 | |
| 				Now:  now,
 | |
| 			}
 | |
| 
 | |
| 			Convey("5h ago ", func() {
 | |
| 				fiveHourAgo, _ := time.ParseDuration("-5h")
 | |
| 				expected := now.Add(fiveHourAgo)
 | |
| 
 | |
| 				res, err := tr.FromTime()
 | |
| 				So(err, ShouldBeNil)
 | |
| 				So(res.Unix(), ShouldEqual, expected.Unix())
 | |
| 			})
 | |
| 
 | |
| 			Convey("now-10m ", func() {
 | |
| 				fiveMinAgo, _ := time.ParseDuration("-10m")
 | |
| 				expected := now.Add(fiveMinAgo)
 | |
| 				res, err := tr.ToTime()
 | |
| 				So(err, ShouldBeNil)
 | |
| 				So(res.Unix(), ShouldEqual, expected.Unix())
 | |
| 			})
 | |
| 		})
 | |
| 
 | |
| 		Convey("can parse unix epocs", func() {
 | |
| 			var err error
 | |
| 			tr := TimeRange{
 | |
| 				From: "1474973725473",
 | |
| 				To:   "1474975757930",
 | |
| 				Now:  now,
 | |
| 			}
 | |
| 
 | |
| 			res, err := tr.FromTime()
 | |
| 			So(err, ShouldBeNil)
 | |
| 			So(res.Unix(), ShouldEqual, 1474973725473)
 | |
| 
 | |
| 			res, err = tr.ToTime()
 | |
| 			So(err, ShouldBeNil)
 | |
| 			So(res.Unix(), ShouldEqual, 1474975757930)
 | |
| 		})
 | |
| 
 | |
| 		Convey("Cannot parse asdf", func() {
 | |
| 			var err error
 | |
| 			tr := TimeRange{
 | |
| 				From: "asdf",
 | |
| 				To:   "asdf",
 | |
| 				Now:  now,
 | |
| 			}
 | |
| 
 | |
| 			_, err = tr.FromTime()
 | |
| 			So(err, ShouldNotBeNil)
 | |
| 
 | |
| 			_, err = tr.ToTime()
 | |
| 			So(err, ShouldNotBeNil)
 | |
| 		})
 | |
| 	})
 | |
| }
 |