github.com/MetalBlockchain/metalgo@v1.11.9/vms/platformvm/warp/unsigned_message_test.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package warp
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/MetalBlockchain/metalgo/codec"
    12  	"github.com/MetalBlockchain/metalgo/ids"
    13  	"github.com/MetalBlockchain/metalgo/utils/constants"
    14  )
    15  
    16  func TestUnsignedMessage(t *testing.T) {
    17  	require := require.New(t)
    18  
    19  	msg, err := NewUnsignedMessage(
    20  		constants.UnitTestID,
    21  		ids.GenerateTestID(),
    22  		[]byte("payload"),
    23  	)
    24  	require.NoError(err)
    25  
    26  	msgBytes := msg.Bytes()
    27  	msg2, err := ParseUnsignedMessage(msgBytes)
    28  	require.NoError(err)
    29  	require.Equal(msg, msg2)
    30  }
    31  
    32  func TestParseUnsignedMessageJunk(t *testing.T) {
    33  	require := require.New(t)
    34  
    35  	bytes := []byte{0, 1, 2, 3, 4, 5, 6, 7}
    36  	_, err := ParseUnsignedMessage(bytes)
    37  	require.ErrorIs(err, codec.ErrUnknownVersion)
    38  }