github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/core/02-client/abci_test.go (about) 1 package client_test 2 3 import ( 4 "testing" 5 6 client "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client" 7 types2 "github.com/fibonacci-chain/fbc/libs/tendermint/types" 8 9 "github.com/stretchr/testify/suite" 10 // abci "github.com/tendermint/tendermint/abci/types" 11 // tmproto "github.com/tendermint/tendermint/proto/tendermint/types" 12 13 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client/types" 14 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/exported" 15 localhosttypes "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/light-clients/09-localhost/types" 16 ibctesting "github.com/fibonacci-chain/fbc/libs/ibc-go/testing" 17 ) 18 19 type ClientTestSuite struct { 20 suite.Suite 21 22 coordinator *ibctesting.Coordinator 23 24 chainA ibctesting.TestChainI 25 chainB ibctesting.TestChainI 26 } 27 28 func (suite *ClientTestSuite) SetupTest() { 29 types2.UnittestOnlySetMilestoneVenus1Height(-1) 30 suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) 31 32 suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(0)) 33 suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(1)) 34 35 // set localhost client 36 tmpCtx := suite.chainA.GetContext() 37 revision := types.ParseChainID(tmpCtx.ChainID()) 38 localHostClient := localhosttypes.NewClientState( 39 tmpCtx.ChainID(), types.NewHeight(revision, uint64(tmpCtx.BlockHeight())), 40 ) 41 suite.chainA.App().GetIBCKeeper().ClientKeeper.SetClientState(suite.chainA.GetContext(), exported.Localhost, localHostClient) 42 } 43 44 func TestClientTestSuite(t *testing.T) { 45 suite.Run(t, new(ClientTestSuite)) 46 } 47 48 func (suite *ClientTestSuite) TestBeginBlocker() { 49 prevHeight := types.GetSelfHeight(suite.chainA.GetContext()) 50 51 localHostClient := suite.chainA.GetClientState(exported.Localhost) 52 suite.Require().Equal(prevHeight, localHostClient.GetLatestHeight()) 53 54 for i := 0; i < 10; i++ { 55 // increment height 56 suite.coordinator.CommitBlock(suite.chainA, suite.chainB) 57 58 suite.Require().NotPanics(func() { 59 client.BeginBlocker(suite.chainA.GetContext(), suite.chainA.App().GetIBCKeeper().ClientKeeper) 60 }, "BeginBlocker shouldn't panic") 61 62 localHostClient = suite.chainA.GetClientState(exported.Localhost) 63 suite.Require().Equal(prevHeight.Increment(), localHostClient.GetLatestHeight()) 64 prevHeight = localHostClient.GetLatestHeight().(types.Height) 65 } 66 }