MCPcopy Create free account
hub / github.com/DeAI-Artist/Linkis / TestNodeInfoValidate

Function TestNodeInfoValidate

p2p/node_info_test.go:11–89  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestNodeInfoValidate(t *testing.T) {
12
13 // empty fails
14 ni := DefaultNodeInfo{}
15 assert.Error(t, ni.Validate())
16
17 channels := make([]byte, maxNumChannels)
18 for i := 0; i < maxNumChannels; i++ {
19 channels[i] = byte(i)
20 }
21 dupChannels := make([]byte, 5)
22 copy(dupChannels, channels[:5])
23 dupChannels = append(dupChannels, testCh)
24
25 nonASCII := "¢§µ"
26 emptyTab := "\t"
27 emptySpace := " "
28
29 testCases := []struct {
30 testName string
31 malleateNodeInfo func(*DefaultNodeInfo)
32 expectErr bool
33 }{
34 {
35 "Too Many Channels",
36 func(ni *DefaultNodeInfo) { ni.Channels = append(channels, byte(maxNumChannels)) }, //nolint: gocritic
37 true,
38 },
39 {"Duplicate Channel", func(ni *DefaultNodeInfo) { ni.Channels = dupChannels }, true},
40 {"Good Channels", func(ni *DefaultNodeInfo) { ni.Channels = ni.Channels[:5] }, false},
41
42 {"Invalid NetAddress", func(ni *DefaultNodeInfo) { ni.ListenAddr = "not-an-address" }, true},
43 {"Good NetAddress", func(ni *DefaultNodeInfo) { ni.ListenAddr = "0.0.0.0:26656" }, false},
44
45 {"Non-ASCII Version", func(ni *DefaultNodeInfo) { ni.Version = nonASCII }, true},
46 {"Empty tab Version", func(ni *DefaultNodeInfo) { ni.Version = emptyTab }, true},
47 {"Empty space Version", func(ni *DefaultNodeInfo) { ni.Version = emptySpace }, true},
48 {"Empty Version", func(ni *DefaultNodeInfo) { ni.Version = "" }, false},
49
50 {"Non-ASCII Moniker", func(ni *DefaultNodeInfo) { ni.Moniker = nonASCII }, true},
51 {"Empty tab Moniker", func(ni *DefaultNodeInfo) { ni.Moniker = emptyTab }, true},
52 {"Empty space Moniker", func(ni *DefaultNodeInfo) { ni.Moniker = emptySpace }, true},
53 {"Empty Moniker", func(ni *DefaultNodeInfo) { ni.Moniker = "" }, true},
54 {"Good Moniker", func(ni *DefaultNodeInfo) { ni.Moniker = "hey its me" }, false},
55
56 {"Non-ASCII TxIndex", func(ni *DefaultNodeInfo) { ni.Other.TxIndex = nonASCII }, true},
57 {"Empty tab TxIndex", func(ni *DefaultNodeInfo) { ni.Other.TxIndex = emptyTab }, true},
58 {"Empty space TxIndex", func(ni *DefaultNodeInfo) { ni.Other.TxIndex = emptySpace }, true},
59 {"Empty TxIndex", func(ni *DefaultNodeInfo) { ni.Other.TxIndex = "" }, false},
60 {"Off TxIndex", func(ni *DefaultNodeInfo) { ni.Other.TxIndex = "off" }, false},
61
62 {"Non-ASCII RPCAddress", func(ni *DefaultNodeInfo) { ni.Other.RPCAddress = nonASCII }, true},
63 {"Empty tab RPCAddress", func(ni *DefaultNodeInfo) { ni.Other.RPCAddress = emptyTab }, true},
64 {"Empty space RPCAddress", func(ni *DefaultNodeInfo) { ni.Other.RPCAddress = emptySpace }, true},
65 {"Empty RPCAddress", func(ni *DefaultNodeInfo) { ni.Other.RPCAddress = "" }, false},
66 {"Good RPCAddress", func(ni *DefaultNodeInfo) { ni.Other.RPCAddress = "0.0.0.0:26657" }, false},
67 }
68

Callers

nothing calls this directly

Calls 5

ValidateMethod · 0.95
IDMethod · 0.95
GenPrivKeyFunction · 0.92
testNodeInfoFunction · 0.85
ErrorMethod · 0.65

Tested by

no test coverage detected