@@ -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
2725func 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