github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/network/payload/version_test.go (about) 1 package payload 2 3 import ( 4 "testing" 5 6 "github.com/nspcc-dev/neo-go/internal/testserdes" 7 "github.com/nspcc-dev/neo-go/pkg/config/netmode" 8 "github.com/nspcc-dev/neo-go/pkg/network/capability" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestVersionEncodeDecode(t *testing.T) { 13 var magic netmode.Magic = 56753 14 var tcpPort uint16 = 3000 15 var wsPort uint16 = 3001 16 var id uint32 = 13337 17 useragent := "/NEO:0.0.1/" 18 var height uint32 = 100500 19 var capabilities = []capability.Capability{ 20 { 21 Type: capability.TCPServer, 22 Data: &capability.Server{ 23 Port: tcpPort, 24 }, 25 }, 26 { 27 Type: capability.WSServer, 28 Data: &capability.Server{ 29 Port: wsPort, 30 }, 31 }, 32 { 33 Type: capability.FullNode, 34 Data: &capability.Node{ 35 StartHeight: height, 36 }, 37 }, 38 } 39 40 version := NewVersion(magic, id, useragent, capabilities) 41 versionDecoded := &Version{} 42 testserdes.EncodeDecodeBinary(t, version, versionDecoded) 43 44 assert.Equal(t, versionDecoded.Nonce, id) 45 assert.ElementsMatch(t, capabilities, versionDecoded.Capabilities) 46 assert.Equal(t, versionDecoded.UserAgent, []byte(useragent)) 47 assert.Equal(t, version, versionDecoded) 48 }