newdrive/internal/adapters/postgres/migrate_integration_test.go
Elijah 077cf7601a
Some checks failed
CI / Backend (push) Failing after 4s
CI / Frontend (push) Successful in 11s
CI / Contracts and repository policy (push) Failing after 5s
CI / Container (push) Has been skipped
Initial phase 1 baseline implementation
2026-07-16 19:14:01 -07:00

41 lines
968 B
Go

package postgres
import (
"context"
"os"
"testing"
"time"
)
func TestMigrationsAndStore(t *testing.T) {
databaseURL := os.Getenv("DRIVE_TEST_DATABASE_URL")
if databaseURL == "" {
t.Skip("DRIVE_TEST_DATABASE_URL is not set")
}
if err := Migrate(databaseURL); err != nil {
t.Fatalf("first migration run failed: %v", err)
}
if err := Migrate(databaseURL); err != nil {
t.Fatalf("second migration run failed: %v", err)
}
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
store, err := Open(ctx, databaseURL)
if err != nil {
t.Fatalf("Open returned an error: %v", err)
}
defer store.Close()
if err := store.DatabaseHealth(ctx); err != nil {
t.Fatalf("DatabaseHealth returned an error: %v", err)
}
initialized, err := store.OwnerExists(ctx)
if err != nil {
t.Fatalf("OwnerExists returned an error: %v", err)
}
if initialized {
t.Fatal("OwnerExists = true on a fresh database, want false")
}
}