niki/test/db.go

40 lines
648 B
Go
Raw Normal View History

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
}