Fix some go lint errors

This commit is contained in:
Ian Tan 2017-11-18 16:37:14 +08:00
parent 90528be927
commit 5520530799
3 changed files with 21 additions and 19 deletions

View File

@ -6,7 +6,7 @@ import (
// AdapterFactory is a generic interface for arbitrary adapters that satisfy
// the interface. variadic args are passed to gorm.Open.
type AdapterFactory func(dialect string, args ...interface{}) (error, *DB, Adapter)
type AdapterFactory func(dialect string, args ...interface{}) (*DB, Adapter, error)
// Expecter is the exported struct used for setting expectations
type Expecter struct {
@ -20,36 +20,38 @@ type Expecter struct {
}
// NewDefaultExpecter returns a Expecter powered by go-sqlmock
func NewDefaultExpecter() (error, *DB, *Expecter) {
err, gormDb, adapter := NewSqlmockAdapter("sqlmock", "mock_gorm_dsn")
func NewDefaultExpecter() (*DB, *Expecter, error) {
gormDb, adapter, err := NewSqlmockAdapter("sqlmock", "mock_gorm_dsn")
if err != nil {
return err, nil, nil
return nil, nil, err
}
return nil, gormDb, &Expecter{adapter: adapter}
return gormDb, &Expecter{adapter: adapter}, nil
}
// NewExpecter returns an Expecter for arbitrary adapters
func NewExpecter(fn AdapterFactory, dialect string, args ...interface{}) (error, *DB, *Expecter) {
err, gormDb, adapter := fn(dialect, args...)
func NewExpecter(fn AdapterFactory, dialect string, args ...interface{}) (*DB, *Expecter, error) {
gormDb, adapter, err := fn(dialect, args...)
if err != nil {
return err, nil, nil
return nil, nil, err
}
return nil, gormDb, &Expecter{adapter: adapter}
return gormDb, &Expecter{adapter: adapter}, nil
}
/* PUBLIC METHODS */
func (h *Expecter) ExpectFirst(model interface{}) ExpectedQuery {
// First triggers a Query
func (h *Expecter) First(model interface{}) ExpectedQuery {
fmt.Printf("Expecting query: %s", "some query\n")
return h.adapter.ExpectQuery("some sql")
}
func (h *Expecter) ExpectFind(model interface{}) ExpectedQuery {
fmt.Println("Expecting query: %s", "some query involving Find")
// Find triggers a Query
func (h *Expecter) Find(model interface{}) ExpectedQuery {
fmt.Printf("Expecting query: %s\n", "some query involving Find")
return h.adapter.ExpectQuery("some find condition")
}

View File

@ -35,14 +35,14 @@ type SqlmockAdapter struct {
mocker sqlmock.Sqlmock
}
func NewSqlmockAdapter(dialect string, args ...interface{}) (error, *DB, Adapter) {
func NewSqlmockAdapter(dialect string, args ...interface{}) (*DB, Adapter, error) {
gormDb, err := Open("sqlmock", "mock_gorm_dsn")
if err != nil {
return err, nil, nil
return nil, nil, err
}
return nil, gormDb, &SqlmockAdapter{db: db, mocker: mock}
return gormDb, &SqlmockAdapter{db: db, mocker: mock}, nil
}
func (a *SqlmockAdapter) ExpectQuery(stmt string) ExpectedQuery {

View File

@ -7,7 +7,7 @@ import (
)
func TestNewDefaultExpecter(t *testing.T) {
err, db, _ := gorm.NewDefaultExpecter()
db, _, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
@ -18,7 +18,7 @@ func TestNewDefaultExpecter(t *testing.T) {
}
func TestNewCustomExpecter(t *testing.T) {
err, db, _ := gorm.NewExpecter(gorm.NewSqlmockAdapter, "sqlmock", "mock_gorm_dsn")
db, _, err := gorm.NewExpecter(gorm.NewSqlmockAdapter, "sqlmock", "mock_gorm_dsn")
defer func() {
db.Close()
}()
@ -29,7 +29,7 @@ func TestNewCustomExpecter(t *testing.T) {
}
func TestQuery(t *testing.T) {
err, db, expect := gorm.NewDefaultExpecter()
db, expect, err := gorm.NewDefaultExpecter()
defer func() {
db.Close()
}()
@ -38,6 +38,6 @@ func TestQuery(t *testing.T) {
t.Fatal(err)
}
expect.ExpectFirst(&User{}).Returns(&User{})
expect.First(&User{}).Returns(&User{})
db.First(&User{})
}