fix: broadcast forwarded messages after kafka publish

This commit is contained in:
richjohnrambo
2026-09-24 00:00:50 +08:00
parent 68a0228dff
commit a3df9d269c
3 changed files with 39 additions and 39 deletions
+5 -4
View File
@@ -5828,6 +5828,7 @@ func TestServeIMMessageForwardKafkaAssignsSeqAndBroadcasts(t *testing.T) {
TenantID: 7,
SeqId: 34,
}, nil)
topics.EXPECT().GetSubs(types.TenantID(7), targetTopic, nil).Return(nil, nil)
messages.EXPECT().GetOne(types.TenantID(7), "grpSource", int64(14)).Return(&types.Message{
TenantID: 7,
Topic: "grpSource",
@@ -5877,13 +5878,13 @@ func TestServeIMMessageForwardKafkaAssignsSeqAndBroadcasts(t *testing.T) {
if publishedPayload.Message.Topic != targetTopic || publishedPayload.Message.SeqId != 35 {
t.Fatalf("unexpected kafka message: %#v", publishedPayload.Message)
}
if !publishedPayload.BroadcastAfterPersist {
t.Fatalf("forwarded HTTP message must broadcast after kafka persistence: %#v", publishedPayload)
}
select {
case delivered := <-globals.hub.routeSrv:
t.Fatalf("pending forward should not broadcast immediately: %#v", delivered)
if delivered.Data == nil || delivered.Data.Topic != targetTopic || delivered.Data.SeqId != 35 {
t.Fatalf("unexpected immediate broadcast: %#v", delivered)
}
default:
t.Fatalf("pending forward should broadcast immediately after kafka publish")
}
}