Files
kematianc2/Kematian-Standalone/native/recovery/db/clone_test.go
T
2026-08-27 11:23:01 -06:00

45 lines
936 B
Go

package db
import (
"database/sql"
"path/filepath"
"testing"
_ "github.com/mattn/go-sqlite3"
)
func TestOpenDatabaseReadsLiveWAL(t *testing.T) {
dir := t.TempDir()
dbPath := filepath.Join(dir, "Cookies")
live, err := sql.Open("sqlite3", dbPath)
if err != nil {
t.Fatal(err)
}
live.SetMaxOpenConns(1)
defer live.Close()
if _, err := live.Exec("PRAGMA journal_mode=WAL"); err != nil {
t.Fatal(err)
}
if _, err := live.Exec("CREATE TABLE cookies (host_key TEXT, value TEXT)"); err != nil {
t.Fatal(err)
}
if _, err := live.Exec("INSERT INTO cookies VALUES ('example.com', 'secret')"); err != nil {
t.Fatal(err)
}
d, err := OpenDatabase(dbPath, nil)
if err != nil {
t.Fatalf("OpenDatabase: %v", err)
}
defer d.Close()
var n int
if err := d.QueryRow("SELECT COUNT(*) FROM cookies").Scan(&n); err != nil {
t.Fatalf("query: %v", err)
}
if n != 1 {
t.Fatalf("expected 1 cookie row, got %d", n)
}
}