1// SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 2//
 3// SPDX-License-Identifier: AGPL-3.0-or-later
 4
 5package testutil
 6
 7import (
 8	"testing"
 9
10	"git.secluded.site/np/internal/db"
11)
12
13// OpenDB opens a database in a temporary directory and registers cleanup with t.
14func OpenDB(t *testing.T) *db.Database {
15	t.Helper()
16
17	database, err := db.Open(db.Options{
18		Path: t.TempDir(),
19	})
20	if err != nil {
21		t.Fatalf("open db: %v", err)
22	}
23
24	t.Cleanup(func() {
25		if err := database.Close(); err != nil {
26			t.Fatalf("closing db: %v", err)
27		}
28	})
29
30	return database
31}