github.com/number571/tendermint@v0.34.11-gost/rpc/client/mock/status_test.go (about) 1 package mock_test 2 3 import ( 4 "context" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 11 "github.com/number571/tendermint/libs/bytes" 12 "github.com/number571/tendermint/rpc/client/mock" 13 ctypes "github.com/number571/tendermint/rpc/core/types" 14 ) 15 16 func TestStatus(t *testing.T) { 17 assert, require := assert.New(t), require.New(t) 18 19 m := &mock.StatusMock{ 20 Call: mock.Call{ 21 Response: &ctypes.ResultStatus{ 22 SyncInfo: ctypes.SyncInfo{ 23 LatestBlockHash: bytes.HexBytes("block"), 24 LatestAppHash: bytes.HexBytes("app"), 25 LatestBlockHeight: 10, 26 MaxPeerBlockHeight: 20, 27 TotalSyncedTime: time.Second, 28 RemainingTime: time.Minute, 29 }, 30 }}, 31 } 32 33 r := mock.NewStatusRecorder(m) 34 require.Equal(0, len(r.Calls)) 35 36 // make sure response works proper 37 status, err := r.Status(context.Background()) 38 require.Nil(err, "%+v", err) 39 assert.EqualValues("block", status.SyncInfo.LatestBlockHash) 40 assert.EqualValues(10, status.SyncInfo.LatestBlockHeight) 41 assert.EqualValues(20, status.SyncInfo.MaxPeerBlockHeight) 42 assert.EqualValues(time.Second, status.SyncInfo.TotalSyncedTime) 43 assert.EqualValues(time.Minute, status.SyncInfo.RemainingTime) 44 45 // make sure recorder works properly 46 require.Equal(1, len(r.Calls)) 47 rs := r.Calls[0] 48 assert.Equal("status", rs.Name) 49 assert.Nil(rs.Args) 50 assert.Nil(rs.Error) 51 require.NotNil(rs.Response) 52 st, ok := rs.Response.(*ctypes.ResultStatus) 53 require.True(ok) 54 assert.EqualValues("block", st.SyncInfo.LatestBlockHash) 55 assert.EqualValues(10, st.SyncInfo.LatestBlockHeight) 56 assert.EqualValues(20, st.SyncInfo.MaxPeerBlockHeight) 57 assert.EqualValues(time.Second, status.SyncInfo.TotalSyncedTime) 58 assert.EqualValues(time.Minute, status.SyncInfo.RemainingTime) 59 }