2019-11-06 13:08:02 -08:00
|
|
|
package keeper_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
|
2020-02-24 08:05:21 -08:00
|
|
|
simappcodec "github.com/cosmos/cosmos-sdk/simapp/codec"
|
2019-11-06 13:08:02 -08:00
|
|
|
"github.com/cosmos/cosmos-sdk/x/evidence/exported"
|
2020-02-24 08:05:21 -08:00
|
|
|
"github.com/cosmos/cosmos-sdk/x/evidence/types"
|
2019-11-06 13:08:02 -08:00
|
|
|
|
|
|
|
abci "github.com/tendermint/tendermint/abci/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
custom = "custom"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (suite *KeeperTestSuite) TestQueryEvidence_Existing() {
|
|
|
|
ctx := suite.ctx.WithIsCheckTx(false)
|
|
|
|
numEvidence := 100
|
2020-02-24 08:05:21 -08:00
|
|
|
cdc := simappcodec.NewAppCodec(suite.app.Codec())
|
2019-11-06 13:08:02 -08:00
|
|
|
|
|
|
|
evidence := suite.populateEvidence(ctx, numEvidence)
|
|
|
|
query := abci.RequestQuery{
|
|
|
|
Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"),
|
2020-02-24 08:05:21 -08:00
|
|
|
Data: cdc.MustMarshalJSON(types.NewQueryEvidenceParams(evidence[0].Hash().String())),
|
2019-11-06 13:08:02 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query)
|
|
|
|
suite.Nil(err)
|
|
|
|
suite.NotNil(bz)
|
|
|
|
|
|
|
|
var e exported.Evidence
|
2020-02-24 08:05:21 -08:00
|
|
|
suite.Nil(cdc.UnmarshalJSON(bz, &e))
|
2019-11-06 13:08:02 -08:00
|
|
|
suite.Equal(evidence[0], e)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (suite *KeeperTestSuite) TestQueryEvidence_NonExisting() {
|
|
|
|
ctx := suite.ctx.WithIsCheckTx(false)
|
2020-02-24 08:05:21 -08:00
|
|
|
cdc := simappcodec.NewAppCodec(suite.app.Codec())
|
2019-11-06 13:08:02 -08:00
|
|
|
numEvidence := 100
|
|
|
|
|
|
|
|
suite.populateEvidence(ctx, numEvidence)
|
|
|
|
query := abci.RequestQuery{
|
|
|
|
Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"),
|
2020-02-24 08:05:21 -08:00
|
|
|
Data: cdc.MustMarshalJSON(types.NewQueryEvidenceParams("0000000000000000000000000000000000000000000000000000000000000000")),
|
2019-11-06 13:08:02 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query)
|
|
|
|
suite.NotNil(err)
|
|
|
|
suite.Nil(bz)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (suite *KeeperTestSuite) TestQueryAllEvidence() {
|
|
|
|
ctx := suite.ctx.WithIsCheckTx(false)
|
2020-02-24 08:05:21 -08:00
|
|
|
cdc := simappcodec.NewAppCodec(suite.app.Codec())
|
2019-11-06 13:08:02 -08:00
|
|
|
numEvidence := 100
|
|
|
|
|
|
|
|
suite.populateEvidence(ctx, numEvidence)
|
|
|
|
query := abci.RequestQuery{
|
|
|
|
Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"),
|
2020-02-24 08:05:21 -08:00
|
|
|
Data: cdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(1, numEvidence)),
|
2019-11-06 13:08:02 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query)
|
|
|
|
suite.Nil(err)
|
|
|
|
suite.NotNil(bz)
|
|
|
|
|
|
|
|
var e []exported.Evidence
|
2020-02-24 08:05:21 -08:00
|
|
|
suite.Nil(cdc.UnmarshalJSON(bz, &e))
|
2019-11-06 13:08:02 -08:00
|
|
|
suite.Len(e, numEvidence)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (suite *KeeperTestSuite) TestQueryAllEvidence_InvalidPagination() {
|
|
|
|
ctx := suite.ctx.WithIsCheckTx(false)
|
2020-02-24 08:05:21 -08:00
|
|
|
cdc := simappcodec.NewAppCodec(suite.app.Codec())
|
2019-11-06 13:08:02 -08:00
|
|
|
numEvidence := 100
|
|
|
|
|
|
|
|
suite.populateEvidence(ctx, numEvidence)
|
|
|
|
query := abci.RequestQuery{
|
|
|
|
Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"),
|
2020-02-24 08:05:21 -08:00
|
|
|
Data: cdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(0, numEvidence)),
|
2019-11-06 13:08:02 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query)
|
|
|
|
suite.Nil(err)
|
|
|
|
suite.NotNil(bz)
|
|
|
|
|
|
|
|
var e []exported.Evidence
|
2020-02-24 08:05:21 -08:00
|
|
|
suite.Nil(cdc.UnmarshalJSON(bz, &e))
|
2019-11-06 13:08:02 -08:00
|
|
|
suite.Len(e, 0)
|
|
|
|
}
|
2019-12-02 17:58:14 -08:00
|
|
|
|
|
|
|
func (suite *KeeperTestSuite) TestQueryParams() {
|
|
|
|
ctx := suite.ctx.WithIsCheckTx(false)
|
|
|
|
|
|
|
|
bz, err := suite.querier(ctx, []string{types.QueryParameters}, abci.RequestQuery{})
|
|
|
|
suite.Nil(err)
|
|
|
|
suite.NotNil(bz)
|
|
|
|
suite.Equal("{\n \"max_evidence_age\": \"120000000000\"\n}", string(bz))
|
|
|
|
}
|