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  }