Files

126 lines
3.2 KiB
Go
Raw Permalink Normal View History

package kernel
2025-02-12 13:21:47 +02:00
import (
"testing"
"time"
"github.com/logos-messaging/logos-delivery-go-bindings/pkg/kernel/common"
2025-02-12 13:21:47 +02:00
"github.com/stretchr/testify/require"
)
func TestBasicWakuNodes(t *testing.T) {
requiresNode(t)
logDebug("Starting TestBasicWakuNodes")
2025-02-12 13:21:47 +02:00
nodeCfg := DefaultWakuConfig
nodeCfg.Relay = true
logDebug("Starting the WakuNode")
node, err := StartWakuNode(&nodeCfg)
2025-02-12 13:21:47 +02:00
require.NoError(t, err, "Failed to create the WakuNode")
// Use defer to ensure proper cleanup
defer func() {
_ = node.Close()
2025-02-12 13:21:47 +02:00
}()
logDebug("Successfully created the WakuNode")
2025-02-12 13:21:47 +02:00
time.Sleep(2 * time.Second)
logDebug("TestBasicWakuNodes completed successfully")
2025-02-12 13:21:47 +02:00
}
/* artifact https://github.com/logos-messaging/logos-delivery-go-bindings/issues/40 */
2025-02-12 13:21:47 +02:00
func TestNodeRestart(t *testing.T) {
requiresNode(t)
2025-03-18 11:13:42 +02:00
t.Skip("Skipping test for open artifact ")
logDebug("Starting TestNodeRestart")
2025-02-12 13:21:47 +02:00
logDebug("Creating Node")
2025-02-12 13:21:47 +02:00
nodeConfig := DefaultWakuConfig
node, err := StartWakuNode(&nodeConfig)
2025-02-12 14:03:36 +02:00
require.NoError(t, err, "Failed to start Waku node")
defer func() { _ = node.Close() }()
2025-02-12 14:03:36 +02:00
logDebug("Node started successfully")
2025-02-12 13:21:47 +02:00
logDebug("Fetching ENR before stopping the node")
enrBefore, err := node.Debug().ENR()
2025-02-12 14:03:36 +02:00
require.NoError(t, err, "Failed to get ENR before stopping")
require.NotEmpty(t, enrBefore, "ENR should not be empty before stopping")
logDebug("ENR before stopping: %s", enrBefore)
2025-02-12 13:21:47 +02:00
logDebug("Stopping the Node")
2025-02-12 13:21:47 +02:00
err = node.Stop()
2025-02-12 14:03:36 +02:00
require.NoError(t, err, "Failed to stop Waku node")
logDebug("Node stopped successfully")
2025-02-12 13:21:47 +02:00
logDebug("Restarting the Node")
2025-02-12 13:21:47 +02:00
err = node.Start()
2025-02-12 14:03:36 +02:00
require.NoError(t, err, "Failed to restart Waku node")
logDebug("Node restarted successfully")
2025-02-12 13:21:47 +02:00
logDebug("Fetching ENR after restarting the node")
enrAfter, err := node.Debug().ENR()
2025-02-12 14:03:36 +02:00
require.NoError(t, err, "Failed to get ENR after restarting")
require.NotEmpty(t, enrAfter, "ENR should not be empty after restart")
logDebug("ENR after restarting: %s", enrAfter)
2025-02-12 13:21:47 +02:00
logDebug("Comparing ENRs before and after restart")
2025-02-12 13:21:47 +02:00
require.Equal(t, enrBefore, enrAfter, "ENR should remain the same after node restart")
logDebug("TestNodeRestart completed successfully")
2025-02-12 13:21:47 +02:00
}
func TestDoubleStart(t *testing.T) {
requiresNode(t)
config := common.WakuConfig{
Relay: true,
Store: true,
LogLevel: "DEBUG",
Discv5Discovery: true,
ClusterID: 16,
Shards: []uint16{64},
Discv5UdpPort: freeUDPPort(t),
TcpPort: freeTCPPort(t),
}
node, err := NewFromWakuConfig(&config)
require.NoError(t, err)
defer func() { _ = node.Close() }()
// start node
require.NoError(t, node.Start())
// now attempt to start again
require.NoError(t, node.Start())
}
func TestDoubleStop(t *testing.T) {
requiresNode(t)
config := common.WakuConfig{
Relay: true,
Store: true,
LogLevel: "DEBUG",
Discv5Discovery: true,
ClusterID: 16,
Shards: []uint16{64},
Discv5UdpPort: freeUDPPort(t),
TcpPort: freeTCPPort(t),
}
node, err := NewFromWakuConfig(&config)
require.NoError(t, err)
defer func() { _ = node.Close() }()
// start node
require.NoError(t, node.Start())
// stop node
require.NoError(t, node.Stop())
// now attempt to stop it again
require.NoError(t, node.Stop())
}