feat: fix discovery test

Signed-off-by: Chen Kai <281165273grape@gmail.com>
This commit is contained in:
Chen Kai 2024-02-23 14:42:30 +08:00
parent c8d7aa56ce
commit 00fcda62fa

View file

@ -12,6 +12,7 @@ import (
"time" "time"
"github.com/prysmaticlabs/go-bitfield" "github.com/prysmaticlabs/go-bitfield"
"golang.org/x/exp/slices"
"github.com/ethereum/go-ethereum/internal/testlog" "github.com/ethereum/go-ethereum/internal/testlog"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
@ -200,50 +201,55 @@ func TestPortalWireProtocolUdp(t *testing.T) {
func TestPortalWireProtocol(t *testing.T) { func TestPortalWireProtocol(t *testing.T) {
node1, err := setupLocalPortalNode(":7777", nil) node1, err := setupLocalPortalNode(":7777", nil)
assert.NoError(t, err) assert.NoError(t, err)
node1.log = testlog.Logger(t, log.LvlTrace) node1.log = testlog.Logger(t, log.LevelDebug)
err = node1.Start() err = node1.Start()
assert.NoError(t, err) assert.NoError(t, err)
fmt.Println(node1.localNode.Node().String()) fmt.Println(node1.localNode.Node().String())
time.Sleep(15 * time.Second)
node2, err := setupLocalPortalNode(":7778", []*enode.Node{node1.localNode.Node()}) node2, err := setupLocalPortalNode(":7778", []*enode.Node{node1.localNode.Node()})
assert.NoError(t, err) assert.NoError(t, err)
node2.log = testlog.Logger(t, log.LvlTrace) node2.log = testlog.Logger(t, log.LevelDebug)
err = node2.Start() err = node2.Start()
assert.NoError(t, err) assert.NoError(t, err)
fmt.Println(node2.localNode.Node().String()) fmt.Println(node2.localNode.Node().String())
time.Sleep(15 * time.Second)
node3, err := setupLocalPortalNode(":7779", []*enode.Node{node1.localNode.Node()}) node3, err := setupLocalPortalNode(":7779", []*enode.Node{node1.localNode.Node()})
assert.NoError(t, err) assert.NoError(t, err)
node3.log = testlog.Logger(t, log.LvlTrace) node3.log = testlog.Logger(t, log.LevelDebug)
err = node3.Start() err = node3.Start()
assert.NoError(t, err) assert.NoError(t, err)
fmt.Println(node3.localNode.Node().String()) fmt.Println(node3.localNode.Node().String())
time.Sleep(10 * time.Second)
//assert.Equal(t, 2, len(node1.table.Nodes())) time.Sleep(15 * time.Second)
//assert.Equal(t, 2, len(node2.table.Nodes()))
//assert.Equal(t, 2, len(node3.table.Nodes()))
//slices.ContainsFunc(node1.table.Nodes(), func(n *enode.Node) bool { assert.Equal(t, 2, len(node1.table.Nodes()))
// return n.ID() == node2.localNode.Node().ID() assert.Equal(t, 2, len(node2.table.Nodes()))
//}) assert.Equal(t, 2, len(node3.table.Nodes()))
//slices.ContainsFunc(node1.table.Nodes(), func(n *enode.Node) bool {
// return n.ID() == node3.localNode.Node().ID() slices.ContainsFunc(node1.table.Nodes(), func(n *enode.Node) bool {
//}) return n.ID() == node2.localNode.Node().ID()
// })
//slices.ContainsFunc(node2.table.Nodes(), func(n *enode.Node) bool { slices.ContainsFunc(node1.table.Nodes(), func(n *enode.Node) bool {
// return n.ID() == node1.localNode.Node().ID() return n.ID() == node3.localNode.Node().ID()
//}) })
//slices.ContainsFunc(node2.table.Nodes(), func(n *enode.Node) bool {
// return n.ID() == node3.localNode.Node().ID() slices.ContainsFunc(node2.table.Nodes(), func(n *enode.Node) bool {
//}) return n.ID() == node1.localNode.Node().ID()
// })
//slices.ContainsFunc(node3.table.Nodes(), func(n *enode.Node) bool { slices.ContainsFunc(node2.table.Nodes(), func(n *enode.Node) bool {
// return n.ID() == node1.localNode.Node().ID() return n.ID() == node3.localNode.Node().ID()
//}) })
//slices.ContainsFunc(node3.table.Nodes(), func(n *enode.Node) bool {
// return n.ID() == node2.localNode.Node().ID() slices.ContainsFunc(node3.table.Nodes(), func(n *enode.Node) bool {
//}) return n.ID() == node1.localNode.Node().ID()
})
slices.ContainsFunc(node3.table.Nodes(), func(n *enode.Node) bool {
return n.ID() == node2.localNode.Node().ID()
})
err = node1.storage.Put(node1.toContentId([]byte("test_key")), []byte("test_value")) err = node1.storage.Put(node1.toContentId([]byte("test_key")), []byte("test_value"))
assert.NoError(t, err) assert.NoError(t, err)