experimental-cli/pigeon/db_test.go

42 lines
661 B
Go
Raw Normal View History

2020-08-25 13:14:14 +00:00
package pigeon
import (
2020-08-31 11:58:11 +00:00
"log"
2020-08-25 13:14:14 +00:00
"testing"
)
2020-08-31 11:58:11 +00:00
func resetDB() {
tx, err := Database.Begin()
if err != nil {
log.Fatalf("Failed to start transaction: %s", err)
}
for i := len(migrations) - 1; i >= 0; i-- {
_, err := tx.Exec(migrations[i].down)
if err != nil {
log.Fatalf("Migration failure: %s", err)
}
}
for _, migration := range migrations {
_, err := tx.Exec(migration.up)
if err != nil {
log.Fatalf("Migration failure: %s", err)
}
}
if tx.Commit() != nil {
log.Fatal(err)
}
}
2020-08-26 12:34:01 +00:00
func TestSetUpTeardown(t *testing.T) {
2020-08-31 11:58:11 +00:00
resetDB()
db := Database
2020-08-25 13:14:14 +00:00
err := db.Ping()
if err != nil {
2020-08-31 11:58:11 +00:00
t.Fatalf("Test setup failed: %s", err)
2020-08-25 13:14:14 +00:00
}
}