Making changes to wrappers

This commit is contained in:
aya 2025-02-03 13:24:34 +02:00
parent c730ab916a
commit 22956c6dd8
5 changed files with 69 additions and 77 deletions

View File

@ -20,7 +20,7 @@ type WakuNodeWrapper struct {
}
// 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 {
@ -32,10 +32,10 @@ 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
}
@ -58,7 +58,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
@ -76,7 +76,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
@ -93,7 +93,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
@ -117,7 +117,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
@ -143,8 +143,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))
@ -163,7 +163,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 {
@ -183,7 +183,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 {
@ -208,7 +208,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
@ -235,7 +235,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))
@ -254,7 +254,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
@ -286,7 +286,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_DisconnectPeer(target *WakuNodeWrapper)
}
// Wrapper for Peer Exchange Request
func (wrapper *WakuNodeWrapper) Wrappers_PeerExchangeRequest(numPeers uint64) (uint64, error) {
func (wrapper *WakuNodeWrapper) PeerExchangeRequest(numPeers uint64) (uint64, error) {
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot perform peer exchange; node is nil", zap.Error(err))
return 0, err
@ -304,7 +304,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_PeerExchangeRequest(numPeers uint64) (u
}
// Wrapper for Start Discovery V5
func (wrapper *WakuNodeWrapper) Wrappers_StartDiscV5() error {
func (wrapper *WakuNodeWrapper) StartDiscV5() error {
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot start Discovery V5; node is nil", zap.Error(err))
return err
@ -327,7 +327,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_StartDiscV5() error {
}
// Wrapper for Stop Discovery V5
func (wrapper *WakuNodeWrapper) Wrappers_StopDiscV5() error {
func (wrapper *WakuNodeWrapper) StopDiscV5() error {
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot stop Discovery V5; node is nil", zap.Error(err))
return err
@ -350,7 +350,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_StopDiscV5() error {
return nil
}
func (wrapper *WakuNodeWrapper) Wrappers_Version() (string, error) {
func (wrapper *WakuNodeWrapper) Version() (string, error) {
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("cannot get version; node is nil", zap.Error(err))
return "", err
@ -367,7 +367,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_Version() (string, error) {
return version, nil
}
func (wrapper *WakuNodeWrapper) Wrappers_CreateMessage(customMessage ...*pb.WakuMessage) *pb.WakuMessage {
func (wrapper *WakuNodeWrapper) CreateMessage(customMessage ...*pb.WakuMessage) *pb.WakuMessage {
logger, _ := zap.NewDevelopment()
logger.Debug("Creating a WakuMessage")
@ -388,7 +388,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_CreateMessage(customMessage ...*pb.Waku
return defaultMessage
}
func (wrapper *WakuNodeWrapper) Wrappers_VerifyMessageReceived(expectedMessage *pb.WakuMessage, expectedHash common.MessageHash) error {
func (wrapper *WakuNodeWrapper) VerifyMessageReceived(expectedMessage *pb.WakuMessage, expectedHash common.MessageHash) error {
logger, _ := zap.NewDevelopment()
logger.Debug("Verifying if the message was received")
@ -418,13 +418,13 @@ func (wrapper *WakuNodeWrapper) Wrappers_VerifyMessageReceived(expectedMessage *
}
}
func Wrappers_ConnectAllPeers(nodes []*WakuNodeWrapper) error {
func ConnectAllPeers(nodes []*WakuNodeWrapper) error {
logger, _ := zap.NewDevelopment()
logger.Debug("Connecting nodes in a relay chain")
for i := 0; i < len(nodes)-1; i++ {
logger.Debug("Connecting node", zap.Int("from", i), zap.Int("to", i+1))
err := nodes[i].Wrappers_ConnectPeer(nodes[i+1])
err := nodes[i].ConnectPeer(nodes[i+1])
if err != nil {
logger.Debug("Failed to connect nodes", zap.Error(err))
return err

View File

@ -10,7 +10,7 @@ import (
"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 {
@ -24,19 +24,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 {
@ -52,7 +44,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_RelayUnsubscribe(pubsubTopic string) er
// Ensure the unsubscription happened by verifying the relay peers count
/*
numRelayPeers, err := wrapper.Wrappers_GetNumConnectedRelayPeers(pubsubTopic)
numRelayPeers, err := wrapper.GetNumConnectedRelayPeers(pubsubTopic)
if err != nil {
utilities.Error("Failed to verify unsubscription from relay topic", zap.Error(err))
return err
@ -66,7 +58,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_RelayUnsubscribe(pubsubTopic string) er
return nil
}
func (wrapper *WakuNodeWrapper) Wrappers_RelayPublish(pubsubTopic string, message *pb.WakuMessage) (common.MessageHash, error) {
func (wrapper *WakuNodeWrapper) RelayPublish(pubsubTopic string, message *pb.WakuMessage) (common.MessageHash, error) {
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("cannot publish message; node is nil", zap.Error(err))
return "", err

View File

@ -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")

View File

@ -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")

View File

@ -23,11 +23,11 @@ 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
@ -36,7 +36,7 @@ func TestRelaySubscribeToDefaultTopic(t *testing.T) {
utilities.Debug("Fetching number of connected relay peers before subscription", zap.String("topic", defaultPubsubTopic))
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))
@ -53,29 +53,29 @@ func TestRelayMessageTransmission(t *testing.T) {
// Configuration for sender node
senderConfig := *utilities.DefaultWakuConfig
senderConfig.Relay = true
senderNode, err := testlibs.Wrappers_StartWakuNode(&senderConfig, logger.Named("SenderNode"))
senderNode, err := testlibs.StartWakuNode(&senderConfig, logger.Named("SenderNode"))
require.NoError(t, err)
defer senderNode.Wrappers_StopAndDestroy()
defer senderNode.StopAndDestroy()
// Configuration for receiver node
receiverConfig := *utilities.DefaultWakuConfig
receiverConfig.Relay = true
receiverNode, err := testlibs.Wrappers_StartWakuNode(&receiverConfig, logger.Named("ReceiverNode"))
receiverNode, err := testlibs.StartWakuNode(&receiverConfig, logger.Named("ReceiverNode"))
require.NoError(t, err)
defer receiverNode.Wrappers_StopAndDestroy()
defer receiverNode.StopAndDestroy()
logger.Debug("Connecting sender and receiver")
err = senderNode.Wrappers_ConnectPeer(receiverNode)
err = senderNode.ConnectPeer(receiverNode)
require.NoError(t, err)
logger.Debug("Subscribing receiver to the default pubsub topic")
defaultPubsubTopic := utilities.DefaultPubsubTopic
err = receiverNode.Wrappers_RelaySubscribe(defaultPubsubTopic)
err = receiverNode.RelaySubscribe(defaultPubsubTopic)
require.NoError(t, err)
logger.Debug("Creating and publishing message")
message := senderNode.Wrappers_CreateMessage()
msgHash, err := senderNode.Wrappers_RelayPublish(defaultPubsubTopic, message)
message := senderNode.CreateMessage()
msgHash, err := senderNode.RelayPublish(defaultPubsubTopic, message)
require.NoError(t, err)
require.NotEmpty(t, msgHash)
@ -83,7 +83,7 @@ func TestRelayMessageTransmission(t *testing.T) {
time.Sleep(2 * time.Second)
logger.Debug("Verifying message reception using the new wrapper")
err = receiverNode.Wrappers_VerifyMessageReceived(message, msgHash)
err = receiverNode.VerifyMessageReceived(message, msgHash)
require.NoError(t, err, "message verification failed")
logger.Debug("TestRelayMessageTransmission completed successfully")
@ -106,26 +106,26 @@ func TestRelayMessageBroadcast(t *testing.T) {
nodeConfig := *utilities.DefaultWakuConfig
nodeConfig.Relay = true
node, err := testlibs.Wrappers_StartWakuNode(&nodeConfig, logger.Named(nodeNames[i]))
node, err := testlibs.StartWakuNode(&nodeConfig, logger.Named(nodeNames[i]))
require.NoError(t, err)
defer node.Wrappers_StopAndDestroy()
defer node.StopAndDestroy()
nodes[i] = node
}
err = testlibs.Wrappers_ConnectAllPeers(nodes)
err = testlibs.ConnectAllPeers(nodes)
require.NoError(t, err)
logger.Debug("Subscribing nodes to the default pubsub topic")
for _, node := range nodes {
err := node.Wrappers_RelaySubscribe(defaultPubsubTopic)
err := node.RelaySubscribe(defaultPubsubTopic)
require.NoError(t, err)
}
senderNode := nodes[0]
logger.Debug("SenderNode is publishing a message")
message := senderNode.Wrappers_CreateMessage()
msgHash, err := senderNode.Wrappers_RelayPublish(defaultPubsubTopic, message)
message := senderNode.CreateMessage()
msgHash, err := senderNode.RelayPublish(defaultPubsubTopic, message)
require.NoError(t, err)
require.NotEmpty(t, msgHash)
@ -135,7 +135,7 @@ func TestRelayMessageBroadcast(t *testing.T) {
logger.Debug("Verifying message reception for each node")
for i, node := range nodes {
logger.Debug("Verifying message for node", zap.String("node", nodeNames[i]))
err := node.Wrappers_VerifyMessageReceived(message, msgHash)
err := node.VerifyMessageReceived(message, msgHash)
require.NoError(t, err, "message verification failed for node: "+nodeNames[i])
}
@ -154,23 +154,23 @@ func TestSendmsgInvalidPayload(t *testing.T) {
logger.Debug("Creating nodes")
senderNodeConfig := *utilities.DefaultWakuConfig
senderNodeConfig.Relay = true
senderNode, err := testlibs.Wrappers_StartWakuNode(&senderNodeConfig, logger.Named(nodeNames[0]))
senderNode, err := testlibs.StartWakuNode(&senderNodeConfig, logger.Named(nodeNames[0]))
require.NoError(t, err)
defer senderNode.Wrappers_StopAndDestroy()
defer senderNode.StopAndDestroy()
receiverNodeConfig := *utilities.DefaultWakuConfig
receiverNodeConfig.Relay = true
receiverNode, err := testlibs.Wrappers_StartWakuNode(&receiverNodeConfig, logger.Named(nodeNames[1]))
receiverNode, err := testlibs.StartWakuNode(&receiverNodeConfig, logger.Named(nodeNames[1]))
require.NoError(t, err)
defer receiverNode.Wrappers_StopAndDestroy()
defer receiverNode.StopAndDestroy()
logger.Debug("Connecting SenderNode and PeerNode1")
err = senderNode.Wrappers_ConnectPeer(receiverNode)
err = senderNode.ConnectPeer(receiverNode)
require.NoError(t, err)
logger.Debug("Subscribing SenderNode to the default pubsub topic")
err = senderNode.Wrappers_RelaySubscribe(defaultPubsubTopic)
err = senderNode.RelaySubscribe(defaultPubsubTopic)
require.NoError(t, err)
logger.Debug("SenderNode is publishing an invalid message")
@ -179,9 +179,9 @@ func TestSendmsgInvalidPayload(t *testing.T) {
Version: proto.Uint32(0),
}
message := senderNode.Wrappers_CreateMessage(invalidMessage)
message := senderNode.CreateMessage(invalidMessage)
msgHash, err := senderNode.Wrappers_RelayPublish(defaultPubsubTopic, message)
msgHash, err := senderNode.RelayPublish(defaultPubsubTopic, message)
logger.Debug("Verifying if message was sent or failed")
if err != nil {