1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-14 12:16:24 -07:00
gochan/pkg/gcsql/provisioning_test.go

47 lines
1,020 B
Go

package gcsql
import (
"testing"
"github.com/DATA-DOG/go-sqlmock"
"github.com/gochan-org/gochan/pkg/config"
"github.com/gochan-org/gochan/pkg/gcutil/testutil"
"github.com/stretchr/testify/assert"
)
var (
testingDBDrivers = []string{"mysql", "postgres", "sqlite3"}
)
func TestProvision(t *testing.T) {
_, err := testutil.GoToGochanRoot(t)
if !assert.NoError(t, err) {
return
}
config.SetVersion("3.10.1")
config.SetRandomSeed("test")
for _, driver := range testingDBDrivers {
t.Run(driver, func(t *testing.T) {
config.SetTestDBConfig(driver, "localhost", "gochan", "gochan", "gochan", "")
gcdb, err = setupDBConn(setupSQLConfig(driver, "gochan", ""))
if !assert.NoError(t, err) {
return
}
db, mock, err := sqlmock.New()
if !assert.NoError(t, err) {
return
}
if !assert.NoError(t, SetTestingDB(driver, "gochan", "", db)) {
return
}
if !assert.NoError(t, setupAndProvisionMockDB(t, mock, driver, "gochan")) {
return
}
closeMock(t, mock)
})
}
}