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}