package integration import ( "database/sql" "os" "testing" "git.runcible.io/learning/ratchet/migrations" ) const testerPasswd = "thisisinsecure" func newTestDB(t *testing.T) *sql.DB { dbFile, err := os.CreateTemp("", "ratchet-*.db") if err != nil { t.Fatal(err) } db, err := sql.Open("sqlite3", dbFile.Name()) if err != nil { db.Close() t.Fatal(err) } err = migrations.Migrate(db) if err != nil { db.Close() t.Fatal(err) } script, err := os.ReadFile("./testdata/seed.sql") if err != nil { db.Close() t.Fatal(err) } _, err = db.Exec(string(script)) if err != nil { db.Close() t.Fatal(err) } t.Cleanup(func() { db.Close() err := os.Remove(dbFile.Name()) if err != nil { t.Fatal(err) } }) return db }