Add more tests
This commit is contained in:
parent
73311b0b87
commit
04b5b33f18
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue