37 lines
692 B
Go
37 lines
692 B
Go
package store
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestOpenAndMigrate(t *testing.T) {
|
|
t.Parallel()
|
|
dir := t.TempDir()
|
|
db, err := OpenWriter(dir, "FULL")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer func() { _ = db.Close() }()
|
|
|
|
if migErr := Migrate(db); migErr != nil {
|
|
t.Fatal(migErr)
|
|
}
|
|
if migErr := Migrate(db); migErr != nil {
|
|
t.Fatal(migErr)
|
|
}
|
|
|
|
var n int
|
|
if scanErr := db.QueryRow(`SELECT COUNT(*) FROM schema_migrations`).Scan(&n); scanErr != nil {
|
|
t.Fatal(scanErr)
|
|
}
|
|
if n != 1 {
|
|
t.Fatalf("want 1 migration row, got %d", n)
|
|
}
|
|
nested, openErr := OpenWriter(filepath.Join(dir, "nested"), "NORMAL")
|
|
if openErr != nil {
|
|
t.Fatal(openErr)
|
|
}
|
|
_ = nested.Close()
|
|
}
|