forked from ebhomengo/niki
40 lines
648 B
Go
40 lines
648 B
Go
package testutils
|
|
|
|
import (
|
|
"sync"
|
|
"testing"
|
|
|
|
"git.gocasts.ir/ebhomengo/niki/repository/migrator"
|
|
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
|
|
|
//nolint
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
var once = sync.Once{}
|
|
|
|
const port = 3305
|
|
|
|
func MySQLTestConfig() mysql.Config {
|
|
return mysql.Config{
|
|
Username: "testuser",
|
|
Password: "test1234",
|
|
Port: port,
|
|
Host: "localhost",
|
|
DBName: "test_db",
|
|
}
|
|
}
|
|
|
|
func Setup(t *testing.T) *mysql.DB {
|
|
t.Helper()
|
|
// connect to mysql database
|
|
config := MySQLTestConfig()
|
|
once.Do(func() {
|
|
mgr := migrator.New(config)
|
|
mgr.Up()
|
|
})
|
|
mysqlRepo := mysql.New(config)
|
|
|
|
return mysqlRepo
|
|
}
|