mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-05 15:33:08 +00:00
Enhance Peer tests
This commit is contained in:
parent
886357d3ee
commit
d108ed15f0
@ -1422,7 +1422,15 @@ func StartWakuNode(nodeName string, customCfg *WakuConfig) (*WakuNode, error) {
|
||||
|
||||
var nodeCfg WakuConfig
|
||||
if customCfg == nil {
|
||||
tcpPort, udpPort, err := GetFreePortIfNeeded(0, 0)
|
||||
if err != nil {
|
||||
Error("Failed to allocate unique ports: %v", err)
|
||||
tcpPort, udpPort = 0, 0 // Fallback to OS-assigned ports
|
||||
}
|
||||
|
||||
nodeCfg = DefaultWakuConfig
|
||||
nodeCfg.TcpPort = tcpPort
|
||||
nodeCfg.Discv5UdpPort = udpPort
|
||||
} else {
|
||||
nodeCfg = *customCfg
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package waku
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -11,49 +12,59 @@ import (
|
||||
func TestDisconnectPeerNodes(t *testing.T) {
|
||||
Debug("Starting TestDisconnectPeerNodes")
|
||||
|
||||
// Create Node A
|
||||
nodeA, err := StartWakuNode("nodeA", nil)
|
||||
require.NoError(t, err, "Failed to start Node A")
|
||||
defer nodeA.StopAndDestroy()
|
||||
|
||||
// Create Node B
|
||||
nodeB, err := StartWakuNode("nodeB", nil)
|
||||
require.NoError(t, err, "Failed to start Node B")
|
||||
defer nodeB.StopAndDestroy()
|
||||
|
||||
// Connect Node A to Node B
|
||||
Debug("Connecting Node A to Node B")
|
||||
err = nodeA.ConnectPeer(nodeB)
|
||||
require.NoError(t, err, "Failed to connect nodes")
|
||||
|
||||
// Wait for 3 seconds
|
||||
Debug("Verifying connection between Node A and Node B")
|
||||
connectedPeers, err := nodeA.GetConnectedPeers()
|
||||
require.NoError(t, err, "Failed to get connected peers for Node A")
|
||||
nodeBPeerID, err := nodeB.PeerID()
|
||||
require.NoError(t, err, "Failed to get PeerID for Node B")
|
||||
require.True(t, slices.Contains(connectedPeers, nodeBPeerID), "Node B should be a peer of Node A before disconnection")
|
||||
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
// Disconnect Node A from Node B
|
||||
Debug("Disconnecting Node A from Node B")
|
||||
err = nodeA.DisconnectPeer(nodeB)
|
||||
require.NoError(t, err, "Failed to disconnect nodes")
|
||||
|
||||
Debug("Verifying disconnection between Node A and Node B")
|
||||
connectedPeers, err = nodeA.GetConnectedPeers()
|
||||
require.NoError(t, err, "Failed to get connected peers for Node A after disconnection")
|
||||
require.False(t, slices.Contains(connectedPeers, nodeBPeerID), "Node B should no longer be a peer of Node A after disconnection")
|
||||
|
||||
Debug("Test completed successfully: Node B was disconnected from Node A")
|
||||
}
|
||||
|
||||
func TestConnectMultipleNodesToSingleNode(t *testing.T) {
|
||||
Debug("Starting TestConnectMultipleNodesToSingleNode")
|
||||
|
||||
Debug("Creating 3 nodes")
|
||||
node1, err := StartWakuNode("Node1", nil)
|
||||
Debug("Creating 3 nodes with automatically assigned ports")
|
||||
|
||||
node1, err := StartWakuNode("node1", nil)
|
||||
require.NoError(t, err, "Failed to start Node 1")
|
||||
defer func() {
|
||||
Debug("Stopping and destroying Node 1")
|
||||
node1.StopAndDestroy()
|
||||
}()
|
||||
|
||||
node2, err := StartWakuNode("Node2", nil)
|
||||
node2, err := StartWakuNode("node2", nil)
|
||||
require.NoError(t, err, "Failed to start Node 2")
|
||||
defer func() {
|
||||
Debug("Stopping and destroying Node 2")
|
||||
node2.StopAndDestroy()
|
||||
}()
|
||||
|
||||
node3, err := StartWakuNode("Node3", nil)
|
||||
node3, err := StartWakuNode("node3", nil)
|
||||
require.NoError(t, err, "Failed to start Node 3")
|
||||
defer func() {
|
||||
Debug("Stopping and destroying Node 3")
|
||||
@ -68,5 +79,16 @@ func TestConnectMultipleNodesToSingleNode(t *testing.T) {
|
||||
err = node3.ConnectPeer(node1)
|
||||
require.NoError(t, err, "Failed to connect Node 3 to Node 1")
|
||||
|
||||
Debug("Test completed successfully: multiple nodes connected to a single node")
|
||||
Debug("Verifying connected peers for Node 3")
|
||||
connectedPeers, err := node3.GetConnectedPeers()
|
||||
require.NoError(t, err, "Failed to get connected peers for Node 3")
|
||||
node1PeerID, err := node1.PeerID()
|
||||
require.NoError(t, err, "Failed to get PeerID for Node 1")
|
||||
node2PeerID, err := node2.PeerID()
|
||||
require.NoError(t, err, "Failed to get PeerID for Node 2")
|
||||
|
||||
require.True(t, slices.Contains(connectedPeers, node1PeerID), "Node 1 should be a peer of Node 3")
|
||||
require.True(t, slices.Contains(connectedPeers, node2PeerID), "Node 2 should be a peer of Node 3")
|
||||
|
||||
Debug("Test completed successfully: multiple nodes connected to a single node and verified peers")
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user