test: harden group load verification
This commit is contained in:
@@ -48,6 +48,22 @@ func TestDeliveryRecorderSeparatesHistoryFromRealtime(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeliveryRecorderExportsObservedMessagesWithoutAck(t *testing.T) {
|
||||
recorder := newDeliveryRecorder("run1", "b", 2)
|
||||
acked := AcceptedMessage{RunID: "run1", Scenario: "group", Kind: "group", ClientMid: "run1-g-a-0001-01",
|
||||
Topic: "grp-one", Seq: 10, SenderMachine: "a", SenderIndex: 1}
|
||||
unacked := AcceptedMessage{RunID: "run1", Scenario: "group", Kind: "group", ClientMid: "run1-g-a-0002-01",
|
||||
Topic: "grp-one", Seq: 11, SenderMachine: "a", SenderIndex: 2}
|
||||
recorder.onData(AccountRecord{Index: 1}, testData(acked, time.Now()))
|
||||
recorder.onData(AccountRecord{Index: 2}, testData(unacked, time.Now()))
|
||||
|
||||
messages := recorder.unackedObservedMessages([]AcceptedMessage{acked}, "group")
|
||||
if len(messages) != 1 || messages[0].ClientMid != unacked.ClientMid || messages[0].Seq != 11 ||
|
||||
messages[0].PeerMachine != "b" || messages[0].PeerIndex != 2 || messages[0].SenderIndex != 2 {
|
||||
t.Fatalf("unexpected observed ledger: %+v", messages)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeliveryRecorderCapturesOrderingViolationDetails(t *testing.T) {
|
||||
recorder := newDeliveryRecorder("run1", "b", 1)
|
||||
newer := AcceptedMessage{RunID: "run1", ClientMid: "run1-p-a-0001-02", Topic: "p2p-one", Seq: 12}
|
||||
@@ -84,7 +100,9 @@ func TestDeliveryRecorderSeparatesLocalAndCrossMachineLatency(t *testing.T) {
|
||||
}
|
||||
|
||||
func testData(message AcceptedMessage, sentAt time.Time) dataPacket {
|
||||
content, _ := json.Marshal(map[string]any{"run_id": message.RunID, "sent_at_unix_nano": sentAt.UnixNano()})
|
||||
content, _ := json.Marshal(map[string]any{"run_id": message.RunID, "scenario": message.Scenario,
|
||||
"sender_machine": message.SenderMachine, "sender_index": message.SenderIndex,
|
||||
"sent_at_unix_nano": sentAt.UnixNano()})
|
||||
return dataPacket{Topic: message.Topic, Seq: message.Seq,
|
||||
Head: map[string]any{"x-im-client-mid": message.ClientMid}, Content: content}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user