github.com/ava-labs/avalanchego@v1.11.11/vms/platformvm/warp/payload/addressed_call_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 payload
     5  
     6  import (
     7  	"encoding/base64"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  
    12  	"github.com/ava-labs/avalanchego/codec"
    13  	"github.com/ava-labs/avalanchego/ids"
    14  )
    15  
    16  func TestAddressedCall(t *testing.T) {
    17  	require := require.New(t)
    18  	shortID := ids.GenerateTestShortID()
    19  
    20  	addressedPayload, err := NewAddressedCall(
    21  		shortID[:],
    22  		[]byte{1, 2, 3},
    23  	)
    24  	require.NoError(err)
    25  
    26  	addressedPayloadBytes := addressedPayload.Bytes()
    27  	parsedAddressedPayload, err := ParseAddressedCall(addressedPayloadBytes)
    28  	require.NoError(err)
    29  	require.Equal(addressedPayload, parsedAddressedPayload)
    30  }
    31  
    32  func TestParseAddressedCallJunk(t *testing.T) {
    33  	_, err := ParseAddressedCall(junkBytes)
    34  	require.ErrorIs(t, err, codec.ErrUnknownVersion)
    35  }
    36  
    37  func TestAddressedCallBytes(t *testing.T) {
    38  	require := require.New(t)
    39  	base64Payload := "AAAAAAABAAAAEAECAwAAAAAAAAAAAAAAAAAAAAADCgsM"
    40  	addressedPayload, err := NewAddressedCall(
    41  		[]byte{1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    42  		[]byte{10, 11, 12},
    43  	)
    44  	require.NoError(err)
    45  	require.Equal(base64Payload, base64.StdEncoding.EncodeToString(addressedPayload.Bytes()))
    46  }