package database_test import ( "context" "path/filepath" "testing" "sneak.berlin/go/vaultik/internal/database" ) // Common fixture values shared by the repository tests. const ( testFilePath1 = "/file1.txt" testFilePath2 = "/file2.txt" testFileTxt = "/test/file.txt" testTxFile = "/test/tx_file.txt" testHostname = "test-host" testVersion = "1.0.0" ) // mustCreateFile inserts the given file row, failing the test on error. func mustCreateFile(t *testing.T, repo *database.FileRepository, file *database.File) { t.Helper() err := repo.Create(context.Background(), nil, file) if err != nil { t.Fatalf("failed to create file %s: %v", file.Path, err) } } // setupTestDB creates an on-disk test database in a per-test temp // directory and returns it along with a cleanup func that closes it. func setupTestDB(t *testing.T) (*database.DB, func()) { t.Helper() ctx := context.Background() dbPath := filepath.Join(t.TempDir(), "test.db") db, err := database.New(ctx, dbPath) if err != nil { t.Fatalf("failed to create database: %v", err) } cleanup := func() { err := db.Close() if err != nil { t.Errorf("failed to close database: %v", err) } } return db, cleanup }