github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/network/payload/inventory_test.go (about)

     1  package payload
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/nspcc-dev/neo-go/internal/testserdes"
     8  	"github.com/nspcc-dev/neo-go/pkg/crypto/hash"
     9  	"github.com/nspcc-dev/neo-go/pkg/util"
    10  	"github.com/stretchr/testify/assert"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestInventoryEncodeDecode(t *testing.T) {
    15  	hashes := []util.Uint256{
    16  		hash.Sha256([]byte("a")),
    17  		hash.Sha256([]byte("b")),
    18  	}
    19  	inv := NewInventory(BlockType, hashes)
    20  
    21  	testserdes.EncodeDecodeBinary(t, inv, new(Inventory))
    22  }
    23  
    24  func TestEmptyInv(t *testing.T) {
    25  	msgInv := NewInventory(TXType, []util.Uint256{})
    26  
    27  	data, err := testserdes.EncodeBinary(msgInv)
    28  	assert.Nil(t, err)
    29  	assert.Equal(t, []byte{byte(TXType), 0}, data)
    30  	assert.Equal(t, 0, len(msgInv.Hashes))
    31  }
    32  
    33  func TestValid(t *testing.T) {
    34  	require.True(t, TXType.Valid(false))
    35  	require.True(t, TXType.Valid(true))
    36  	require.True(t, BlockType.Valid(false))
    37  	require.True(t, BlockType.Valid(true))
    38  	require.True(t, ExtensibleType.Valid(false))
    39  	require.True(t, ExtensibleType.Valid(true))
    40  	require.False(t, P2PNotaryRequestType.Valid(false))
    41  	require.True(t, P2PNotaryRequestType.Valid(true))
    42  	require.False(t, InventoryType(0xFF).Valid(false))
    43  	require.False(t, InventoryType(0xFF).Valid(true))
    44  }
    45  
    46  func TestString(t *testing.T) {
    47  	require.Equal(t, "TX", TXType.String())
    48  	require.Equal(t, "block", BlockType.String())
    49  	require.Equal(t, "extensible", ExtensibleType.String())
    50  	require.Equal(t, "p2pNotaryRequest", P2PNotaryRequestType.String())
    51  	require.True(t, strings.Contains(InventoryType(0xFF).String(), "unknown"))
    52  }