@@ -33,6 +33,14 @@ func newMockEntityProvider(entity *cloudwatchlogs.Entity) *mockEntityProvider {
3333 return ep
3434}
3535
36+ type mockDoneCallback struct {
37+ mock.Mock
38+ }
39+
40+ func (m * mockDoneCallback ) Done () {
41+ m .Called ()
42+ }
43+
3644func TestLogEvent (t * testing.T ) {
3745 now := time .Now ()
3846 e := newLogEvent (now , "test message" , nil )
@@ -165,10 +173,8 @@ func TestLogEventBatch(t *testing.T) {
165173 t .Run ("WithStatefulLogEvents" , func (t * testing.T ) {
166174 batch := newLogEventBatch (Target {Group : "G" , Stream : "S" }, nil )
167175
168- callbackCalled := false
169- callback := func () {
170- callbackCalled = true
171- }
176+ mdc1 := & mockDoneCallback {}
177+ mdc1 .On ("Done" ).Panic ("should not be called" )
172178
173179 mrq1 := & mockRangeQueue {}
174180 mrq1 .On ("ID" ).Return ("test" )
@@ -178,25 +184,31 @@ func TestLogEventBatch(t *testing.T) {
178184 mrq2 .On ("ID" ).Return ("test2" )
179185 mrq2 .On ("Enqueue" , state .NewRange (5 , 20 )).Once ()
180186
181- event1 := newStatefulLogEvent (time .Now (), "Test" , callback , & logEventState {
187+ event1 := newStatefulLogEvent (time .Now (), "Test" , mdc1 . Done , & logEventState {
182188 r : state .NewRange (20 , 40 ),
183189 queue : mrq1 ,
184190 })
185- event2 := newStatefulLogEvent (time .Now (), "Test2" , callback , & logEventState {
191+ event2 := newStatefulLogEvent (time .Now (), "Test2" , mdc1 . Done , & logEventState {
186192 r : state .NewRange (5 , 20 ),
187193 queue : mrq2 ,
188194 })
189- event3 := newStatefulLogEvent (time .Now (), "Test3" , callback , & logEventState {
195+ event3 := newStatefulLogEvent (time .Now (), "Test3" , mdc1 . Done , & logEventState {
190196 r : state .NewRange (40 , 50 ),
191197 queue : mrq1 ,
192198 })
199+
200+ mdc2 := & mockDoneCallback {}
201+ mdc2 .On ("Done" ).Return ().Once ()
202+ event4 := newLogEvent (time .Now (), "Test2" , mdc2 .Done )
193203 batch .append (event1 )
194204 batch .append (event2 )
195205 batch .append (event3 )
206+ batch .append (event4 )
196207 batch .done ()
197208
198- mrq1 .AssertNumberOfCalls (t , "Enqueue" , 1 )
199- mrq2 .AssertNumberOfCalls (t , "Enqueue" , 1 )
200- assert .False (t , callbackCalled , "Done callback should not have been called" )
209+ mrq1 .AssertExpectations (t )
210+ mrq2 .AssertExpectations (t )
211+ mdc1 .AssertNotCalled (t , "Done" )
212+ mdc2 .AssertExpectations (t )
201213 })
202214}
0 commit comments