making sure connections stabilize before sending messages

This commit is contained in:
Gabriel mermelstein 2025-05-30 12:44:20 +02:00
parent 9ca45ee274
commit 3bbb9c8ab2
No known key found for this signature in database
GPG Key ID: 82B8134785FEAE0D

View File

@ -5,6 +5,7 @@ import (
"testing"
"time"
"github.com/cenkalti/backoff/v3"
"github.com/stretchr/testify/require"
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
@ -1178,6 +1179,31 @@ func TestStoredDuplicateMessage(t *testing.T) {
err = node2.ConnectPeer(node1)
require.NoError(t, err, "Failed to connect Node2 to Node1")
Debug("Waiting for peer connections to stabilize")
options := func(b *backoff.ExponentialBackOff) {
b.MaxElapsedTime = 10 * time.Second
}
require.NoError(t, RetryWithBackOff(func() error {
numPeersNode1, err := node1.GetNumConnectedRelayPeers(DefaultPubsubTopic)
if err != nil {
return err
}
if numPeersNode1 == 0 {
return fmt.Errorf("node1 has 0 relay peers, expected at least 1")
}
numPeersNode2, err := node2.GetNumConnectedRelayPeers(DefaultPubsubTopic)
if err != nil {
return err
}
if numPeersNode2 == 0 {
return fmt.Errorf("node2 has 0 relay peers, expected at least 1")
}
return nil
}, options), "Peers did not stabilize in time")
queryTimestamp := proto.Int64(time.Now().UnixNano())
var msg = node1.CreateMessage()
Debug("Node1 is publishing two identical messages")