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