Skip to content

Commit ebc64df

Browse files
nsiregarCoderZhi
andauthored
[4111] Add tests for blocklistener error handling (#4689)
Co-authored-by: CoderZhi <[email protected]>
1 parent d1cdb45 commit ebc64df

File tree

1 file changed

+33
-3
lines changed

1 file changed

+33
-3
lines changed

api/blocklistener_test.go

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ import (
2020
"github.com/iotexproject/iotex-proto/golang/iotexapi"
2121
)
2222

23-
var (
24-
errorSend error = errors.New("send error")
25-
)
23+
var errorSend error = errors.New("send error")
2624

2725
func TestBlockListener(t *testing.T) {
2826
ctrl := gomock.NewController(t)
@@ -63,3 +61,35 @@ func TestBlockListener(t *testing.T) {
6361
require.Equal(t, errorSend, <-errChan)
6462
require.NoError(t, <-errChan)
6563
}
64+
65+
func TestWeb3BlockListener(t *testing.T) {
66+
require := require.New(t)
67+
68+
var streamErr error
69+
handler := func(in interface{}) (int, error) {
70+
return 0, streamErr
71+
}
72+
73+
responder := NewWeb3BlockListener(handler)
74+
75+
builder := block.NewTestingBuilder().
76+
SetHeight(1).
77+
SetVersion(111).
78+
SetTimeStamp(time.Now())
79+
testBlock, err := builder.SignAndBuild(identityset.PrivateKey(0))
80+
require.NoError(err)
81+
82+
t.Run("success send blockInfo", func(t *testing.T) {
83+
streamErr = nil
84+
err = responder.Respond("test", &testBlock)
85+
require.NoError(err)
86+
})
87+
88+
t.Run("stream handle raise error", func(t *testing.T) {
89+
streamErr = errorSend
90+
err = responder.Respond("test", &testBlock)
91+
require.Equal(errorSend, err)
92+
})
93+
94+
responder.Exit()
95+
}

0 commit comments

Comments
 (0)