package hostguard import ( "github.com/carlosframework/platform/internal/hostclaim" "testing" ) func TestPlan11Fix1RelocationWriterStopAuthority(t *testing.T) { for _, phase := range []string{"probing", "serving"} { for _, fault := range []string{"none", "source", "region", "session", "duplicate", "phase", "warm"} { t.Run(phase+"/"+fault, func(t *testing.T) { c, target := plan9D4Writer(phase) c.Op.Kind = hostclaim.KindRelocating switch fault { case "source": c.Holder.WriterBox = "source" case "region": target.Region = "other" case "session": target.ObligationID = WriterStopObligation(9) case "duplicate": c.Holder.Admissions = append(c.Holder.Admissions, c.Holder.Admissions[1]) case "phase": c.Op.Phase = "releasing" target.Phase = "releasing" case "warm": c.Holder.Admissions[1].Mode = "warm" } if got := StopAuthorityMatches(c, target); got != (fault == "none") { t.Fatalf("authority=%v", got) } }) } } }