github.com/algorand/go-algorand-sdk@v1.24.0/types/basics_test.go (about) 1 package types 2 3 import ( 4 "testing" 5 6 "encoding/base64" 7 "github.com/algorand/go-algorand-sdk/encoding/msgpack" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestSignedTxnFromBase64String(t *testing.T) { 13 note := []byte("Testing SignedTxnFromBase64String()") 14 15 // Create a signed transaction with a note and base64 encode it. 16 var st SignedTxn 17 st.Txn.Note = note 18 b64data := base64.StdEncoding.EncodeToString([]byte(string(msgpack.Encode(st)))) 19 20 // Verify that FromBase64String() decodes the txn. 21 var vst SignedTxn 22 err := vst.FromBase64String(b64data) 23 require.NoError(t, err) 24 require.Equal(t, vst.Txn.Note, note) 25 } 26 27 func TestBlockFromBase64String(t *testing.T) { 28 protocol := "Testing BlockFromBase64String()" 29 30 // Create a block with a protocol string and base64 encode it. 31 var bl Block 32 bl.CurrentProtocol = protocol 33 b64data := base64.StdEncoding.EncodeToString([]byte(string(msgpack.Encode(bl)))) 34 35 // Verify that FromBase64String() decodes the txn. 36 var vbl Block 37 err := vbl.FromBase64String(b64data) 38 require.NoError(t, err) 39 require.Equal(t, vbl.CurrentProtocol, protocol) 40 }