You've already forked go-sqlmock
mirror of
https://github.com/DATA-DOG/go-sqlmock.git
synced 2025-06-16 23:57:35 +02:00
allow null values from csv string to be converted to nil
This commit is contained in:
31
rows_test.go
31
rows_test.go
@ -207,3 +207,34 @@ func TODO_TestRowsColumnsError(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCSVRowParser(t *testing.T) {
|
||||
t.Parallel()
|
||||
rs := NewRows([]string{"col1", "col2"}).FromCSVString("a,NULL")
|
||||
db, mock, err := New()
|
||||
if err != nil {
|
||||
t.Fatalf("an error '%s' was not expected when opening a stub database connection", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
mock.ExpectQuery("SELECT").WillReturnRows(rs)
|
||||
|
||||
rw, err := db.Query("SELECT")
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %s", err)
|
||||
}
|
||||
defer rw.Close()
|
||||
var col1 string
|
||||
var col2 []byte
|
||||
|
||||
rw.Next()
|
||||
if err = rw.Scan(&col1, &col2); err != nil {
|
||||
t.Fatalf("unexpected error: %s", err)
|
||||
}
|
||||
if col1 != "a" {
|
||||
t.Fatalf("expected col1 to be 'a', but got [%T]:%+v", col1, col1)
|
||||
}
|
||||
if col2 != nil {
|
||||
t.Fatalf("expected col2 to be nil, but got [%T]:%+v", col2, col2)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user