github.com/number571/tendermint@v0.34.11-gost/rpc/core/net_test.go (about) 1 package core 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 9 cfg "github.com/number571/tendermint/config" 10 "github.com/number571/tendermint/internal/p2p" 11 "github.com/number571/tendermint/libs/log" 12 rpctypes "github.com/number571/tendermint/rpc/jsonrpc/types" 13 ) 14 15 func TestUnsafeDialSeeds(t *testing.T) { 16 sw := p2p.MakeSwitch(cfg.DefaultP2PConfig(), 1, "testing", "123.123.123", 17 func(n int, sw *p2p.Switch) *p2p.Switch { return sw }, log.TestingLogger()) 18 err := sw.Start() 19 require.NoError(t, err) 20 t.Cleanup(func() { 21 if err := sw.Stop(); err != nil { 22 t.Error(err) 23 } 24 }) 25 26 env := &Environment{} 27 env.Logger = log.TestingLogger() 28 env.P2PPeers = sw 29 30 testCases := []struct { 31 seeds []string 32 isErr bool 33 }{ 34 {[]string{}, true}, 35 {[]string{"d51fb70907db1c6c2d5237e78379b25cf1a37ab4@127.0.0.1:41198"}, false}, 36 {[]string{"127.0.0.1:41198"}, true}, 37 } 38 39 for _, tc := range testCases { 40 res, err := env.UnsafeDialSeeds(&rpctypes.Context{}, tc.seeds) 41 if tc.isErr { 42 assert.Error(t, err) 43 } else { 44 assert.NoError(t, err) 45 assert.NotNil(t, res) 46 } 47 } 48 } 49 50 func TestUnsafeDialPeers(t *testing.T) { 51 sw := p2p.MakeSwitch(cfg.DefaultP2PConfig(), 1, "testing", "123.123.123", 52 func(n int, sw *p2p.Switch) *p2p.Switch { return sw }, log.TestingLogger()) 53 sw.SetAddrBook(&p2p.AddrBookMock{ 54 Addrs: make(map[string]struct{}), 55 OurAddrs: make(map[string]struct{}), 56 PrivateAddrs: make(map[string]struct{}), 57 }) 58 err := sw.Start() 59 require.NoError(t, err) 60 t.Cleanup(func() { 61 if err := sw.Stop(); err != nil { 62 t.Error(err) 63 } 64 }) 65 66 env := &Environment{} 67 env.Logger = log.TestingLogger() 68 env.P2PPeers = sw 69 70 testCases := []struct { 71 peers []string 72 persistence, unconditional, private bool 73 isErr bool 74 }{ 75 {[]string{}, false, false, false, true}, 76 {[]string{"d51fb70907db1c6c2d5237e78379b25cf1a37ab4@127.0.0.1:41198"}, true, true, true, false}, 77 {[]string{"127.0.0.1:41198"}, true, true, false, true}, 78 } 79 80 for _, tc := range testCases { 81 res, err := env.UnsafeDialPeers(&rpctypes.Context{}, tc.peers, tc.persistence, tc.unconditional, tc.private) 82 if tc.isErr { 83 assert.Error(t, err) 84 } else { 85 assert.NoError(t, err) 86 assert.NotNil(t, res) 87 } 88 } 89 }