aboutsummaryrefslogtreecommitdiffstats
path: root/client/go/internal/vespa/document/throttler_test.go
blob: 03f0bc75bdcdb0e44f8201faaf229d7e5f270622 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package document

import (
	"testing"
	"time"
)

func TestThrottler(t *testing.T) {
	clock := &manualClock{tick: time.Second}
	tr := newThrottler(8, clock.now)
	for i := 0; i < 100; i++ {
		tr.Sent()
	}
	if got, want := tr.TargetInflight(), int64(1024); got != want {
		t.Errorf("got TargetInflight() = %d, but want %d", got, want)
	}
	tr.Throttled(5)
	if got, want := tr.TargetInflight(), int64(128); got != want {
		t.Errorf("got TargetInflight() = %d, but want %d", got, want)
	}
}