1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-09-05 11:06:23 -07:00
gochan/pkg/gcsql/provisioning_test.go

48 lines
1,023 B
Go
Raw Normal View History

2024-03-28 23:04:22 -07:00
package gcsql
import (
"testing"
"github.com/DATA-DOG/go-sqlmock"
2024-03-28 23:04:22 -07:00
"github.com/gochan-org/gochan/pkg/config"
"github.com/gochan-org/gochan/pkg/gcutil/testutil"
2024-03-28 23:04:22 -07:00
"github.com/stretchr/testify/assert"
)
var (
testingDBDrivers = []string{"mysql", "postgres", "sqlite3"}
)
func TestProvision(t *testing.T) {
_, err := testutil.GoToGochanRoot(t)
2024-03-28 23:04:22 -07:00
if !assert.NoError(t, err) {
return
}
2024-10-13 23:18:29 -07:00
config.SetVersion("4.0.0")
2024-03-28 23:04:22 -07:00
config.SetRandomSeed("test")
for _, driver := range testingDBDrivers {
t.Run(driver, func(t *testing.T) {
config.SetTestDBConfig(driver, "localhost", "gochan", "gochan", "gochan", "")
2024-03-28 23:04:22 -07:00
gcdb, err = setupDBConn(setupSqlTestConfig(driver, "gochan", ""))
if !assert.NoError(t, err) {
return
}
2024-03-28 23:04:22 -07:00
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)
})
2024-03-28 23:04:22 -07:00
}
}