mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-04 06:53:11 +00:00
Fix review points
This commit is contained in:
parent
b81b4370af
commit
a64639f39b
@ -5,19 +5,19 @@ import (
|
||||
"errors"
|
||||
|
||||
"github.com/libp2p/go-libp2p/core/peer"
|
||||
|
||||
utilities "github.com/waku-org/waku-go-bindings/testlibs/utilities"
|
||||
"github.com/waku-org/waku-go-bindings/waku"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type WakuNodeWrapper struct {
|
||||
*waku.WakuNode
|
||||
config *waku.WakuConfig
|
||||
}
|
||||
|
||||
// This function create waku node from config and start it
|
||||
func Wrappers_StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*WakuNodeWrapper, error) {
|
||||
|
||||
func StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*WakuNodeWrapper, error) {
|
||||
var nodeCfg waku.WakuConfig
|
||||
|
||||
if customCfg == nil {
|
||||
@ -29,15 +29,16 @@ func Wrappers_StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*Wa
|
||||
nodeCfg.Discv5UdpPort = utilities.GenerateUniquePort()
|
||||
nodeCfg.TcpPort = utilities.GenerateUniquePort()
|
||||
|
||||
utilities.Debug("Create node with default config")
|
||||
utilities.Debug("Create node successfully")
|
||||
node, err := waku.NewWakuNode(&nodeCfg, logger)
|
||||
if err != nil {
|
||||
utilities.Error("Can't create node")
|
||||
utilities.Error("Can't create node", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
utilities.Debug("Attempting to start WakuNode")
|
||||
wrapper := &WakuNodeWrapper{WakuNode: node}
|
||||
wrapper := &WakuNodeWrapper{WakuNode: node, config: &nodeCfg} // Store config in wrapper
|
||||
|
||||
if err := utilities.CheckWakuNodeNull(logger, wrapper.WakuNode); err != nil {
|
||||
utilities.Error("Failed to start WakuNode", zap.Error(err))
|
||||
return nil, err
|
||||
@ -54,7 +55,7 @@ func Wrappers_StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*Wa
|
||||
}
|
||||
|
||||
// Stops the WakuNode.
|
||||
func (node *WakuNodeWrapper) Wrappers_Stop() error {
|
||||
func (node *WakuNodeWrapper) Stop() error {
|
||||
if err := utilities.CheckWakuNodeNull(nil, node.WakuNode); err != nil {
|
||||
utilities.Error("Failed to stop WakuNode", zap.Error(err))
|
||||
return err
|
||||
@ -72,7 +73,7 @@ func (node *WakuNodeWrapper) Wrappers_Stop() error {
|
||||
}
|
||||
|
||||
// Destroys the WakuNode.
|
||||
func (node *WakuNodeWrapper) Wrappers_Destroy() error {
|
||||
func (node *WakuNodeWrapper) Destroy() error {
|
||||
if err := utilities.CheckWakuNodeNull(nil, node.WakuNode); err != nil {
|
||||
utilities.Error("Failed to destroy WakuNode", zap.Error(err))
|
||||
return err
|
||||
@ -89,7 +90,7 @@ func (node *WakuNodeWrapper) Wrappers_Destroy() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_StopAndDestroy() error {
|
||||
func (wrapper *WakuNodeWrapper) StopAndDestroy() error {
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
utilities.Error("Failed to stop or destroy WakuNode", zap.Error(err))
|
||||
return err
|
||||
@ -113,7 +114,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_StopAndDestroy() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_GetConnectedPeers() ([]peer.ID, error) {
|
||||
func (wrapper *WakuNodeWrapper) GetConnectedPeers() ([]peer.ID, error) {
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
utilities.Error("Cannot proceed; node is nil", zap.Error(err))
|
||||
return nil, err
|
||||
@ -139,8 +140,8 @@ func (wrapper *WakuNodeWrapper) Wrappers_GetConnectedPeers() ([]peer.ID, error)
|
||||
return peers, nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_GetNumConnectedRelayPeers(optPubsubTopic ...string) (int, error) {
|
||||
utilities.Debug("Wrappers_GetNumConnectedRelayPeers called")
|
||||
func (wrapper *WakuNodeWrapper) GetNumConnectedRelayPeers(optPubsubTopic ...string) (int, error) {
|
||||
utilities.Debug("GetNumConnectedRelayPeers called")
|
||||
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
utilities.Error("Cannot proceed; node is nil", zap.Error(err))
|
||||
@ -159,7 +160,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_GetNumConnectedRelayPeers(optPubsubTopi
|
||||
return numPeers, nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper) error {
|
||||
func (wrapper *WakuNodeWrapper) ConnectPeer(targetNode *WakuNodeWrapper) error {
|
||||
|
||||
utilities.Debug("Connect node to peer")
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
@ -179,7 +180,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper
|
||||
|
||||
utilities.Debug("Get connected peers before attempting to connect")
|
||||
|
||||
connectedPeersBefore, err := wrapper.Wrappers_GetConnectedPeers()
|
||||
connectedPeersBefore, err := wrapper.GetConnectedPeers()
|
||||
if err != nil {
|
||||
utilities.Debug("Could not fetch connected peers before connecting (might be none yet)", zap.Error(err))
|
||||
} else {
|
||||
@ -204,7 +205,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper
|
||||
}
|
||||
|
||||
utilities.Debug("Get connected peers after attempting to connect")
|
||||
connectedPeersAfter, err := wrapper.Wrappers_GetConnectedPeers()
|
||||
connectedPeersAfter, err := wrapper.GetConnectedPeers()
|
||||
if err != nil {
|
||||
utilities.Error("Failed to get connected peers after connecting", zap.Error(err))
|
||||
return err
|
||||
@ -231,7 +232,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper
|
||||
return nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_DisconnectPeer(target *WakuNodeWrapper) error {
|
||||
func (wrapper *WakuNodeWrapper) DisconnectPeer(target *WakuNodeWrapper) error {
|
||||
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
utilities.Error("Cannot call Disconnect; caller node is nil", zap.Error(err))
|
||||
@ -250,7 +251,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_DisconnectPeer(target *WakuNodeWrapper)
|
||||
return err
|
||||
}
|
||||
|
||||
connectedPeers, err := wrapper.Wrappers_GetConnectedPeers()
|
||||
connectedPeers, err := wrapper.GetConnectedPeers()
|
||||
if err != nil {
|
||||
utilities.Error("Failed to get connected peers", zap.Error(err))
|
||||
return err
|
||||
|
||||
@ -1,13 +1,11 @@
|
||||
package testlibs
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
utilities "github.com/waku-org/waku-go-bindings/testlibs/utilities"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_RelaySubscribe(pubsubTopic string) error {
|
||||
func (wrapper *WakuNodeWrapper) Relay_Subscribe(pubsubTopic string) error {
|
||||
utilities.Debug("Attempting to subscribe to relay topic", zap.String("topic", pubsubTopic))
|
||||
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
@ -21,18 +19,11 @@ func (wrapper *WakuNodeWrapper) Wrappers_RelaySubscribe(pubsubTopic string) erro
|
||||
return err
|
||||
}
|
||||
|
||||
// Ensure the subscription happened by checking the number of connected relay peers
|
||||
numRelayPeers, err := wrapper.Wrappers_GetNumConnectedRelayPeers(pubsubTopic)
|
||||
if err != nil || numRelayPeers == 0 {
|
||||
utilities.Error("Subscription verification failed: no connected relay peers found", zap.Error(err))
|
||||
return errors.New("subscription verification failed: no connected relay peers")
|
||||
}
|
||||
|
||||
utilities.Debug("Successfully subscribed to relay topic", zap.String("topic", pubsubTopic))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (wrapper *WakuNodeWrapper) Wrappers_RelayUnsubscribe(pubsubTopic string) error {
|
||||
func (wrapper *WakuNodeWrapper) Relay_Unsubscribe(pubsubTopic string) error {
|
||||
utilities.Debug("Attempting to unsubscribe from relay topic", zap.String("topic", pubsubTopic))
|
||||
|
||||
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
|
||||
@ -46,17 +37,6 @@ func (wrapper *WakuNodeWrapper) Wrappers_RelayUnsubscribe(pubsubTopic string) er
|
||||
return err
|
||||
}
|
||||
|
||||
// Ensure the unsubscription happened by verifying the relay peers count
|
||||
numRelayPeers, err := wrapper.Wrappers_GetNumConnectedRelayPeers(pubsubTopic)
|
||||
if err != nil {
|
||||
utilities.Error("Failed to verify unsubscription from relay topic", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
if numRelayPeers > 0 {
|
||||
utilities.Error("Unsubscription verification failed: relay peers still connected", zap.Int("relayPeers", numRelayPeers))
|
||||
return errors.New("unsubscription verification failed: relay peers still connected")
|
||||
}
|
||||
|
||||
utilities.Debug("Successfully unsubscribed from relay topic", zap.String("topic", pubsubTopic))
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -18,13 +18,13 @@ func TestBasicWakuNodes(t *testing.T) {
|
||||
nodeCfg.Relay = true
|
||||
|
||||
utilities.Debug("Starting the WakuNodeWrapper")
|
||||
node, err := testlibs.Wrappers_StartWakuNode(&nodeCfg, logger.Named("node"))
|
||||
node, err := testlibs.StartWakuNode(&nodeCfg, logger.Named("node"))
|
||||
require.NoError(t, err, "Failed to create the WakuNodeWrapper")
|
||||
|
||||
// Use defer to ensure proper cleanup
|
||||
defer func() {
|
||||
utilities.Debug("Stopping and destroying Node")
|
||||
node.Wrappers_StopAndDestroy()
|
||||
node.StopAndDestroy()
|
||||
}()
|
||||
utilities.Debug("Successfully created the WakuNodeWrapper")
|
||||
|
||||
|
||||
@ -16,24 +16,24 @@ func TestDisconnectPeerNodes(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// Create Node A
|
||||
nodeA, err := testlibs.Wrappers_StartWakuNode(nil, logger.Named("nodeA"))
|
||||
nodeA, err := testlibs.StartWakuNode(nil, logger.Named("nodeA"))
|
||||
require.NoError(t, err)
|
||||
defer nodeA.Wrappers_StopAndDestroy()
|
||||
defer nodeA.StopAndDestroy()
|
||||
|
||||
// Create Node B
|
||||
nodeB, err := testlibs.Wrappers_StartWakuNode(nil, logger.Named("nodeB"))
|
||||
nodeB, err := testlibs.StartWakuNode(nil, logger.Named("nodeB"))
|
||||
require.NoError(t, err)
|
||||
defer nodeB.Wrappers_StopAndDestroy()
|
||||
defer nodeB.StopAndDestroy()
|
||||
|
||||
// Connect Node A to Node B
|
||||
err = nodeA.Wrappers_ConnectPeer(nodeB)
|
||||
err = nodeA.ConnectPeer(nodeB)
|
||||
require.NoError(t, err, "failed to connect nodes")
|
||||
|
||||
// Wait for 3 seconds
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
// Disconnect Node A from Node B
|
||||
err = nodeA.Wrappers_DisconnectPeer(nodeB)
|
||||
err = nodeA.DisconnectPeer(nodeB)
|
||||
require.NoError(t, err, "failed to disconnect nodes")
|
||||
}
|
||||
|
||||
@ -43,33 +43,33 @@ func TestConnectMultipleNodesToSingleNode(t *testing.T) {
|
||||
|
||||
utilities.Debug("Starting test to connect multiple nodes to a single node")
|
||||
utilities.Debug("Create 3 nodes")
|
||||
node1, err := testlibs.Wrappers_StartWakuNode(nil, logger.Named("Node1"))
|
||||
node1, err := testlibs.StartWakuNode(nil, logger.Named("Node1"))
|
||||
require.NoError(t, err)
|
||||
defer func() {
|
||||
utilities.Debug("Stopping and destroying Node 1")
|
||||
node1.Wrappers_StopAndDestroy()
|
||||
node1.StopAndDestroy()
|
||||
}()
|
||||
|
||||
node2, err := testlibs.Wrappers_StartWakuNode(nil, logger.Named("Node2"))
|
||||
node2, err := testlibs.StartWakuNode(nil, logger.Named("Node2"))
|
||||
require.NoError(t, err)
|
||||
defer func() {
|
||||
utilities.Debug("Stopping and destroying Node 2")
|
||||
node2.Wrappers_StopAndDestroy()
|
||||
node2.StopAndDestroy()
|
||||
}()
|
||||
|
||||
node3, err := testlibs.Wrappers_StartWakuNode(nil, logger.Named("Node3"))
|
||||
node3, err := testlibs.StartWakuNode(nil, logger.Named("Node3"))
|
||||
require.NoError(t, err)
|
||||
defer func() {
|
||||
utilities.Debug("Stopping and destroying Node 3")
|
||||
node3.Wrappers_StopAndDestroy()
|
||||
node3.StopAndDestroy()
|
||||
}()
|
||||
|
||||
utilities.Debug("Connecting Node 2 to Node 1")
|
||||
err = node2.Wrappers_ConnectPeer(node1)
|
||||
err = node2.ConnectPeer(node1)
|
||||
require.NoError(t, err)
|
||||
|
||||
utilities.Debug("Connecting Node 3 to Node 1")
|
||||
err = node3.Wrappers_ConnectPeer(node1)
|
||||
err = node3.ConnectPeer(node1)
|
||||
require.NoError(t, err)
|
||||
|
||||
utilities.Debug("Test completed successfully: multiple nodes connected to a single node")
|
||||
|
||||
@ -20,27 +20,27 @@ func TestRelaySubscribeToDefaultTopic(t *testing.T) {
|
||||
wakuConfig.Relay = true
|
||||
|
||||
utilities.Debug("Creating a Waku node with relay enabled")
|
||||
node, err := testlibs.Wrappers_StartWakuNode(&wakuConfig, logger.Named("TestNode"))
|
||||
node, err := testlibs.StartWakuNode(&wakuConfig, logger.Named("TestNode"))
|
||||
require.NoError(t, err)
|
||||
defer func() {
|
||||
utilities.Debug("Stopping and destroying the Waku node")
|
||||
node.Wrappers_StopAndDestroy()
|
||||
node.StopAndDestroy()
|
||||
}()
|
||||
|
||||
defaultPubsubTopic := utilities.DefaultPubsubTopic
|
||||
utilities.Debug("Default pubsub topic retrieved", zap.String("topic", defaultPubsubTopic))
|
||||
|
||||
utilities.Debug("Fetching number of connected relay peers before subscription", zap.String("topic", defaultPubsubTopic))
|
||||
numPeersBefore, err := node.Wrappers_GetNumConnectedRelayPeers(defaultPubsubTopic)
|
||||
numPeersBefore, err := node.GetNumConnectedRelayPeers(defaultPubsubTopic)
|
||||
require.NoError(t, err)
|
||||
utilities.Debug("Number of connected relay peers before subscription", zap.Int("count", numPeersBefore))
|
||||
|
||||
utilities.Debug("Attempting to subscribe to the default pubsub topic", zap.String("topic", defaultPubsubTopic))
|
||||
err = node.Wrappers_RelaySubscribe(defaultPubsubTopic)
|
||||
err = node.RelaySubscribe(defaultPubsubTopic)
|
||||
require.NoError(t, err)
|
||||
|
||||
utilities.Debug("Fetching number of connected relay peers after subscription", zap.String("topic", defaultPubsubTopic))
|
||||
numPeersAfter, err := node.Wrappers_GetNumConnectedRelayPeers(defaultPubsubTopic)
|
||||
numPeersAfter, err := node.GetNumConnectedRelayPeers(defaultPubsubTopic)
|
||||
require.NoError(t, err)
|
||||
utilities.Debug("Number of connected relay peers after subscription", zap.Int("count", numPeersAfter))
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user