package maintenance import ( "context" "testing" "evobgp/internal/store" ) func TestConfigProviderReloadAndSnapshot(t *testing.T) { mem := store.NewMemory() ret := 3600 if _, err := mem.CreateMaintenancePolicy(&store.MaintenancePolicy{ Name: "p1", TableName: "job_audit", Schedule: "0 3 * * *", RetentionPeriodSec: &ret, Enabled: true, }); err != nil { t.Fatal(err) } cp := NewConfigProvider(mem) if err := cp.Reload(context.Background()); err != nil { t.Fatal(err) } snap := cp.Snapshot() if len(snap) != 1 || snap[0].Name != "p1" { t.Fatalf("snapshot: %+v", snap) } newName := "p1-updated" if _, err := mem.UpdateMaintenancePolicy(snap[0].ID, &store.MaintenancePolicyPatch{Name: &newName}); err != nil { t.Fatal(err) } if err := cp.Reload(context.Background()); err != nil { t.Fatal(err) } snap2 := cp.Snapshot() if len(snap2) != 1 || snap2[0].Name != newName { t.Fatalf("after reload: %+v", snap2) } }