@@ -552,7 +552,14 @@ func TestChangesResponseLegacyRev(t *testing.T) {
552
552
// wait for pending change to avoid flakes where changes feed didn't pick up this change
553
553
rt .WaitForPendingChanges ()
554
554
receivedChangesRequestWg := sync.WaitGroup {}
555
+ // changes will be called:
556
+ // 1. doc1 changes
557
+ // 2. empty changes to indicate feed is complete
558
+ receivedChangesRequestWg .Add (2 )
559
+
555
560
revsFinishedWg := sync.WaitGroup {}
561
+ // expect 1 rev message for doc1
562
+ revsFinishedWg .Add (1 )
556
563
557
564
bt .blipContext .HandlerForProfile ["rev" ] = func (request * blip.Message ) {
558
565
defer revsFinishedWg .Done ()
@@ -571,7 +578,7 @@ func TestChangesResponseLegacyRev(t *testing.T) {
571
578
}
572
579
573
580
bt .blipContext .HandlerForProfile ["changes" ] = func (request * blip.Message ) {
574
-
581
+ defer receivedChangesRequestWg . Done ()
575
582
log .Printf ("got changes message: %+v" , request )
576
583
body , err := request .Body ()
577
584
log .Printf ("changes body: %v, err: %v" , string (body ), err )
@@ -602,19 +609,13 @@ func TestChangesResponseLegacyRev(t *testing.T) {
602
609
require .NoError (t , err )
603
610
response .SetBody (emptyResponseValBytes )
604
611
}
605
- receivedChangesRequestWg .Done ()
606
612
}
607
613
608
614
subChangesRequest := bt .newRequest ()
609
615
subChangesRequest .SetProfile ("subChanges" )
610
616
subChangesRequest .Properties ["continuous" ] = "false"
611
617
sent := bt .sender .Send (subChangesRequest )
612
618
assert .True (t , sent )
613
- // changes will be called again with empty changes so hence the wait group of 2
614
- receivedChangesRequestWg .Add (2 )
615
-
616
- // expect 1 rev message
617
- revsFinishedWg .Add (1 )
618
619
619
620
subChangesResponse := subChangesRequest .Response ()
620
621
assert .Equal (t , subChangesRequest .SerialNumber (), subChangesResponse .SerialNumber ())
0 commit comments