mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| package tsdb
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	. "github.com/smartystreets/goconvey/convey"
 | |
| )
 | |
| 
 | |
| func TestSqlEngine(t *testing.T) {
 | |
| 	Convey("SqlEngine", t, func() {
 | |
| 		Convey("Given row values with time columns when converting them", func() {
 | |
| 			dt := time.Date(2018, 3, 14, 21, 20, 6, 527e6, time.UTC)
 | |
| 			fixtures := make([]interface{}, 8)
 | |
| 			fixtures[0] = dt
 | |
| 			fixtures[1] = dt.Unix() * 1000
 | |
| 			fixtures[2] = dt.Unix()
 | |
| 			fixtures[3] = float64(dt.Unix() * 1000)
 | |
| 			fixtures[4] = float64(dt.Unix())
 | |
| 
 | |
| 			var nilDt *time.Time
 | |
| 			var nilInt64 *int64
 | |
| 			var nilFloat64 *float64
 | |
| 			fixtures[5] = nilDt
 | |
| 			fixtures[6] = nilInt64
 | |
| 			fixtures[7] = nilFloat64
 | |
| 
 | |
| 			for i := range fixtures {
 | |
| 				ConvertSqlTimeColumnToEpochMs(fixtures, i)
 | |
| 			}
 | |
| 
 | |
| 			Convey("Should convert sql time columns to epoch time in ms ", func() {
 | |
| 				expected := float64(dt.Unix() * 1000)
 | |
| 				So(fixtures[0].(float64), ShouldEqual, expected)
 | |
| 				So(fixtures[1].(int64), ShouldEqual, expected)
 | |
| 				So(fixtures[2].(int64), ShouldEqual, expected)
 | |
| 				So(fixtures[3].(float64), ShouldEqual, expected)
 | |
| 				So(fixtures[4].(float64), ShouldEqual, expected)
 | |
| 
 | |
| 				So(fixtures[5], ShouldBeNil)
 | |
| 				So(fixtures[6], ShouldBeNil)
 | |
| 				So(fixtures[7], ShouldBeNil)
 | |
| 			})
 | |
| 		})
 | |
| 	})
 | |
| }
 |