nimbus-eth2/tests/test_peer_connection.nim

41 lines
1014 B
Nim

import
unittest, os,
stew/shims/net,
chronos, confutils,
../beacon_chain/[conf, eth2_network]
template asyncTest*(name, body: untyped) =
timedTest name:
proc scenario {.async.} = body
waitFor scenario()
asyncTest "connect two nodes":
let tempDir = getTempDir() / "peers_test"
var c1 = BeaconNodeConf.defaults
c1.dataDir = OutDir(tempDir / "node-1")
c1.tcpPort = 50000
c1.nat = "none"
var n1PersistentAddress = c1.getPersistenBootstrapAddr(
ValidIpAddress.init("127.0.0.1"), Port c1.tcpPort)
var n1 = createEth2Node(c1, ENRForkID())
echo "Node 1 persistent address: ", n1PersistentAddress
var n1ActualAddress = await n1.daemon.identity()
echo "Node 1 actual address:", n1ActualAddress
echo "Press any key to continue"
discard stdin.readLine()
var c2 = BeaconNodeConf.defaults
c2.dataDir = OutDir(tempDir / "node-2")
c2.tcpPort = 50001
c2.nat = "none"
var n2 = createEth2Node(c2, ENRForkID())
await n2.startLookingForPeers(@[n1PersistentAddress])