@@ -21,8 +21,7 @@ import (
21
21
coreutil "github.com/hyperledger/fabric/core/testutil"
22
22
"github.com/hyperledger/fabric/events/producer"
23
23
"github.com/hyperledger/fabric/msp/mgmt/testtools"
24
- ehpb "github.com/hyperledger/fabric/protos/peer"
25
- "github.com/spf13/viper"
24
+ pb "github.com/hyperledger/fabric/protos/peer"
26
25
"github.com/stretchr/testify/assert"
27
26
"google.golang.org/grpc"
28
27
)
@@ -43,41 +42,39 @@ type BadAdapter struct {
43
42
}
44
43
45
44
var peerAddress = "0.0.0.0:7303"
46
- var ies = []* ehpb .Interest {{EventType : ehpb . EventType_CHAINCODE , RegInfo : & ehpb. Interest_ChaincodeRegInfo { ChaincodeRegInfo : & ehpb. ChaincodeReg { ChaincodeId : "0xffffffff" , EventName : "event1" }} }}
45
+ var ies = []* pb .Interest {{EventType : pb . EventType_BLOCK }}
47
46
var testCert = & x509.Certificate {
48
47
Raw : []byte ("test" ),
49
48
}
50
49
51
50
var adapter * MockAdapter
52
- var obcEHClient * EventsClient
51
+ var ehClient * EventsClient
53
52
54
- func (a * ZeroAdapter ) GetInterestedEvents () ([]* ehpb .Interest , error ) {
55
- return []* ehpb .Interest {}, nil
53
+ func (a * ZeroAdapter ) GetInterestedEvents () ([]* pb .Interest , error ) {
54
+ return []* pb .Interest {}, nil
56
55
}
57
- func (a * ZeroAdapter ) Recv (msg * ehpb .Event ) (bool , error ) {
56
+ func (a * ZeroAdapter ) Recv (msg * pb .Event ) (bool , error ) {
58
57
panic ("not implemented" )
59
58
}
60
59
func (a * ZeroAdapter ) Disconnected (err error ) {
61
60
panic ("not implemented" )
62
61
}
63
62
64
- func (a * BadAdapter ) GetInterestedEvents () ([]* ehpb .Interest , error ) {
65
- return []* ehpb .Interest {}, fmt .Errorf ("Error" )
63
+ func (a * BadAdapter ) GetInterestedEvents () ([]* pb .Interest , error ) {
64
+ return []* pb .Interest {}, fmt .Errorf ("Error" )
66
65
}
67
- func (a * BadAdapter ) Recv (msg * ehpb .Event ) (bool , error ) {
66
+ func (a * BadAdapter ) Recv (msg * pb .Event ) (bool , error ) {
68
67
panic ("not implemented" )
69
68
}
70
69
func (a * BadAdapter ) Disconnected (err error ) {
71
70
panic ("not implemented" )
72
71
}
73
72
74
- func (a * MockAdapter ) GetInterestedEvents () ([]* ehpb.Interest , error ) {
75
- return []* ehpb.Interest {
76
- {EventType : ehpb .EventType_BLOCK },
77
- }, nil
73
+ func (a * MockAdapter ) GetInterestedEvents () ([]* pb.Interest , error ) {
74
+ return ies , nil
78
75
}
79
76
80
- func (a * MockAdapter ) Recv (msg * ehpb .Event ) (bool , error ) {
77
+ func (a * MockAdapter ) Recv (msg * pb .Event ) (bool , error ) {
81
78
return true , nil
82
79
}
83
80
@@ -159,25 +156,28 @@ func TestUnregisterAsync(t *testing.T) {
159
156
done := make (chan struct {})
160
157
adapter := & MockAdapter {notify : done }
161
158
162
- obcEHClient , _ = NewEventsClient (peerAddress , 5 , adapter )
159
+ ehClient , _ = NewEventsClient (peerAddress , 5 , adapter )
163
160
164
- if err = obcEHClient .Start (); err != nil {
165
- obcEHClient .Stop ()
161
+ if err = ehClient .Start (); err != nil {
162
+ ehClient .Stop ()
166
163
t .Fail ()
167
164
}
168
165
169
- regConfig := & RegistrationConfig {InterestedEvents : ies , Timestamp : util .CreateUtcTimestamp (), TlsCert : testCert }
170
- obcEHClient .RegisterAsync (regConfig )
171
- err = obcEHClient .UnregisterAsync (ies )
166
+ regConfig := & RegistrationConfig {
167
+ InterestedEvents : ies ,
168
+ Timestamp : util .CreateUtcTimestamp (),
169
+ TlsCert : testCert ,
170
+ }
171
+ ehClient .RegisterAsync (regConfig )
172
+ err = ehClient .UnregisterAsync (ies )
172
173
assert .NoError (t , err )
173
174
174
- obcEHClient .Stop ()
175
-
175
+ ehClient .Stop ()
176
176
}
177
177
178
178
func TestStart (t * testing.T ) {
179
179
var err error
180
- var regTimeout = 5 * time .Second
180
+ var regTimeout = 1 * time .Second
181
181
done := make (chan struct {})
182
182
183
183
var cases = []struct {
@@ -215,33 +215,32 @@ func TestStart(t *testing.T) {
215
215
for _ , test := range cases {
216
216
t .Run (test .name , func (t * testing.T ) {
217
217
t .Logf ("Running test: %s" , test .name )
218
- obcEHClient , _ = NewEventsClient (test .address , regTimeout , test .adapter )
219
- err = obcEHClient .Start ()
218
+ ehClient , _ = NewEventsClient (test .address , regTimeout , test .adapter )
219
+ err = ehClient .Start ()
220
220
if test .expected {
221
221
assert .NoError (t , err )
222
222
} else {
223
223
assert .Error (t , err )
224
224
}
225
- obcEHClient .Stop ()
225
+ ehClient .Stop ()
226
226
})
227
227
}
228
228
}
229
229
230
230
func TestStop (t * testing.T ) {
231
231
var err error
232
- var regTimeout = 5 * time .Second
232
+ var regTimeout = 1 * time .Second
233
233
done := make (chan struct {})
234
234
adapter := & MockAdapter {notify : done }
235
235
236
- obcEHClient , _ = NewEventsClient (peerAddress , regTimeout , adapter )
236
+ ehClient , _ = NewEventsClient (peerAddress , regTimeout , adapter )
237
237
238
- if err = obcEHClient .Start (); err != nil {
238
+ if err = ehClient .Start (); err != nil {
239
239
t .Fail ()
240
- t .Logf ("Error client start %s" , err )
240
+ t .Logf ("Error starting client: %s" , err )
241
241
}
242
- err = obcEHClient .Stop ()
242
+ err = ehClient .Stop ()
243
243
assert .NoError (t , err )
244
-
245
244
}
246
245
247
246
func TestMain (m * testing.M ) {
@@ -263,24 +262,25 @@ func TestMain(m *testing.M) {
263
262
}
264
263
265
264
extract := func (msg proto.Message ) []byte {
266
- evt , isEvent := msg .(* ehpb .Event )
265
+ evt , isEvent := msg .(* pb .Event )
267
266
if ! isEvent || evt == nil {
268
267
return nil
269
268
}
270
269
return evt .TlsCertHash
271
270
}
272
271
272
+ timeout := 10 * time .Millisecond
273
273
ehConfig := & producer.EventsServerConfig {
274
- BufferSize : uint (viper .GetInt ("peer.events.buffersize" )),
275
- Timeout : viper .GetDuration ("peer.events.timeout" ),
276
- TimeWindow : viper .GetDuration ("peer.events.timewindow" ),
277
- BindingInspector : comm .NewBindingInspector (false , extract )}
274
+ BufferSize : 100 ,
275
+ Timeout : timeout ,
276
+ SendTimeout : timeout ,
277
+ TimeWindow : time .Minute ,
278
+ BindingInspector : comm .NewBindingInspector (false , extract ),
279
+ }
278
280
ehServer := producer .NewEventsServer (ehConfig )
279
-
280
- ehpb .RegisterEventsServer (grpcServer , ehServer )
281
+ pb .RegisterEventsServer (grpcServer , ehServer )
281
282
282
283
go grpcServer .Serve (lis )
283
284
284
- time .Sleep (2 * time .Second )
285
285
os .Exit (m .Run ())
286
286
}
0 commit comments