Skip to content

Commit

Permalink
add NewMockZORM
Browse files Browse the repository at this point in the history
  • Loading branch information
junqiang.zhang committed Jul 9, 2022
1 parent 619cfd3 commit fdfe495
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 3 deletions.
18 changes: 16 additions & 2 deletions gmock.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ func NewMockXORM(pathToSqlFileName string, resetHandler func(orm *mockdb.MockXOR
return mockdb.NewMockXORM(pathToSqlFileName, resetHandler)
}

func NewGORMFromDSN(pathToSqlFileName string, dbType string, dsn string) *mockdb.MockGORM {
return mockdb.NewGORMFromDSN(pathToSqlFileName, dbType, dsn)
}

func NewGORMV2FromDSN(pathToSqlFileName string, dbType string, dsn string) *mockdb.MockGORMV2 {
return mockdb.NewGORMV2FromDSN(pathToSqlFileName, dbType, dsn)
}

func NewXORMFromDSN(pathToSqlFileName string, dbType string, dsn string) *mockdb.MockXORM {
return mockdb.NewXORMFromDSN(pathToSqlFileName, dbType, dsn)
}

func NewDBUtil() *util.DBUtil {
return util.NewDBUtil()
}
Expand All @@ -47,5 +59,7 @@ func NewRecorder() *httptest.ResponseRecorder {
}

func NewRequestForTest(method, origurl string, args ...interface{}) (*http.Request, error) {
return requests.NewRequestForTest(method,origurl,args...)
}
return requests.NewRequestForTest(method, origurl, args...)
}


2 changes: 1 addition & 1 deletion mockdb/mock_gorm.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ func (l *Logger) Panic(msg interface{}) {
var logger = NewLogger("gmock.mockdb")


func NewFromDSN(pathToSqlFileName string, dbType string, dsn string) *MockGORM {
func NewGORMFromDSN(pathToSqlFileName string, dbType string, dsn string) *MockGORM {
mock := MockGORM{
pathToSqlFileName: pathToSqlFileName,
models: make([]interface{}, 0),
Expand Down
23 changes: 23 additions & 0 deletions mockdb/mock_gormv2.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,29 @@ type MockGORMV2 struct {
recordLock sync.Mutex
}

func NewGORMV2FromDSN(pathToSqlFileName string, dbType string, dsn string) *MockGORMV2 {
mock := MockGORMV2{
pathToSqlFileName: pathToSqlFileName,
models: make([]interface{}, 0),
//resetHandler: resetHandler,
recorder: make(map[string]mapset.Set),
recordLock: sync.Mutex{},
//onceRecorder: sync.Once{},
}
mock.dsn=dsn
ns := schema.NamingStrategy{
SingularTable: true,
}
db, err:= gorm.Open(mysql.Open(mock.dsn), &gorm.Config{NamingStrategy: ns})
if err!=nil {
panic(err)
}
mock.db=db
mock.dbType=dbType
return &mock
}


func NewMockGORMV2(pathToSqlFileName string, resetHandler func(orm *MockGORMV2)) *MockGORMV2 {
mock := MockGORMV2{
pathToSqlFileName: pathToSqlFileName,
Expand Down
18 changes: 18 additions & 0 deletions mockdb/mock_xorm.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,24 @@ type MockXORM struct {
schema string
}

func NewXORMFromDSN(pathToSqlFileName string, dbType string, dsn string) *MockXORM {
var db *xorm.Engine
var err error
mock := MockXORM{
pathToSqlFileName: pathToSqlFileName,
engine: db,
models: make([]interface{}, 0),
//resetHandler: resetHandler,
recorder: make(map[string]mapset.Set),
once: sync.Once{},
}
db, err = xorm.NewEngine("sqlite3", ":memory:")
if err != nil {
panic(err)
}
return &mock
}

func NewMockXORM(pathToSqlFileName string, resetHandler func(orm *MockXORM)) *MockXORM {
var db *xorm.Engine
var err error
Expand Down
15 changes: 15 additions & 0 deletions util/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"
"github.com/sjqzhang/goutil"
"log"
"net"
"os"
"runtime"
"runtime/debug"
Expand Down Expand Up @@ -47,3 +48,17 @@ func Recover() {
}

var Util *goutil.Common = &goutil.Common{}

func CheckPortIsReady(addr string) (bool, error) {
conn, err := net.Dial("tcp", addr)
if err != nil {
return false, err
}
defer conn.Close()
return true, nil
}

func Exec(cmd string) (string, int) {

return Util.Exec([]string{"sh", "-c", cmd}, 3600)
}

0 comments on commit fdfe495

Please sign in to comment.