package installmeta import ( "path/filepath" "testing" "time" ) func TestSaveLoadRoundTrip(t *testing.T) { path := filepath.Join(t.TempDir(), "install.toml") want := Metadata{ OwnerUser: "dev", OwnerUID: 1000, OwnerGID: 1000, OwnerHome: "/home/dev", InstalledAt: time.Unix(1710000000, 0).UTC(), Version: "v1.2.3", Commit: "abc123", BuiltAt: "2026-04-23T00:00:00Z", } if err := Save(path, want); err != nil { t.Fatalf("Save: %v", err) } got, err := Load(path) if err != nil { t.Fatalf("Load: %v", err) } if got != want { t.Fatalf("Load() = %+v, want %+v", got, want) } } func TestValidateRejectsMissingOwner(t *testing.T) { err := Metadata{OwnerUID: 1000, OwnerGID: 1000, OwnerHome: "/home/dev"}.Validate() if err == nil { t.Fatal("Validate() = nil, want missing owner_user error") } }