From 3223548e57726edcef15a9dac1e97233a3efa6b7 Mon Sep 17 00:00:00 2001 From: aya Date: Tue, 28 Jan 2025 15:08:23 +0200 Subject: [PATCH] Fix review points --- .../{testing-wrappers.go => main-wrappers.go} | 39 +++++---------- .../{Relay_wrapper.go => relay_wrapper.go} | 6 +-- testlibs/utilities/utils.go | 15 +++++- testlibs/waku-go-tests/Nodes_basic_test.go | 48 ------------------- testlibs/waku-go-tests/nodes_basic_test.go | 32 +++++++++++++ ...ction_test.go => peers_connection_test.go} | 0 6 files changed, 61 insertions(+), 79 deletions(-) rename testlibs/src/{testing-wrappers.go => main-wrappers.go} (88%) rename testlibs/src/{Relay_wrapper.go => relay_wrapper.go} (92%) delete mode 100644 testlibs/waku-go-tests/Nodes_basic_test.go create mode 100644 testlibs/waku-go-tests/nodes_basic_test.go rename testlibs/waku-go-tests/{Peers_connection_test.go => peers_connection_test.go} (100%) diff --git a/testlibs/src/testing-wrappers.go b/testlibs/src/main-wrappers.go similarity index 88% rename from testlibs/src/testing-wrappers.go rename to testlibs/src/main-wrappers.go index a27a436..e886ffa 100644 --- a/testlibs/src/testing-wrappers.go +++ b/testlibs/src/main-wrappers.go @@ -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 } - - diff --git a/testlibs/src/Relay_wrapper.go b/testlibs/src/relay_wrapper.go similarity index 92% rename from testlibs/src/Relay_wrapper.go rename to testlibs/src/relay_wrapper.go index b43b4dd..7710b26 100644 --- a/testlibs/src/Relay_wrapper.go +++ b/testlibs/src/relay_wrapper.go @@ -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 } diff --git a/testlibs/utilities/utils.go b/testlibs/utilities/utils.go index 59298e4..1da1e37 100644 --- a/testlibs/utilities/utils.go +++ b/testlibs/utilities/utils.go @@ -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 +} \ No newline at end of file diff --git a/testlibs/waku-go-tests/Nodes_basic_test.go b/testlibs/waku-go-tests/Nodes_basic_test.go deleted file mode 100644 index 1f9ee54..0000000 --- a/testlibs/waku-go-tests/Nodes_basic_test.go +++ /dev/null @@ -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") -} - diff --git a/testlibs/waku-go-tests/nodes_basic_test.go b/testlibs/waku-go-tests/nodes_basic_test.go new file mode 100644 index 0000000..3dd133f --- /dev/null +++ b/testlibs/waku-go-tests/nodes_basic_test.go @@ -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") +} diff --git a/testlibs/waku-go-tests/Peers_connection_test.go b/testlibs/waku-go-tests/peers_connection_test.go similarity index 100% rename from testlibs/waku-go-tests/Peers_connection_test.go rename to testlibs/waku-go-tests/peers_connection_test.go