package state import ( "path/filepath" "testing" ) func TestWriteReadIntentRoundTrip(t *testing.T) { p := filepath.Join(t.TempDir(), "intent.json") if err := MustWriteIntent(p, IntentShuttingDown, "ups-threshold", "daemon"); err != nil { t.Fatalf("write intent: %v", err) } in, err := ReadIntent(p) if err != nil { t.Fatalf("read intent: %v", err) } if in.State != IntentShuttingDown { t.Fatalf("expected state %q, got %q", IntentShuttingDown, in.State) } if in.Source != "daemon" { t.Fatalf("expected source daemon, got %q", in.Source) } } func TestMustWriteIntentRejectsUnknownState(t *testing.T) { p := filepath.Join(t.TempDir(), "intent.json") if err := MustWriteIntent(p, "weird", "x", "y"); err == nil { t.Fatalf("expected invalid state error") } }