Fix review points

This commit is contained in:
aya 2025-01-28 15:08:23 +02:00
parent 74bb730301
commit 3223548e57
6 changed files with 61 additions and 79 deletions

View File

@ -5,7 +5,7 @@ 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"
@ -38,8 +38,7 @@ func Wrappers_StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*Wa
utilities.Debug("Attempting to start WakuNode")
wrapper := &WakuNodeWrapper{WakuNode: node}
if wrapper.WakuNode == nil {
err := errors.New("WakuNode instance is nil")
if err := utilities.CheckWakuNodeNull(logger, wrapper.WakuNode); err != nil {
utilities.Error("Failed to start WakuNode", zap.Error(err))
return nil, err
}
@ -54,10 +53,9 @@ func Wrappers_StartWakuNode(customCfg *waku.WakuConfig, logger *zap.Logger) (*Wa
return wrapper, nil
}
// Stops the WakuNode .
// Stops the WakuNode.
func (node *WakuNodeWrapper) Wrappers_Stop() error {
if node == nil || node.WakuNode == nil {
err := errors.New("WakuNode instance is nil")
if err := utilities.CheckWakuNodeNull(nil, node.WakuNode); err != nil {
utilities.Error("Failed to stop WakuNode", zap.Error(err))
return err
}
@ -73,10 +71,9 @@ func (node *WakuNodeWrapper) Wrappers_Stop() error {
return nil
}
// Destroys the WakuNode .
// Destroys the WakuNode.
func (node *WakuNodeWrapper) Wrappers_Destroy() error {
if node == nil || node.WakuNode == nil {
err := errors.New("WakuNode instance is nil")
if err := utilities.CheckWakuNodeNull(nil, node.WakuNode); err != nil {
utilities.Error("Failed to destroy WakuNode", zap.Error(err))
return err
}
@ -93,8 +90,7 @@ func (node *WakuNodeWrapper) Wrappers_Destroy() error {
}
func (wrapper *WakuNodeWrapper) Wrappers_StopAndDestroy() error {
if wrapper.WakuNode == nil {
err := errors.New("WakuNode instance is nil")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Failed to stop or destroy WakuNode", zap.Error(err))
return err
}
@ -118,8 +114,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_StopAndDestroy() error {
}
func (wrapper *WakuNodeWrapper) Wrappers_GetConnectedPeers() ([]peer.ID, error) {
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in WakuNodeWrapper")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot proceed; node is nil", zap.Error(err))
return nil, err
}
@ -147,10 +142,8 @@ func (wrapper *WakuNodeWrapper) Wrappers_GetConnectedPeers() ([]peer.ID, error)
func (wrapper *WakuNodeWrapper) Wrappers_GetNumConnectedRelayPeers(optPubsubTopic ...string) (int, error) {
utilities.Debug("Wrappers_GetNumConnectedRelayPeers called")
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in WakuNodeWrapper")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot proceed; node is nil", zap.Error(err))
// Return an error immediately to “stop” the function
return 0, err
}
@ -169,13 +162,11 @@ func (wrapper *WakuNodeWrapper) Wrappers_GetNumConnectedRelayPeers(optPubsubTopi
func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper) error {
utilities.Debug("Connect node to peer")
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in caller")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot call Connect; caller node is nil", zap.Error(err))
return err
}
if targetNode == nil || targetNode.WakuNode == nil {
err := errors.New("WakuNode is nil in target")
if err := utilities.CheckWakuNodeNull(nil, targetNode.WakuNode); err != nil {
utilities.Error("Cannot connect; target node is nil", zap.Error(err))
return err
}
@ -242,13 +233,11 @@ func (wrapper *WakuNodeWrapper) Wrappers_ConnectPeer(targetNode *WakuNodeWrapper
func (wrapper *WakuNodeWrapper) Wrappers_DisconnectPeer(target *WakuNodeWrapper) error {
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in caller")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot call Disconnect; caller node is nil", zap.Error(err))
return err
}
if target == nil || target.WakuNode == nil {
err := errors.New("target WakuNode is nil")
if err := utilities.CheckWakuNodeNull(nil, target.WakuNode); err != nil {
utilities.Error("Cannot disconnect; target node is nil", zap.Error(err))
return err
}
@ -291,5 +280,3 @@ func (wrapper *WakuNodeWrapper) Wrappers_DisconnectPeer(target *WakuNodeWrapper)
utilities.Debug("Successfully disconnected peer", zap.String("peerID", peerID.String()))
return nil
}

View File

@ -10,8 +10,7 @@ import (
func (wrapper *WakuNodeWrapper) Wrappers_RelaySubscribe(pubsubTopic string) error {
utilities.Debug("Attempting to subscribe to relay topic", zap.String("topic", pubsubTopic))
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in WakuNodeWrapper")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot subscribe; node is nil", zap.Error(err))
return err
}
@ -36,8 +35,7 @@ func (wrapper *WakuNodeWrapper) Wrappers_RelaySubscribe(pubsubTopic string) erro
func (wrapper *WakuNodeWrapper) Wrappers_RelayUnsubscribe(pubsubTopic string) error {
utilities.Debug("Attempting to unsubscribe from relay topic", zap.String("topic", pubsubTopic))
if wrapper.WakuNode == nil {
err := errors.New("WakuNode is nil in WakuNodeWrapper")
if err := utilities.CheckWakuNodeNull(nil, wrapper.WakuNode); err != nil {
utilities.Error("Cannot unsubscribe; node is nil", zap.Error(err))
return err
}

View File

@ -4,7 +4,8 @@ import (
"math/rand"
"sync"
"time"
"errors"
"go.uber.org/zap"
"github.com/waku-org/waku-go-bindings/waku"
)
@ -48,3 +49,15 @@ func GenerateUniquePort() int {
portsMutex.Unlock()
}
}
func CheckWakuNodeNull(logger *zap.Logger, node interface{}) error {
if node == nil {
err := errors.New("WakuNode instance is nil")
if logger != nil {
logger.Error("WakuNode is nil", zap.Error(err))
}
return err
}
return nil
}

View File

@ -1,48 +0,0 @@
package waku_go_tests
import (
"testing"
"time"
"github.com/stretchr/testify/require"
testlibs "github.com/waku-org/waku-go-bindings/testlibs/src"
utilities "github.com/waku-org/waku-go-bindings/testlibs/utilities"
"go.uber.org/zap"
)
func TestBasicWakuNodes(t *testing.T) {
utilities.Debug("Create logger isntance")
logger, _ := zap.NewDevelopment()
nodeCfg1 := *utilities.DefaultWakuConfig
nodeCfg1.Relay = true
nodeCfg2 := *utilities.DefaultWakuConfig
nodeCfg2.Relay = true
utilities.Debug("Starting the first WakuNodeWrapper")
node1, err := testlibs.Wrappers_StartWakuNode(&nodeCfg1, logger.Named("node1"))
require.NoError(t, err, "Failed to create the first WakuNodeWrapper")
utilities.Debug("Successfully created the first WakuNodeWrapper")
utilities.Debug("Starting the second WakuNodeWrapper")
node2, err := testlibs.Wrappers_StartWakuNode(&nodeCfg2, logger.Named("node2"))
require.NoError(t, err, "Failed to create the second WakuNodeWrapper")
utilities.Debug("Successfully created the second WakuNodeWrapper")
require.NoError(t, err, "Failed to start the first WakuNodeWrapper")
utilities.Debug("Successfully started the first WakuNodeWrapper")
require.NoError(t, err, "Failed to start the second WakuNodeWrapper")
utilities.Debug("Successfully started the second WakuNodeWrapper")
time.Sleep(2 * time.Second)
utilities.Debug("Stopping the first WakuNodeWrapper")
err = node1.Wrappers_StopAndDestroy()
require.NoError(t, err, "Failed to stop+destroy Node 1")
err = node2.Wrappers_StopAndDestroy()
require.NoError(t, err, "Failed to stop+destroy Node 2")
}

View File

@ -0,0 +1,32 @@
package waku_go_tests
import (
"testing"
"time"
"github.com/stretchr/testify/require"
testlibs "github.com/waku-org/waku-go-bindings/testlibs/src"
utilities "github.com/waku-org/waku-go-bindings/testlibs/utilities"
"go.uber.org/zap"
)
func TestBasicWakuNodes(t *testing.T) {
utilities.Debug("Create logger instance")
logger, _ := zap.NewDevelopment()
nodeCfg := *utilities.DefaultWakuConfig
nodeCfg.Relay = true
utilities.Debug("Starting the WakuNodeWrapper")
node, err := testlibs.Wrappers_StartWakuNode(&nodeCfg, logger.Named("node"))
require.NoError(t, err, "Failed to create the WakuNodeWrapper")
defer func() {
utilities.Debug("Stopping and destroying Node")
node.Wrappers_StopAndDestroy()
}()
utilities.Debug("Successfully created the WakuNodeWrapper")
time.Sleep(2 * time.Second)
err = node.Wrappers_StopAndDestroy()
require.NoError(t, err, "Failed to stop+destroy Node")
}