Minor cleanup

This commit is contained in:
Ian Tan 2017-11-26 15:14:38 +08:00
parent 607e8f60e4
commit d630799e90
2 changed files with 17 additions and 42 deletions

View File

@ -43,17 +43,16 @@ func recordQueryCallback(scope *Scope) {
panic(fmt.Errorf("Expected a recorder to be set, but got none"))
}
recorder := r.(*Recorder)
stmt := Stmt{
kind: "query",
sql: scope.SQL,
args: scope.SQLVars,
}
recorder := r.(*Recorder)
if len(recorder.preload) > 0 {
// this will cause the scope.SQL to mutate to the preload query
scope.prepareQuerySQL()
stmt.preload = recorder.preload[0].schema
// we just want to pop the first element off
@ -71,6 +70,7 @@ func recordPreloadCallback(scope *Scope) {
if !ok {
panic(fmt.Errorf("Expected a recorder to be set, but got none"))
}
if len(scope.Search.preload) > 0 {
// spew.Printf("callback:preload\r\n%s\r\n", spew.Sdump(scope.Search.preload))
recorder.(*Recorder).preload = scope.Search.preload
@ -134,7 +134,7 @@ func NewDefaultExpecter() (*DB, *Expecter, error) {
gorm.Callback().Create().After("gorm:create").Register("gorm:record_exec", recordExecCallback)
gorm.Callback().Query().Before("gorm:preload").Register("gorm:record_preload", recordPreloadCallback)
gorm.Callback().Query().After("gorm:query").Register("gorm:record_query", recordQueryCallback)
gorm.Callback().RowQuery().Before("gorm:row_query").Register("gorm:record_query", recordQueryCallback)
gorm.Callback().RowQuery().After("gorm:row_query").Register("gorm:record_query", recordQueryCallback)
gorm.Callback().Update().After("gorm:update").Register("gorm:record_exec", recordExecCallback)
return gormDb, &Expecter{adapter: adapter, gorm: gorm, recorder: recorder}, nil

View File

@ -2,7 +2,6 @@ package gorm_test
import (
"errors"
"fmt"
"reflect"
"testing"
@ -11,9 +10,8 @@ import (
func TestNewDefaultExpecter(t *testing.T) {
db, _, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
//lint:ignore SA5001 just a mock
defer db.Close()
if err != nil {
t.Fatal(err)
@ -22,6 +20,7 @@ func TestNewDefaultExpecter(t *testing.T) {
func TestNewCustomExpecter(t *testing.T) {
db, _, err := gorm.NewExpecter(gorm.NewSqlmockAdapter, "sqlmock", "mock_gorm_dsn")
//lint:ignore SA5001 just a mock
defer db.Close()
if err != nil {
@ -36,7 +35,6 @@ func TestQuery(t *testing.T) {
t.Fatal(err)
}
fmt.Println("Got here")
expect.First(&User{})
db.First(&User{})
@ -97,9 +95,7 @@ func TestFindStructDest(t *testing.T) {
func TestFindSlice(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -122,9 +118,7 @@ func TestFindSlice(t *testing.T) {
func TestMockPreloadHasMany(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -148,9 +142,7 @@ func TestMockPreloadHasMany(t *testing.T) {
func TestMockPreloadHasOne(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -173,9 +165,7 @@ func TestMockPreloadHasOne(t *testing.T) {
func TestMockPreloadMany2Many(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -192,9 +182,6 @@ func TestMockPreloadMany2Many(t *testing.T) {
t.Error(err)
}
// spew.Printf("______IN______\r\n%s\r\n", spew.Sdump(in))
// spew.Printf("______OUT______\r\n%s\r\n", spew.Sdump(out))
if !reflect.DeepEqual(in, out) {
t.Error("In and out are not equal")
}
@ -202,9 +189,7 @@ func TestMockPreloadMany2Many(t *testing.T) {
func TestMockPreloadMultiple(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -230,9 +215,7 @@ func TestMockPreloadMultiple(t *testing.T) {
func TestMockCreateBasic(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -253,9 +236,7 @@ func TestMockCreateBasic(t *testing.T) {
func TestMockCreateError(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -275,9 +256,7 @@ func TestMockCreateError(t *testing.T) {
func TestMockSaveBasic(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -298,9 +277,7 @@ func TestMockSaveBasic(t *testing.T) {
func TestMockUpdateBasic(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)
@ -323,9 +300,7 @@ func TestMockUpdateBasic(t *testing.T) {
func TestMockUpdatesBasic(t *testing.T) {
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
defer db.Close()
if err != nil {
t.Fatal(err)