fix: trace delayed websocket acknowledgements
This commit is contained in:
@@ -45,3 +45,20 @@ func TestWaitForCallbackQueueWaitsForProcessingCallback(t *testing.T) {
|
||||
t.Fatal("wait returned before the callback finished")
|
||||
}
|
||||
}
|
||||
|
||||
func TestWaitForDeliveryQuiescenceResetsForLateDelivery(t *testing.T) {
|
||||
recorder := newDeliveryRecorder("run", "a", 1)
|
||||
queue := &callbackQueueMetrics{}
|
||||
go func() {
|
||||
time.Sleep(20 * time.Millisecond)
|
||||
recorder.received.Add(1)
|
||||
}()
|
||||
|
||||
started := time.Now()
|
||||
if err := waitForDeliveryQuiescence(context.Background(), recorder, queue, 150*time.Millisecond, time.Second); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if elapsed := time.Since(started); elapsed < 250*time.Millisecond {
|
||||
t.Fatalf("quiet period was not reset after late delivery: elapsed=%s", elapsed)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user