github.com/Finschia/finschia-sdk@v0.48.1/x/authz/simulation/decoder_test.go (about) 1 package simulation_test 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/require" 9 10 "github.com/Finschia/finschia-sdk/simapp" 11 sdk "github.com/Finschia/finschia-sdk/types" 12 "github.com/Finschia/finschia-sdk/types/kv" 13 "github.com/Finschia/finschia-sdk/x/authz" 14 "github.com/Finschia/finschia-sdk/x/authz/keeper" 15 "github.com/Finschia/finschia-sdk/x/authz/simulation" 16 banktypes "github.com/Finschia/finschia-sdk/x/bank/types" 17 ) 18 19 func TestDecodeStore(t *testing.T) { 20 cdc := simapp.MakeTestEncodingConfig().Marshaler 21 dec := simulation.NewDecodeStore(cdc) 22 23 now := time.Now().UTC() 24 grant, _ := authz.NewGrant(now, banktypes.NewSendAuthorization(sdk.NewCoins(sdk.NewInt64Coin("foo", 123))), now.Add(1)) 25 grantBz, err := cdc.Marshal(&grant) 26 require.NoError(t, err) 27 kvPairs := kv.Pairs{ 28 Pairs: []kv.Pair{ 29 {Key: []byte(keeper.GrantKey), Value: grantBz}, 30 {Key: []byte{0x99}, Value: []byte{0x99}}, 31 }, 32 } 33 34 tests := []struct { 35 name string 36 expectErr bool 37 expectedLog string 38 }{ 39 {"Grant", false, fmt.Sprintf("%v\n%v", grant, grant)}, 40 {"other", true, ""}, 41 } 42 43 for i, tt := range tests { 44 i, tt := i, tt 45 t.Run(tt.name, func(t *testing.T) { 46 if tt.expectErr { 47 require.Panics(t, func() { dec(kvPairs.Pairs[i], kvPairs.Pairs[i]) }, tt.name) 48 } else { 49 require.Equal(t, tt.expectedLog, dec(kvPairs.Pairs[i], kvPairs.Pairs[i]), tt.name) 50 } 51 }) 52 } 53 }