diff --git a/testlibs/src/main-wrappers.go b/testlibs/src/main-wrappers.go index e886ffa..761da74 100644 --- a/testlibs/src/main-wrappers.go +++ b/testlibs/src/main-wrappers.go @@ -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 diff --git a/testlibs/src/relay_wrapper.go b/testlibs/src/relay_wrapper.go index 7710b26..9080c06 100644 --- a/testlibs/src/relay_wrapper.go +++ b/testlibs/src/relay_wrapper.go @@ -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 } diff --git a/testlibs/waku-go-tests/nodes_basic_test.go b/testlibs/waku-go-tests/nodes_basic_test.go index a7b71c5..e7a6a0b 100644 --- a/testlibs/waku-go-tests/nodes_basic_test.go +++ b/testlibs/waku-go-tests/nodes_basic_test.go @@ -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") diff --git a/testlibs/waku-go-tests/peers_connection_test.go b/testlibs/waku-go-tests/peers_connection_test.go index e3fa985..5adaf08 100644 --- a/testlibs/waku-go-tests/peers_connection_test.go +++ b/testlibs/waku-go-tests/peers_connection_test.go @@ -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") diff --git a/testlibs/waku-go-tests/relay_test.go b/testlibs/waku-go-tests/relay_test.go index 52828b7..e87c9f0 100644 --- a/testlibs/waku-go-tests/relay_test.go +++ b/testlibs/waku-go-tests/relay_test.go @@ -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))