Add more tests

This commit is contained in:
gagliardetto 2022-01-05 17:56:17 +01:00
parent 73311b0b87
commit 04b5b33f18
1 changed files with 50 additions and 0 deletions

View File

@ -19,7 +19,9 @@ import (
"strconv"
"testing"
bin "github.com/gagliardetto/binary"
ag_gofuzz "github.com/gagliardetto/gofuzz"
"github.com/gagliardetto/solana-go"
ag_require "github.com/stretchr/testify/require"
)
@ -44,3 +46,51 @@ func TestEncodeDecode_CreateAccountWithSeed(t *testing.T) {
})
}
}
func TestEncDec(t *testing.T) {
instr := []byte{204, 95, 77, 127, 148, 25, 135, 127, 89, 146, 22, 90, 233, 80, 113, 3, 70, 176, 165, 222, 81, 200, 100, 223, 117, 165, 155, 44, 53, 225, 124, 20, 5, 0, 0, 0, 0, 0, 0, 0, 104, 101, 108, 108, 111, 192, 4, 14, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 57, 111, 59, 111, 183, 248, 249, 251, 128, 174, 206, 0, 81, 22, 3, 173, 244, 104, 15, 249, 239, 112, 33, 255, 66, 169, 29, 66, 7, 106, 231, 230}
{
payerPrivateKey := solana.MustPrivateKeyFromBase58("5LRLfrUP22VtiNaPGAEgHPucoJmG8ejmomMVmpn4fkXjexYsT7RQGfGuMePG5PKvecZxMGrqa6EP2RmYcm7TYQvX")
payerAccount, _ := solana.WalletFromPrivateKeyBase58(payerPrivateKey.String())
programID := "4sCcZNQR8vfWckyi5L9KdptdaiLxdiMjVgKQay7HxzmK"
programPubKey := solana.MustPublicKeyFromBase58(programID)
newSubAccount, err := solana.CreateWithSeed(
payerAccount.PublicKey(),
"hello",
programPubKey,
)
ag_require.NoError(t, err)
instruction := NewCreateAccountWithSeedInstruction(
payerAccount.PublicKey(),
"hello",
918720,
4,
programPubKey,
payerAccount.PublicKey(),
newSubAccount,
payerAccount.PublicKey(),
)
{
buffer := new(bytes.Buffer)
err = bin.NewBinEncoder(buffer).Encode(instruction)
ag_require.NoError(t, err)
ag_require.Equal(t, instr, buffer.Bytes())
}
{
got := new(CreateAccountWithSeed)
err = decodeT(got, instr)
got.AccountMetaSlice = solana.AccountMetaSlice{
solana.Meta(payerAccount.PublicKey()).WRITE().SIGNER(),
solana.Meta(newSubAccount).WRITE(),
solana.Meta(payerAccount.PublicKey()).SIGNER(),
}
ag_require.NoError(t, err)
ag_require.Equal(t, instruction, got)
}
}
}