Files
infinite-canvas/config/config_test.go
T
2026-05-27 22:11:36 +08:00

34 lines
970 B
Go

package config
import (
"os"
"path/filepath"
"testing"
)
func TestNormalizeDockerSQLiteDSNUsesMountedDataDir(t *testing.T) {
root := t.TempDir()
appDataDir := filepath.Join(root, "data")
if err := os.MkdirAll(appDataDir, 0755); err != nil {
t.Fatal(err)
}
Cfg = Config{StorageDriver: "sqlite", DatabaseDSN: "data/infinite-canvas.db?_pragma=busy_timeout(5000)"}
normalizeDockerSQLiteDSN(appDataDir)
want := filepath.Join(root, "data", "infinite-canvas.db") + "?_pragma=busy_timeout(5000)"
if Cfg.DatabaseDSN != want {
t.Fatalf("DatabaseDSN = %q, want %q", Cfg.DatabaseDSN, want)
}
}
func TestNormalizeDockerSQLiteDSNLeavesLocalPathWithoutMountedDataDir(t *testing.T) {
Cfg = Config{StorageDriver: "sqlite", DatabaseDSN: "data/infinite-canvas.db"}
normalizeDockerSQLiteDSN(filepath.Join(t.TempDir(), "missing-data"))
if Cfg.DatabaseDSN != "data/infinite-canvas.db" {
t.Fatalf("DatabaseDSN = %q, want relative local path", Cfg.DatabaseDSN)
}
}