test: add counter module (#18272)

This commit is contained in:
Marko
2023-10-30 19:07:58 +00:00
committed by GitHub
parent d82503e24e
commit 44db964e91
63 changed files with 653 additions and 284 deletions
+18 -22
View File
@@ -7,30 +7,29 @@ import (
protov2 "google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/dynamicpb"
bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1"
banktypes "cosmossdk.io/x/bank/types"
counterv1 "cosmossdk.io/api/cosmos/counter/v1"
codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
sdk "github.com/cosmos/cosmos-sdk/types"
countertypes "github.com/cosmos/cosmos-sdk/x/counter/types"
)
type bankSendWrapper struct {
*banktypes.MsgSend
type msgCounterWrapper struct {
*countertypes.MsgIncreaseCounter
}
func (msg bankSendWrapper) GetSigners() []sdk.AccAddress {
fromAddress, _ := sdk.AccAddressFromBech32(msg.FromAddress)
func (msg msgCounterWrapper) GetSigners() []sdk.AccAddress {
fromAddress, _ := sdk.AccAddressFromBech32(msg.Signer)
return []sdk.AccAddress{fromAddress}
}
func BenchmarkLegacyGetSigners(b *testing.B) {
_, _, addr := testdata.KeyTestPubAddr()
msg := bankSendWrapper{&banktypes.MsgSend{
FromAddress: addr.String(),
ToAddress: "",
Amount: nil,
msg := msgCounterWrapper{&countertypes.MsgIncreaseCounter{
Signer: addr.String(),
Count: 2,
}}
b.ResetTimer()
@@ -44,10 +43,9 @@ func BenchmarkProtoreflectGetSigners(b *testing.B) {
signingCtx := cdc.InterfaceRegistry().SigningContext()
_, _, addr := testdata.KeyTestPubAddr()
// use a pulsar message
msg := &bankv1beta1.MsgSend{
FromAddress: addr.String(),
ToAddress: "",
Amount: nil,
msg := &counterv1.MsgIncreaseCounter{
Signer: addr.String(),
Count: 1,
}
b.ResetTimer()
@@ -63,10 +61,9 @@ func BenchmarkProtoreflectGetSignersWithUnmarshal(b *testing.B) {
cdc := codectestutil.CodecOptions{}.NewCodec()
_, _, addr := testdata.KeyTestPubAddr()
// start with a protoreflect message
msg := &banktypes.MsgSend{
FromAddress: addr.String(),
ToAddress: "",
Amount: nil,
msg := &countertypes.MsgIncreaseCounter{
Signer: addr.String(),
Count: 1,
}
// marshal to an any first because this is what we get from the wire
a, err := codectypes.NewAnyWithValue(msg)
@@ -85,10 +82,9 @@ func BenchmarkProtoreflectGetSignersDynamicpb(b *testing.B) {
cdc := codectestutil.CodecOptions{}.NewCodec()
signingCtx := cdc.InterfaceRegistry().SigningContext()
_, _, addr := testdata.KeyTestPubAddr()
msg := &bankv1beta1.MsgSend{
FromAddress: addr.String(),
ToAddress: "",
Amount: nil,
msg := &counterv1.MsgIncreaseCounter{
Signer: addr.String(),
Count: 1,
}
bz, err := protov2.Marshal(msg)
require.NoError(b, err)
+5 -13
View File
@@ -13,16 +13,14 @@ import (
protov2 "google.golang.org/protobuf/proto"
"google.golang.org/protobuf/reflect/protoregistry"
bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1"
basev1beta1 "cosmossdk.io/api/cosmos/base/v1beta1"
sdkmath "cosmossdk.io/math"
banktypes "cosmossdk.io/x/bank/types"
counterv1 "cosmossdk.io/api/cosmos/counter/v1"
"cosmossdk.io/x/tx/signing"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
sdk "github.com/cosmos/cosmos-sdk/types"
countertypes "github.com/cosmos/cosmos-sdk/x/counter/types"
)
func createTestInterfaceRegistry() types.InterfaceRegistry {
@@ -113,7 +111,7 @@ func TestProtoCodecMarshal(t *testing.T) {
require.NoError(t, err)
// test typed nil input shouldn't panic
var v *banktypes.QueryBalanceResponse
var v *countertypes.QueryGetCountRequest
bz, err = grpcServerEncode(cartoonCdc.GRPCCodec(), v)
require.NoError(t, err)
require.Empty(t, bz)
@@ -189,15 +187,9 @@ func TestGetSigners(t *testing.T) {
cdc := codec.NewProtoCodec(interfaceRegistry)
testAddr := sdk.AccAddress("test")
testAddrStr := testAddr.String()
testAddr2 := sdk.AccAddress("test2")
testAddrStr2 := testAddr2.String()
msgSendV1 := banktypes.NewMsgSend(testAddr, testAddr2, sdk.NewCoins(sdk.NewCoin("foo", sdkmath.NewInt(1))))
msgSendV2 := &bankv1beta1.MsgSend{
FromAddress: testAddrStr,
ToAddress: testAddrStr2,
Amount: []*basev1beta1.Coin{{Denom: "foo", Amount: "1"}},
}
msgSendV1 := &countertypes.MsgIncreaseCounter{Signer: testAddrStr, Count: 1}
msgSendV2 := &counterv1.MsgIncreaseCounter{Signer: testAddrStr, Count: 1}
signers, msgSendV2Copy, err := cdc.GetMsgV1Signers(msgSendV1)
require.NoError(t, err)