github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/node/registration/p2p_test.go (about) 1 package registration 2 3 import ( 4 "flag" 5 "io/ioutil" 6 "testing" 7 8 "github.com/prysmaticlabs/prysm/shared/cmd" 9 "github.com/prysmaticlabs/prysm/shared/params" 10 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 11 "github.com/prysmaticlabs/prysm/shared/testutil/require" 12 "github.com/urfave/cli/v2" 13 ) 14 15 func TestP2PPreregistration_DefaultDataDir(t *testing.T) { 16 app := cli.App{} 17 set := flag.NewFlagSet("test", 0) 18 set.String(cmd.DataDirFlag.Name, "", "") 19 ctx := cli.NewContext(&app, set, nil) 20 21 _, dataDir, err := P2PPreregistration(ctx) 22 require.NoError(t, err) 23 assert.Equal(t, cmd.DefaultDataDir(), dataDir) 24 } 25 26 func TestP2PPreregistration(t *testing.T) { 27 sampleNode := "- enr:-TESTNODE" 28 testDataDir := "testDataDir" 29 30 file, err := ioutil.TempFile(t.TempDir(), "bootstrapFile*.yaml") 31 require.NoError(t, err) 32 err = ioutil.WriteFile(file.Name(), []byte(sampleNode), 0644) 33 require.NoError(t, err, "Error in WriteFile call") 34 params.SetupTestConfigCleanup(t) 35 config := params.BeaconNetworkConfig() 36 config.BootstrapNodes = []string{file.Name()} 37 params.OverrideBeaconNetworkConfig(config) 38 39 app := cli.App{} 40 set := flag.NewFlagSet("test", 0) 41 set.String(cmd.DataDirFlag.Name, testDataDir, "") 42 ctx := cli.NewContext(&app, set, nil) 43 44 bootstrapNodeAddrs, dataDir, err := P2PPreregistration(ctx) 45 require.NoError(t, err) 46 require.Equal(t, 1, len(bootstrapNodeAddrs)) 47 assert.Equal(t, sampleNode[2:], bootstrapNodeAddrs[0]) 48 assert.Equal(t, testDataDir, dataDir) 49 } 50 51 func TestBootStrapNodeFile(t *testing.T) { 52 file, err := ioutil.TempFile(t.TempDir(), "bootstrapFile") 53 require.NoError(t, err) 54 55 sampleNode0 := "- enr:-Ku4QMKVC_MowDsmEa20d5uGjrChI0h8_KsKXDmgVQbIbngZV0i" + 56 "dV6_RL7fEtZGo-kTNZ5o7_EJI_vCPJ6scrhwX0Z4Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD" + 57 "1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQJxCnE6v_x2ekgY_uo" + 58 "E1rtwzvGy40mq9eD66XfHPBWgIIN1ZHCCD6A" 59 sampleNode1 := "- enr:-TESTNODE2" 60 sampleNode2 := "- enr:-TESTNODE3" 61 err = ioutil.WriteFile(file.Name(), []byte(sampleNode0+"\n"+sampleNode1+"\n"+sampleNode2), 0644) 62 require.NoError(t, err, "Error in WriteFile call") 63 nodeList, err := readbootNodes(file.Name()) 64 require.NoError(t, err, "Error in readbootNodes call") 65 assert.Equal(t, sampleNode0[2:], nodeList[0], "Unexpected nodes") 66 assert.Equal(t, sampleNode1[2:], nodeList[1], "Unexpected nodes") 67 assert.Equal(t, sampleNode2[2:], nodeList[2], "Unexpected nodes") 68 }