zitadel/internal/eventstore/local_crdb_test.go

58 lines
1.2 KiB
Go
Raw Normal View History

2020-10-23 14:16:46 +00:00
package eventstore_test
import (
"database/sql"
"os"
"testing"
"github.com/cockroachdb/cockroach-go/v2/testserver"
"github.com/zitadel/logging"
"github.com/zitadel/zitadel/cmd/initialise"
2020-10-23 14:16:46 +00:00
)
var (
testCRDBClient *sql.DB
)
func TestMain(m *testing.M) {
ts, err := testserver.NewTestServer()
if err != nil {
logging.WithFields("error", err).Fatal("unable to start db")
2020-10-23 14:16:46 +00:00
}
testCRDBClient, err = sql.Open("postgres", ts.PGURL().String())
if err != nil {
logging.WithFields("error", err).Fatal("unable to connect to db")
}
if err != nil {
logging.WithFields("error", err).Fatal("unable to connect to db")
}
if err = testCRDBClient.Ping(); err != nil {
logging.WithFields("error", err).Fatal("unable to ping db")
2020-10-23 14:16:46 +00:00
}
defer func() {
testCRDBClient.Close()
ts.Stop()
}()
if err = initDB(testCRDBClient); err != nil {
logging.WithFields("error", err).Fatal("migrations failed")
2020-10-23 14:16:46 +00:00
}
os.Exit(m.Run())
}
func initDB(db *sql.DB) error {
username := "zitadel"
database := "zitadel"
err := initialise.Initialise(db, initialise.VerifyUser(username, ""),
initialise.VerifyDatabase(database),
initialise.VerifyGrant(database, username))
2020-10-23 14:16:46 +00:00
if err != nil {
return err
}
return initialise.VerifyZitadel(db)
2020-10-23 14:16:46 +00:00
}