2020-04-17 19:36:12 -07:00
|
|
|
package client_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/suite"
|
2020-08-17 02:04:50 -07:00
|
|
|
|
2020-10-02 02:03:02 -07:00
|
|
|
client "github.com/cosmos/cosmos-sdk/x/ibc/core/02-client"
|
|
|
|
"github.com/cosmos/cosmos-sdk/x/ibc/core/02-client/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/x/ibc/core/exported"
|
2020-08-17 02:04:50 -07:00
|
|
|
ibctesting "github.com/cosmos/cosmos-sdk/x/ibc/testing"
|
2020-04-17 19:36:12 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
type ClientTestSuite struct {
|
|
|
|
suite.Suite
|
|
|
|
|
2020-08-14 01:47:13 -07:00
|
|
|
coordinator *ibctesting.Coordinator
|
|
|
|
|
|
|
|
chainA *ibctesting.TestChain
|
|
|
|
chainB *ibctesting.TestChain
|
2020-04-17 19:36:12 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (suite *ClientTestSuite) SetupTest() {
|
2020-08-14 01:47:13 -07:00
|
|
|
suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2)
|
2020-04-17 19:36:12 -07:00
|
|
|
|
2020-08-14 01:47:13 -07:00
|
|
|
suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0))
|
|
|
|
suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1))
|
2020-04-17 19:36:12 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestClientTestSuite(t *testing.T) {
|
|
|
|
suite.Run(t, new(ClientTestSuite))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (suite *ClientTestSuite) TestBeginBlocker() {
|
2020-09-03 13:23:20 -07:00
|
|
|
prevHeight := types.GetSelfHeight(suite.chainA.GetContext())
|
2020-05-11 08:46:00 -07:00
|
|
|
|
2020-09-22 07:25:58 -07:00
|
|
|
localHostClient := suite.chainA.GetClientState(exported.Localhost)
|
2020-09-03 13:23:20 -07:00
|
|
|
suite.Require().Equal(prevHeight, localHostClient.GetLatestHeight())
|
2020-05-11 08:46:00 -07:00
|
|
|
|
2020-04-17 19:36:12 -07:00
|
|
|
for i := 0; i < 10; i++ {
|
2020-05-11 08:46:00 -07:00
|
|
|
// increment height
|
2020-08-24 11:37:11 -07:00
|
|
|
suite.coordinator.CommitBlock(suite.chainA, suite.chainB)
|
2020-05-11 08:46:00 -07:00
|
|
|
|
2020-04-17 19:36:12 -07:00
|
|
|
suite.Require().NotPanics(func() {
|
2020-08-24 11:37:11 -07:00
|
|
|
client.BeginBlocker(suite.chainA.GetContext(), suite.chainA.App.IBCKeeper.ClientKeeper)
|
2020-04-17 19:36:12 -07:00
|
|
|
}, "BeginBlocker shouldn't panic")
|
2020-05-11 08:46:00 -07:00
|
|
|
|
2020-09-22 07:25:58 -07:00
|
|
|
localHostClient = suite.chainA.GetClientState(exported.Localhost)
|
2020-09-03 13:23:20 -07:00
|
|
|
suite.Require().Equal(prevHeight.Increment(), localHostClient.GetLatestHeight())
|
|
|
|
prevHeight = localHostClient.GetLatestHeight().(types.Height)
|
2020-04-17 19:36:12 -07:00
|
|
|
}
|
|
|
|
}
|