Files
AetherForge/server/internal/db/pathtrace_sessions_test.go
AetherForge 74c006a04b Close DV-01–04,07,09,13,14: unify operator-deck UX in server/web.
Standardize neon cyan on #00e8f5, wire SacredPageHeader across Builds/Path Tracer/LOTL, dedupe Pages.css, align Path Tracer chrome, drop dead wealth-deck CSS, add prefers-color-scheme shell + HelpTip, sidebar version from package.json build inject, and Vitest CSS regression guards.
2026-06-07 06:33:51 -07:00

37 lines
863 B
Go

package db
import (
"testing"
"time"
)
func TestPathTraceSessionPersistenceAndSweep(t *testing.T) {
d := openTestDB(t)
fresh := []byte(`{"id":"sess-fresh","ready":true}`)
stale := []byte(`{"id":"sess-stale","ready":false}`)
if err := d.UpsertPathTraceSession("sess-fresh", time.Now().Add(-30*time.Minute), fresh); err != nil {
t.Fatal(err)
}
if err := d.UpsertPathTraceSession("sess-stale", time.Now().Add(-3*time.Hour), stale); err != nil {
t.Fatal(err)
}
deleted, err := d.DeleteExpiredPathTraceSessions(time.Now().Add(-2 * time.Hour))
if err != nil {
t.Fatal(err)
}
if deleted != 1 {
t.Fatalf("expected 1 stale row deleted, got %d", deleted)
}
rows, err := d.ListPathTraceSessions()
if err != nil {
t.Fatal(err)
}
if len(rows) != 1 || rows[0].ID != "sess-fresh" {
t.Fatalf("expected fresh session only, got %+v", rows)
}
}