1
1
package com .comcast .xfinity .sirius .api
2
2
3
3
import 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 }
5
6
6
7
class ParallelBootstrapRequestHandlerTest extends NiceTest {
7
8
@@ -70,9 +71,9 @@ class ParallelBootstrapRequestHandlerTest extends NiceTest {
70
71
val requestHandler = mock[RequestHandler ]
71
72
72
73
val underTest = ParallelBootstrapRequestHandler (requestHandler)
73
- underTest.onBootstrapStarting()
74
+ underTest.onBootstrapStarting(true )
74
75
75
- verify(requestHandler).onBootstrapStarting()
76
+ verify(requestHandler).onBootstrapStarting(true )
76
77
verifyNoMoreInteractions(requestHandler)
77
78
}
78
79
it(" onBootstrapComplete" ) {
@@ -86,36 +87,58 @@ class ParallelBootstrapRequestHandlerTest extends NiceTest {
86
87
}
87
88
}
88
89
89
- describe(" during bootstrap" ) {
90
+ describe(" during parallel bootstrap" ) {
90
91
it (" drops out-of-order events for the same key" ) {
91
92
val requestHandler = mock[RequestHandler ]
92
93
val underTest = ParallelBootstrapRequestHandler (requestHandler)
93
94
94
- underTest.onBootstrapStarting()
95
- verify(requestHandler).onBootstrapStarting()
95
+ underTest.onBootstrapStarting(true )
96
+ verify(requestHandler).onBootstrapStarting(true )
96
97
97
98
underTest.handlePut(1L , " key1" , Array .empty)
98
99
underTest.handlePut(4L , " key1" , Array .empty)
99
100
underTest.handlePut(3L , " key1" , Array .empty)
100
101
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()
104
106
}
105
107
it (" allows out-of-order events for different keys" ) {
106
108
val requestHandler = mock[RequestHandler ]
107
109
val underTest = ParallelBootstrapRequestHandler (requestHandler)
108
110
109
- underTest.onBootstrapStarting()
110
- verify(requestHandler).onBootstrapStarting()
111
+ underTest.onBootstrapStarting(true )
112
+ verify(requestHandler).onBootstrapStarting(true )
111
113
112
114
underTest.handlePut(1L , " key1" , Array .empty)
113
115
underTest.handlePut(4L , " key1" , Array .empty)
114
116
underTest.handlePut(3L , " key2" , Array .empty)
115
117
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)
119
142
verifyNoMoreInteractions(requestHandler)
120
143
}
121
144
}
0 commit comments