package main import "testing" func TestExpectedDBMessagesIncludesObservedWithoutAck(t *testing.T) { ledgers := map[string][]AcceptedMessage{ "a": {{RunID: "run-1", ClientMid: "acked", Topic: "grp-one", Seq: 1}}, } observed := map[string][]AcceptedMessage{ "a": { {RunID: "run-1", ClientMid: "unacked", Topic: "grp-one", Seq: 2}, {RunID: "other", ClientMid: "foreign", Topic: "grp-one", Seq: 3}, }, "b": {{RunID: "run-1", ClientMid: "unacked", Topic: "grp-one", Seq: 2}}, } expected := expectedDBMessages("run-1", ledgers, observed) if len(expected) != 2 { t.Fatalf("expected messages=%d want=2: %+v", len(expected), expected) } if expected["acked"].Seq != 1 || expected["unacked"].Seq != 2 { t.Fatalf("unexpected merged messages: %+v", expected) } }