Files
EdgeNode/internal/utils/ratelimit/counter_test.go

46 lines
824 B
Go
Raw Normal View History

2024-05-17 18:30:33 +08:00
// Copyright 2021 GoEdge goedge.cdn@gmail.com. All rights reserved.
2021-12-09 17:34:05 +08:00
2024-01-11 15:25:47 +08:00
package ratelimit_test
2021-12-09 17:34:05 +08:00
import (
"testing"
"time"
2024-07-27 15:42:50 +08:00
"github.com/TeaOSLab/EdgeNode/internal/utils/ratelimit"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
2021-12-09 17:34:05 +08:00
)
func TestCounter_ACK(t *testing.T) {
2024-01-11 15:25:47 +08:00
if !testutils.IsSingleTesting() {
return
}
var counter = ratelimit.NewCounter(10)
2021-12-09 17:34:05 +08:00
go func() {
for i := 0; i < 10; i++ {
counter.Ack()
}
//counter.Release()
t.Log("waiting", time.Now().Unix())
counter.Ack()
t.Log("done", time.Now().Unix())
}()
time.Sleep(1 * time.Second)
counter.Close()
time.Sleep(1 * time.Second)
}
func TestCounter_Release(t *testing.T) {
2024-01-11 15:25:47 +08:00
var counter = ratelimit.NewCounter(10)
2021-12-09 17:34:05 +08:00
for i := 0; i < 10; i++ {
counter.Ack()
}
for i := 0; i < 10; i++ {
counter.Release()
}
2024-01-11 15:25:47 +08:00
t.Log(counter.Len())
2021-12-09 17:34:05 +08:00
}