github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/evidence/internal/keeper/querier_test.go (about) 1 package keeper_test 2 3 import ( 4 "strings" 5 6 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/evidence/exported" 7 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/evidence/internal/types" 8 9 abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types" 10 ) 11 12 const ( 13 custom = "custom" 14 ) 15 16 func (suite *KeeperTestSuite) TestQueryEvidence_Existing() { 17 ctx := suite.ctx.WithIsCheckTx(false) 18 numEvidence := 100 19 20 evidence := suite.populateEvidence(ctx, numEvidence) 21 query := abci.RequestQuery{ 22 Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"), 23 Data: types.TestingCdc.MustMarshalJSON(types.NewQueryEvidenceParams(evidence[0].Hash().String())), 24 } 25 26 bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query) 27 suite.Nil(err) 28 suite.NotNil(bz) 29 30 var e exported.Evidence 31 suite.Nil(types.TestingCdc.UnmarshalJSON(bz, &e)) 32 suite.Equal(evidence[0], e) 33 } 34 35 func (suite *KeeperTestSuite) TestQueryEvidence_NonExisting() { 36 ctx := suite.ctx.WithIsCheckTx(false) 37 numEvidence := 100 38 39 suite.populateEvidence(ctx, numEvidence) 40 query := abci.RequestQuery{ 41 Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"), 42 Data: types.TestingCdc.MustMarshalJSON(types.NewQueryEvidenceParams("0000000000000000000000000000000000000000000000000000000000000000")), 43 } 44 45 bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query) 46 suite.NotNil(err) 47 suite.Nil(bz) 48 } 49 50 func (suite *KeeperTestSuite) TestQueryAllEvidence() { 51 ctx := suite.ctx.WithIsCheckTx(false) 52 numEvidence := 100 53 54 suite.populateEvidence(ctx, numEvidence) 55 query := abci.RequestQuery{ 56 Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"), 57 Data: types.TestingCdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(1, numEvidence)), 58 } 59 60 bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query) 61 suite.Nil(err) 62 suite.NotNil(bz) 63 64 var e []exported.Evidence 65 suite.Nil(types.TestingCdc.UnmarshalJSON(bz, &e)) 66 suite.Len(e, numEvidence) 67 } 68 69 func (suite *KeeperTestSuite) TestQueryAllEvidence_InvalidPagination() { 70 ctx := suite.ctx.WithIsCheckTx(false) 71 numEvidence := 100 72 73 suite.populateEvidence(ctx, numEvidence) 74 query := abci.RequestQuery{ 75 Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"), 76 Data: types.TestingCdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(0, numEvidence)), 77 } 78 79 bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query) 80 suite.Nil(err) 81 suite.NotNil(bz) 82 83 var e []exported.Evidence 84 suite.Nil(types.TestingCdc.UnmarshalJSON(bz, &e)) 85 suite.Len(e, 0) 86 } 87 88 func (suite *KeeperTestSuite) TestQueryParams() { 89 ctx := suite.ctx.WithIsCheckTx(false) 90 91 bz, err := suite.querier(ctx, []string{types.QueryParameters}, abci.RequestQuery{}) 92 suite.Nil(err) 93 suite.NotNil(bz) 94 suite.Equal("{\n \"max_evidence_age\": \"120000000000\"\n}", string(bz)) 95 }