Fix racy TestReliableWebSocketSend (#19620)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
2a59047d07
Коммит
d04b69c9cb
@@ -338,24 +338,37 @@ func TestHubConnIndexInactive(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestReliableWebSocketSend(t *testing.T) {
|
||||
th := Setup(t)
|
||||
testCluster := &testlib.FakeClusterInterface{}
|
||||
|
||||
th := SetupWithClusterMock(t, testCluster)
|
||||
defer th.TearDown()
|
||||
|
||||
testCluster := &testlib.FakeClusterInterface{}
|
||||
th.Server.Cluster = testCluster
|
||||
|
||||
ev := model.NewWebSocketEvent("test_reliable_event", "", "", "", nil)
|
||||
ev := model.NewWebSocketEvent("test_unreliable_event", "", "", "", nil)
|
||||
ev = ev.SetBroadcast(&model.WebsocketBroadcast{})
|
||||
th.App.Publish(ev)
|
||||
ev = ev.SetBroadcast(&model.WebsocketBroadcast{
|
||||
ev2 := model.NewWebSocketEvent("test_reliable_event", "", "", "", nil)
|
||||
ev2 = ev2.SetBroadcast(&model.WebsocketBroadcast{
|
||||
ReliableClusterSend: true,
|
||||
})
|
||||
th.App.Publish(ev)
|
||||
th.App.Publish(ev2)
|
||||
|
||||
messages := testCluster.GetMessages()
|
||||
require.Len(t, messages, 2)
|
||||
require.Equal(t, model.ClusterSendBestEffort, messages[0].SendType)
|
||||
require.Equal(t, model.ClusterSendReliable, messages[1].SendType)
|
||||
|
||||
evJSON, err := ev.ToJSON()
|
||||
require.NoError(t, err)
|
||||
ev2JSON, err := ev2.ToJSON()
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Contains(t, messages, &model.ClusterMessage{
|
||||
Event: model.ClusterEventPublish,
|
||||
Data: evJSON,
|
||||
SendType: model.ClusterSendBestEffort,
|
||||
})
|
||||
require.Contains(t, messages, &model.ClusterMessage{
|
||||
Event: model.ClusterEventPublish,
|
||||
Data: ev2JSON,
|
||||
SendType: model.ClusterSendReliable,
|
||||
})
|
||||
}
|
||||
|
||||
func TestHubIsRegistered(t *testing.T) {
|
||||
|
||||
Ссылка в новой задаче
Block a user