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 }