prysm-pulse/beacon-chain/node/registration/p2p_test.go
Radosław Kapka 5217081567
Create node's P2P registration file (#8745)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-04-13 07:41:06 +00:00

69 lines
2.3 KiB
Go

package registration
import (
"flag"
"io/ioutil"
"testing"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/urfave/cli/v2"
)
func TestP2PPreregistration_DefaultDataDir(t *testing.T) {
app := cli.App{}
set := flag.NewFlagSet("test", 0)
set.String(cmd.DataDirFlag.Name, "", "")
ctx := cli.NewContext(&app, set, nil)
_, dataDir, err := P2PPreregistration(ctx)
require.NoError(t, err)
assert.Equal(t, cmd.DefaultDataDir(), dataDir)
}
func TestP2PPreregistration(t *testing.T) {
sampleNode := "- enr:-TESTNODE"
testDataDir := "testDataDir"
file, err := ioutil.TempFile(t.TempDir(), "bootstrapFile*.yaml")
require.NoError(t, err)
err = ioutil.WriteFile(file.Name(), []byte(sampleNode), 0644)
require.NoError(t, err, "Error in WriteFile call")
params.SetupTestConfigCleanup(t)
config := params.BeaconNetworkConfig()
config.BootstrapNodes = []string{file.Name()}
params.OverrideBeaconNetworkConfig(config)
app := cli.App{}
set := flag.NewFlagSet("test", 0)
set.String(cmd.DataDirFlag.Name, testDataDir, "")
ctx := cli.NewContext(&app, set, nil)
bootstrapNodeAddrs, dataDir, err := P2PPreregistration(ctx)
require.NoError(t, err)
require.Equal(t, 1, len(bootstrapNodeAddrs))
assert.Equal(t, sampleNode[2:], bootstrapNodeAddrs[0])
assert.Equal(t, testDataDir, dataDir)
}
func TestBootStrapNodeFile(t *testing.T) {
file, err := ioutil.TempFile(t.TempDir(), "bootstrapFile")
require.NoError(t, err)
sampleNode0 := "- enr:-Ku4QMKVC_MowDsmEa20d5uGjrChI0h8_KsKXDmgVQbIbngZV0i" +
"dV6_RL7fEtZGo-kTNZ5o7_EJI_vCPJ6scrhwX0Z4Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD" +
"1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQJxCnE6v_x2ekgY_uo" +
"E1rtwzvGy40mq9eD66XfHPBWgIIN1ZHCCD6A"
sampleNode1 := "- enr:-TESTNODE2"
sampleNode2 := "- enr:-TESTNODE3"
err = ioutil.WriteFile(file.Name(), []byte(sampleNode0+"\n"+sampleNode1+"\n"+sampleNode2), 0644)
require.NoError(t, err, "Error in WriteFile call")
nodeList, err := readbootNodes(file.Name())
require.NoError(t, err, "Error in readbootNodes call")
assert.Equal(t, sampleNode0[2:], nodeList[0], "Unexpected nodes")
assert.Equal(t, sampleNode1[2:], nodeList[1], "Unexpected nodes")
assert.Equal(t, sampleNode2[2:], nodeList[2], "Unexpected nodes")
}