package hostclaim import ( "strconv" "testing" ) func TestPlan12TargetReleasedCapturesWriter(t *testing.T) { for _, admitted := range []bool{false, true} { c := lostTargetClaim(t, KindRestoring, PhaseReleasing) c.Lost, c.LossRefs, c.LostRevisions = nil, nil, nil delete(c.Op.Journal, "loss."+lostID) c.Op.Participants = []string{"ie-box", "uk-box"} c.Op.Exec = "uk-box" if !admitted { c.Holder.WriterBox = "ie-box" } r := lostRelease(c, false) if err := TargetReleased(lostOp, "uk-box", "uk", "evidence", r.Location, r.NewID)(c); err != nil { t.Fatal(err) } if admitted { if c.Op.Journal[JournalTargetSession] != strconv.FormatUint(c.Holder.Session, 10) || c.Op.Journal[JournalTargetGeneration] != c.Holder.Generation { t.Fatal(c.Op.Journal) } } else if _, ok := c.Op.Journal[JournalTargetSession]; ok { t.Fatal("invented target session") } } }