|
|
@@ -12,14 +12,17 @@ import (
|
|
|
func TestSqlEngine(t *testing.T) {
|
|
|
Convey("SqlEngine", t, func() {
|
|
|
dt := time.Date(2018, 3, 14, 21, 20, 6, int(527345*time.Microsecond), time.UTC)
|
|
|
+ earlyDt := time.Date(1970, 3, 14, 21, 20, 6, int(527345*time.Microsecond), time.UTC)
|
|
|
|
|
|
Convey("Given row values with time.Time as time columns", func() {
|
|
|
var nilPointer *time.Time
|
|
|
|
|
|
- fixtures := make([]interface{}, 3)
|
|
|
+ fixtures := make([]interface{}, 5)
|
|
|
fixtures[0] = dt
|
|
|
fixtures[1] = &dt
|
|
|
- fixtures[2] = nilPointer
|
|
|
+ fixtures[2] = earlyDt
|
|
|
+ fixtures[3] = &earlyDt
|
|
|
+ fixtures[4] = nilPointer
|
|
|
|
|
|
for i := range fixtures {
|
|
|
ConvertSqlTimeColumnToEpochMs(fixtures, i)
|
|
|
@@ -27,9 +30,13 @@ func TestSqlEngine(t *testing.T) {
|
|
|
|
|
|
Convey("When converting them should return epoch time with millisecond precision ", func() {
|
|
|
expected := float64(dt.UnixNano()) / float64(time.Millisecond)
|
|
|
+ expectedEarly := float64(earlyDt.UnixNano()) / float64(time.Millisecond)
|
|
|
+
|
|
|
So(fixtures[0].(float64), ShouldEqual, expected)
|
|
|
So(fixtures[1].(float64), ShouldEqual, expected)
|
|
|
- So(fixtures[2], ShouldBeNil)
|
|
|
+ So(fixtures[2].(float64), ShouldEqual, expectedEarly)
|
|
|
+ So(fixtures[3].(float64), ShouldEqual, expectedEarly)
|
|
|
+ So(fixtures[4], ShouldBeNil)
|
|
|
})
|
|
|
})
|
|
|
|