github.com/ava-labs/avalanchego@v1.11.11/vms/platformvm/warp/payload/hash_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 TestHash(t *testing.T) { 17 require := require.New(t) 18 19 hashPayload, err := NewHash(ids.GenerateTestID()) 20 require.NoError(err) 21 22 hashPayloadBytes := hashPayload.Bytes() 23 parsedHashPayload, err := ParseHash(hashPayloadBytes) 24 require.NoError(err) 25 require.Equal(hashPayload, parsedHashPayload) 26 } 27 28 func TestParseHashJunk(t *testing.T) { 29 _, err := ParseHash(junkBytes) 30 require.ErrorIs(t, err, codec.ErrUnknownVersion) 31 } 32 33 func TestHashBytes(t *testing.T) { 34 require := require.New(t) 35 base64Payload := "AAAAAAAABAUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" 36 hashPayload, err := NewHash(ids.ID{4, 5, 6}) 37 require.NoError(err) 38 require.Equal(base64Payload, base64.StdEncoding.EncodeToString(hashPayload.Bytes())) 39 }