From 3f7efb33eb4ce883ba16dfadf88ad00b9de5b050 Mon Sep 17 00:00:00 2001 From: go-jet Date: Fri, 15 Oct 2021 17:53:56 +0200 Subject: [PATCH] Build fix. --- qrm/internal/null_types.go | 4 +++- qrm/utill_test.go | 15 +++++++-------- tests/mysql/alltypes_test.go | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/qrm/internal/null_types.go b/qrm/internal/null_types.go index 3ec5bdb..d09a712 100644 --- a/qrm/internal/null_types.go +++ b/qrm/internal/null_types.go @@ -63,7 +63,7 @@ func (nt *NullTime) Scan(value interface{}) error { nt.Time, nt.Valid = tryParseAsTime(value) if !nt.Valid { - return fmt.Errorf("can't scan time.Time from %v", value) + return fmt.Errorf("can't scan time.Time from %q", value) } return nil @@ -84,6 +84,8 @@ func tryParseAsTime(value interface{}) (time.Time, bool) { timeStr = v case []byte: timeStr = string(v) + default: + return time.Time{}, false } for _, format := range formats { diff --git a/qrm/utill_test.go b/qrm/utill_test.go index e23fa15..991a682 100644 --- a/qrm/utill_test.go +++ b/qrm/utill_test.go @@ -58,25 +58,24 @@ func TestTryAssign(t *testing.T) { testValue := reflect.ValueOf(&destination).Elem() // convertible - require.True(t, tryAssign(reflect.ValueOf(convertible), testValue.FieldByName("Convertible"))) + require.NoError(t, tryAssign(reflect.ValueOf(convertible), testValue.FieldByName("Convertible"))) require.Equal(t, int64(16), destination.Convertible) // 1/0 to bool - require.True(t, tryAssign(reflect.ValueOf(intBool1), testValue.FieldByName("IntBool1"))) + require.NoError(t, tryAssign(reflect.ValueOf(intBool1), testValue.FieldByName("IntBool1"))) require.Equal(t, true, destination.IntBool1) - require.True(t, tryAssign(reflect.ValueOf(intBool0), testValue.FieldByName("IntBool0"))) + require.NoError(t, tryAssign(reflect.ValueOf(intBool0), testValue.FieldByName("IntBool0"))) require.Equal(t, false, destination.IntBool0) - require.False(t, tryAssign(reflect.ValueOf(intBool2), testValue.FieldByName("IntBool2"))) - require.Equal(t, false, destination.IntBool2) + require.EqualError(t, tryAssign(reflect.ValueOf(intBool2), testValue.FieldByName("IntBool2")), "can't assign int32(2) to bool") // string to float - require.True(t, tryAssign(reflect.ValueOf(floatStr), testValue.FieldByName("FloatStr"))) + require.NoError(t, tryAssign(reflect.ValueOf(floatStr), testValue.FieldByName("FloatStr"))) require.Equal(t, 1.11, destination.FloatStr) - require.False(t, tryAssign(reflect.ValueOf(floatErr), testValue.FieldByName("FloatErr"))) + require.EqualError(t, tryAssign(reflect.ValueOf(floatErr), testValue.FieldByName("FloatErr")), "converting driver.Value type string (\"1.abcd2\") to a float64: invalid syntax") require.Equal(t, 0.00, destination.FloatErr) // string to string - require.True(t, tryAssign(reflect.ValueOf(str), testValue.FieldByName("Str"))) + require.NoError(t, tryAssign(reflect.ValueOf(str), testValue.FieldByName("Str"))) require.Equal(t, str, destination.Str) } diff --git a/tests/mysql/alltypes_test.go b/tests/mysql/alltypes_test.go index b12585e..5a5012d 100644 --- a/tests/mysql/alltypes_test.go +++ b/tests/mysql/alltypes_test.go @@ -962,7 +962,7 @@ func TestAllTypesInsert(t *testing.T) { tx, err := db.Begin() require.NoError(t, err) - stmt := AllTypes.INSERT(AllTypes.AllColumns). + stmt := AllTypes.INSERT(AllTypes.AllColumns.Except(AllTypes.TimestampPtr)). MODEL(toInsert) //fmt.Println(stmt.DebugSql()) @@ -970,7 +970,7 @@ func TestAllTypesInsert(t *testing.T) { testutils.AssertExec(t, stmt, tx, 1) var dest model.AllTypes - err = AllTypes.SELECT(AllTypes.AllColumns). + err = AllTypes.SELECT(AllTypes.AllColumns.Except(AllTypes.TimestampPtr)). WHERE(AllTypes.BigInt.EQ(Int(toInsert.BigInt))). Query(tx, &dest)