summaryrefslogtreecommitdiff
path: root/internal/storage/db_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-07 21:35:01 +0300
committerPaul Buetow <paul@buetow.org>2026-06-07 21:35:01 +0300
commit161549ef9832b55983ae8ec3851f0c8f7536b72a (patch)
tree473a5bb44427be294c54f3c3a42077841a354c45 /internal/storage/db_test.go
parent80436aa8a109beaace6dd164d91229b1b6ba41b9 (diff)
Add Updated column to Host reports from file mtimev0.5.2
Diffstat (limited to 'internal/storage/db_test.go')
-rw-r--r--internal/storage/db_test.go58
1 files changed, 58 insertions, 0 deletions
diff --git a/internal/storage/db_test.go b/internal/storage/db_test.go
index e34f88d..74aa30d 100644
--- a/internal/storage/db_test.go
+++ b/internal/storage/db_test.go
@@ -7,6 +7,7 @@ import (
"path/filepath"
"testing"
"testing/fstest"
+ "time"
)
func TestOpen_ContextCanceled(t *testing.T) {
@@ -464,3 +465,60 @@ func TestImportFromDir_pathIsFileNotDirectory(t *testing.T) {
t.Fatal("expected error")
}
}
+
+func TestHostMetaRoundTrip(t *testing.T) {
+ tmpDir := t.TempDir()
+ dbPath := filepath.Join(tmpDir, "test.db")
+ db, err := Open(context.Background(), dbPath)
+ if err != nil {
+ t.Fatalf("open DB: %v", err)
+ }
+ defer db.Close()
+ ctx := context.Background()
+ if err := CreateSchema(ctx, db); err != nil {
+ t.Fatalf("schema: %v", err)
+ }
+
+ if err := ResetHostMeta(ctx, db); err != nil {
+ t.Fatalf("reset: %v", err)
+ }
+
+ tx, err := db.BeginTx(ctx, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := AddHostMeta(ctx, tx, "host1", 1705312200); err != nil {
+ t.Fatalf("add: %v", err)
+ }
+ if err := AddHostMeta(ctx, tx, "host2", 1705312300); err != nil {
+ t.Fatalf("add: %v", err)
+ }
+ if err := tx.Commit(); err != nil {
+ t.Fatal(err)
+ }
+
+ meta, err := LoadHostMeta(ctx, db)
+ if err != nil {
+ t.Fatalf("load: %v", err)
+ }
+ if len(meta) != 2 {
+ t.Fatalf("len=%d, want 2", len(meta))
+ }
+ if meta["host1"] != time.Unix(1705312200, 0).UTC() {
+ t.Fatalf("host1 time mismatch: %v", meta["host1"])
+ }
+ if meta["host2"] != time.Unix(1705312300, 0).UTC() {
+ t.Fatalf("host2 time mismatch: %v", meta["host2"])
+ }
+
+ if err := ResetHostMeta(ctx, db); err != nil {
+ t.Fatalf("reset2: %v", err)
+ }
+ meta, err = LoadHostMeta(ctx, db)
+ if err != nil {
+ t.Fatalf("load after reset: %v", err)
+ }
+ if len(meta) != 0 {
+ t.Fatalf("len after reset=%d, want 0", len(meta))
+ }
+}