@@ -39,12 +39,14 @@ const (
3939var (
4040 peer1 = fabmocks .NewMockPeer ("peer1" , "grpcs://peer1.example.com:7051" )
4141 peer2 = fabmocks .NewMockPeer ("peer2" , "grpcs://peer2.example.com:7051" )
42+
43+ sourceURL = "localhost:9051"
4244)
4345
4446func TestConnect (t * testing.T ) {
4547 connectionProvider := clientmocks .NewProviderFactory ().Provider (
4648 clientmocks .NewMockConnection (
47- clientmocks .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
49+ clientmocks .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
4850 ),
4951 )
5052
@@ -90,7 +92,7 @@ func TestFailConnect(t *testing.T) {
9092 fabmocks .NewMockChannelCfg ("mychannel" ),
9193 mockconn .NewProviderFactory ().Provider (
9294 mockconn .NewMockConnection (
93- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
95+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
9496 ),
9597 ),
9698 failAfterConnectClientProvider , []options.Opt {},
@@ -111,7 +113,7 @@ func TestCallsOnClosedClient(t *testing.T) {
111113 ),
112114 fabmocks .NewMockChannelCfg ("mychannel" ),
113115 filteredClientProvider ,
114- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
116+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
115117 )
116118 if err != nil {
117119 t .Fatalf ("error creating channel event client: %s" , err )
@@ -153,7 +155,7 @@ func TestCloseIfIdle(t *testing.T) {
153155 ),
154156 fabmocks .NewMockChannelCfg (channelID ),
155157 clientProvider ,
156- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory )),
158+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )),
157159 )
158160 if err != nil {
159161 t .Fatalf ("error creating channel event client: %s" , err )
@@ -187,7 +189,7 @@ func TestInvalidUnregister(t *testing.T) {
187189 ),
188190 fabmocks .NewMockChannelCfg (channelID ),
189191 filteredClientProvider ,
190- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
192+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
191193 )
192194 if err != nil {
193195 t .Fatalf ("error creating channel event client: %s" , err )
@@ -210,7 +212,7 @@ func TestUnauthorizedBlockEvents(t *testing.T) {
210212 ),
211213 fabmocks .NewMockChannelCfg (channelID ),
212214 filteredClientProvider ,
213- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
215+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
214216 )
215217 if err != nil {
216218 t .Fatalf ("error creating channel event client: %s" , err )
@@ -234,7 +236,7 @@ func TestBlockEvents(t *testing.T) {
234236 ),
235237 fabmocks .NewMockChannelCfg (channelID ),
236238 clientProvider ,
237- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory )),
239+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )),
238240 )
239241 if err != nil {
240242 t .Fatalf ("error creating channel event client: %s" , err )
@@ -292,7 +294,7 @@ func TestFilteredBlockEvents(t *testing.T) {
292294 ),
293295 fabmocks .NewMockChannelCfg (channelID ),
294296 filteredClientProvider ,
295- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
297+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
296298 )
297299 if err != nil {
298300 t .Fatalf ("error creating channel event client: %s" , err )
@@ -369,7 +371,7 @@ func TestBlockAndFilteredBlockEvents(t *testing.T) {
369371 ),
370372 fabmocks .NewMockChannelCfg (channelID ),
371373 clientProvider ,
372- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory )),
374+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )),
373375 )
374376 if err != nil {
375377 t .Fatalf ("error creating channel event client: %s" , err )
@@ -447,7 +449,7 @@ func TestTxStatusEvents(t *testing.T) {
447449 ),
448450 fabmocks .NewMockChannelCfg (channelID ),
449451 filteredClientProvider ,
450- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
452+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
451453 )
452454 if err != nil {
453455 t .Fatalf ("error creating channel event client: %s" , err )
@@ -531,7 +533,7 @@ func TestCCEvents(t *testing.T) {
531533 ),
532534 fabmocks .NewMockChannelCfg (channelID ),
533535 filteredClientProvider ,
534- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory )),
536+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .FilteredBlockEventFactory , sourceURL )),
535537 )
536538 if err != nil {
537539 t .Fatalf ("error creating channel event client: %s" , err )
@@ -731,7 +733,7 @@ func TestConcurrentEvents(t *testing.T) {
731733 []options.Opt {
732734 esdispatcher .WithEventConsumerBufferSize (uint (numEvents ) * 4 ),
733735 },
734- mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory )),
736+ mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )),
735737 )
736738 if err != nil {
737739 t .Fatalf ("error creating channel event client: %s" , err )
@@ -885,14 +887,19 @@ func listenFilteredBlockEvents(channelID string, eventch <-chan *fab.FilteredBlo
885887
886888func listenChaincodeEvents (channelID string , eventch <- chan * fab.CCEvent , expected int , errch chan <- error ) {
887889 numReceived := 0
890+ lastBlockNum := uint64 (0 )
888891
889892 for {
890893 select {
891- case _ , ok := <- eventch :
894+ case event , ok := <- eventch :
892895 if ! ok {
893896 fmt .Printf ("CC events channel was closed \n " )
894897 return
895898 }
899+ if event .BlockNumber > 0 && event .BlockNumber <= lastBlockNum {
900+ errch <- errors .Errorf ("Expected block greater than [%d] but received [%d]" , lastBlockNum , event .BlockNumber )
901+ return
902+ }
896903 numReceived ++
897904 case <- time .After (5 * time .Second ):
898905 if numReceived != expected {
@@ -919,7 +926,7 @@ func txStatusTest(eventClient *Client, ledger servicemocks.Ledger, channelID str
919926 var receivedEvents int
920927
921928 for i := 0 ; i < expected ; i ++ {
922- txID := fmt .Sprintf ("txid_tx_ %d" , i )
929+ txID := fmt .Sprintf ("TxID_ %d" , i )
923930 go func () {
924931 defer wg .Done ()
925932
@@ -932,18 +939,22 @@ func txStatusTest(eventClient *Client, ledger servicemocks.Ledger, channelID str
932939 }
933940 defer eventClient .Unregister (reg )
934941
935- ledger .NewBlock (channelID ,
942+ block := ledger .NewBlock (channelID ,
936943 servicemocks .NewTransactionWithCCEvent (txID , pb .TxValidationCode_VALID , ccID , event1 , payload1 ),
937944 )
938945
939946 select {
940- case _ , ok := <- txeventch :
947+ case event , ok := <- txeventch :
941948 mutex .Lock ()
942949 if ! ok {
943950 errs = append (errs , errors .New ("unexpected closed channel" ))
944951 } else {
945952 receivedEvents ++
946953 }
954+ if event .BlockNumber != block .Number () {
955+ errch <- errors .Errorf ("Expected block number [%d] but received [%d]" , block .Number (), event .BlockNumber )
956+ return
957+ }
947958 mutex .Unlock ()
948959 case <- time .After (5 * time .Second ):
949960 mutex .Lock ()
@@ -971,7 +982,7 @@ func testConnect(t *testing.T, maxConnectAttempts uint, expectedOutcome mockconn
971982 clientmocks .NewDiscoveryProvider (peer1 , peer2 ),
972983 ),
973984 fabmocks .NewMockChannelCfg ("mychannel" ),
974- cp .FlakeyProvider (connAttemptResult , mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory ))),
985+ cp .FlakeyProvider (connAttemptResult , mockconn .WithLedger (servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL ))),
975986 clientProvider ,
976987 []options.Opt {
977988 esdispatcher .WithEventConsumerTimeout (time .Second ),
@@ -1000,7 +1011,7 @@ func testReconnect(t *testing.T, reconnect bool, maxReconnectAttempts uint, expe
10001011
10011012 connectch := make (chan * dispatcher.ConnectionEvent )
10021013
1003- ledger := servicemocks .NewMockLedger (servicemocks .BlockEventFactory )
1014+ ledger := servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )
10041015
10051016 eventClient , _ , err := newClientWithMockConnAndOpts (
10061017 fabmocks .NewMockContextWithCustomDiscovery (
@@ -1055,7 +1066,7 @@ func testReconnectRegistration(t *testing.T, expectedBlockEvents mockconn.NumBlo
10551066 channelID := "mychannel"
10561067 ccID := "mycc"
10571068
1058- ledger := servicemocks .NewMockLedger (servicemocks .BlockEventFactory )
1069+ ledger := servicemocks .NewMockLedger (servicemocks .BlockEventFactory , sourceURL )
10591070
10601071 cp := mockconn .NewProviderFactory ()
10611072
0 commit comments