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  }