11package com .comcast .xfinity .sirius .api
22
33import com .comcast .xfinity .sirius .NiceTest
4- import org .mockito .Mockito .{verify , verifyNoMoreInteractions , when }
4+ import org .mockito .Mockito
5+ import org .mockito .Mockito .{inOrder , verify , verifyNoMoreInteractions , when }
56
67class ParallelBootstrapRequestHandlerTest extends NiceTest {
78
@@ -70,9 +71,9 @@ class ParallelBootstrapRequestHandlerTest extends NiceTest {
7071 val requestHandler = mock[RequestHandler ]
7172
7273 val underTest = ParallelBootstrapRequestHandler (requestHandler)
73- underTest.onBootstrapStarting()
74+ underTest.onBootstrapStarting(true )
7475
75- verify(requestHandler).onBootstrapStarting()
76+ verify(requestHandler).onBootstrapStarting(true )
7677 verifyNoMoreInteractions(requestHandler)
7778 }
7879 it(" onBootstrapComplete" ) {
@@ -86,36 +87,58 @@ class ParallelBootstrapRequestHandlerTest extends NiceTest {
8687 }
8788 }
8889
89- describe(" during bootstrap" ) {
90+ describe(" during parallel bootstrap" ) {
9091 it (" drops out-of-order events for the same key" ) {
9192 val requestHandler = mock[RequestHandler ]
9293 val underTest = ParallelBootstrapRequestHandler (requestHandler)
9394
94- underTest.onBootstrapStarting()
95- verify(requestHandler).onBootstrapStarting()
95+ underTest.onBootstrapStarting(true )
96+ verify(requestHandler).onBootstrapStarting(true )
9697
9798 underTest.handlePut(1L , " key1" , Array .empty)
9899 underTest.handlePut(4L , " key1" , Array .empty)
99100 underTest.handlePut(3L , " key1" , Array .empty)
100101
101- verify(requestHandler).handlePut(1L , " key1" , Array .empty)
102- verify(requestHandler).handlePut(4L , " key1" , Array .empty)
103- verifyNoMoreInteractions(requestHandler)
102+ val inOrder = Mockito .inOrder(requestHandler)
103+ inOrder.verify(requestHandler).handlePut(1L , " key1" , Array .empty)
104+ inOrder.verify(requestHandler).handlePut(4L , " key1" , Array .empty)
105+ inOrder.verifyNoMoreInteractions()
104106 }
105107 it (" allows out-of-order events for different keys" ) {
106108 val requestHandler = mock[RequestHandler ]
107109 val underTest = ParallelBootstrapRequestHandler (requestHandler)
108110
109- underTest.onBootstrapStarting()
110- verify(requestHandler).onBootstrapStarting()
111+ underTest.onBootstrapStarting(true )
112+ verify(requestHandler).onBootstrapStarting(true )
111113
112114 underTest.handlePut(1L , " key1" , Array .empty)
113115 underTest.handlePut(4L , " key1" , Array .empty)
114116 underTest.handlePut(3L , " key2" , Array .empty)
115117
116- verify(requestHandler).handlePut(1L , " key1" , Array .empty)
117- verify(requestHandler).handlePut(4L , " key1" , Array .empty)
118- verify(requestHandler).handlePut(3L , " key2" , Array .empty)
118+ val inOrder = Mockito .inOrder(requestHandler)
119+ inOrder.verify(requestHandler).handlePut(1L , " key1" , Array .empty)
120+ inOrder.verify(requestHandler).handlePut(4L , " key1" , Array .empty)
121+ inOrder.verify(requestHandler).handlePut(3L , " key2" , Array .empty)
122+ inOrder.verifyNoMoreInteractions()
123+ }
124+ }
125+
126+ describe(" during non-parallel bootstrap" ) {
127+ it(" does not drop out-of-order events for the same key" ) {
128+ val requestHandler = mock[RequestHandler ]
129+ val underTest = ParallelBootstrapRequestHandler (requestHandler)
130+
131+ underTest.onBootstrapStarting(false )
132+ verify(requestHandler).onBootstrapStarting(false )
133+
134+ underTest.handlePut(1L , " key1" , Array .empty)
135+ underTest.handlePut(4L , " key1" , Array .empty)
136+ underTest.handlePut(3L , " key1" , Array .empty)
137+
138+ val inOrder = Mockito .inOrder(requestHandler)
139+ inOrder.verify(requestHandler).handlePut(1L , " key1" , Array .empty)
140+ inOrder.verify(requestHandler).handlePut(4L , " key1" , Array .empty)
141+ inOrder.verify(requestHandler).handlePut(3L , " key1" , Array .empty)
119142 verifyNoMoreInteractions(requestHandler)
120143 }
121144 }
0 commit comments