Notify P2P participants after HTTP forwarding

This commit is contained in:
richjohnrambo
2026-09-03 20:04:18 +08:00
parent e36decab28
commit d6de2a0349
2 changed files with 60 additions and 1 deletions
+19 -1
View File
@@ -4793,7 +4793,7 @@ func TestServeIMMessageForwardKafkaAssignsSeqAndBroadcasts(t *testing.T) {
topics := mock_store.NewMockTopicsPersistenceInterface(ctrl)
messages := mock_store.NewMockMessagesPersistenceInterface(ctrl)
kafkaBus = &kafkaRuntime{}
globals.hub = &Hub{routeSrv: make(chan *ServerComMessage, 1)}
globals.hub = &Hub{routeSrv: make(chan *ServerComMessage, 3)}
store.Subs = subs
store.Topics = topics
store.Messages = messages
@@ -4883,6 +4883,24 @@ func TestServeIMMessageForwardKafkaAssignsSeqAndBroadcasts(t *testing.T) {
default:
t.Fatal("expected forwarded message to be broadcast")
}
presByUser := make(map[string]*MsgServerPres)
for range 2 {
select {
case delivered := <-globals.hub.routeSrv:
if delivered.Pres == nil {
t.Fatalf("unexpected non-presence message: %#v", delivered)
}
presByUser[delivered.RcptTo] = delivered.Pres
default:
t.Fatal("expected forwarded message presence notifications")
}
}
if pres := presByUser[types.Uid(42).UserId()]; pres == nil || pres.Topic != "me" || pres.What != "msg" || pres.Src != targetUser.UserId() || pres.SeqId != 35 || pres.AcsActor != "" || pres.SkipTopic != targetTopic {
t.Fatalf("unexpected sender presence: %#v", pres)
}
if pres := presByUser[targetUser.UserId()]; pres == nil || pres.Topic != "me" || pres.What != "msg" || pres.Src != types.Uid(42).UserId() || pres.SeqId != 35 || pres.AcsActor != types.Uid(42).UserId() || pres.SkipTopic != targetTopic {
t.Fatalf("unexpected receiver presence: %#v", pres)
}
}
func TestServeIMMessageForwardBundleSavesForwardBundle(t *testing.T) {