github.com/Finschia/finschia-sdk@v0.49.1/x/auth/keeper/querier_test.go (about) 1 package keeper_test 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 abci "github.com/tendermint/tendermint/abci/types" 9 10 "github.com/Finschia/finschia-sdk/codec" 11 "github.com/Finschia/finschia-sdk/testutil/testdata" 12 keep "github.com/Finschia/finschia-sdk/x/auth/keeper" 13 "github.com/Finschia/finschia-sdk/x/auth/types" 14 ) 15 16 func TestQueryAccount(t *testing.T) { 17 app, ctx := createTestApp(true) 18 legacyQuerierCdc := codec.NewAminoCodec(app.LegacyAmino()) 19 20 req := abci.RequestQuery{ 21 Path: "", 22 Data: []byte{}, 23 } 24 25 path := []string{types.QueryAccount} 26 querier := keep.NewQuerier(app.AccountKeeper, legacyQuerierCdc.LegacyAmino) 27 28 bz, err := querier(ctx, []string{"other"}, req) 29 require.Error(t, err) 30 require.Nil(t, bz) 31 32 req = abci.RequestQuery{ 33 Path: fmt.Sprintf("custom/%s/%s", types.QuerierRoute, types.QueryAccount), 34 Data: []byte{}, 35 } 36 res, err := querier(ctx, path, req) 37 require.Error(t, err) 38 require.Nil(t, res) 39 40 req.Data = legacyQuerierCdc.MustMarshalJSON(&types.QueryAccountRequest{Address: ""}) 41 res, err = querier(ctx, path, req) 42 require.Error(t, err) 43 require.Nil(t, res) 44 45 _, _, addr := testdata.KeyTestPubAddr() 46 req.Data = legacyQuerierCdc.MustMarshalJSON(&types.QueryAccountRequest{Address: addr.String()}) 47 res, err = querier(ctx, path, req) 48 require.Error(t, err) 49 require.Nil(t, res) 50 51 app.AccountKeeper.SetAccount(ctx, app.AccountKeeper.NewAccountWithAddress(ctx, addr)) 52 res, err = querier(ctx, path, req) 53 require.NoError(t, err) 54 require.NotNil(t, res) 55 56 res, err = querier(ctx, path, req) 57 require.NoError(t, err) 58 require.NotNil(t, res) 59 60 var account types.AccountI 61 err2 := legacyQuerierCdc.LegacyAmino.UnmarshalJSON(res, &account) 62 require.Nil(t, err2) 63 }