66 "time"
77
88 "github.com/go-redis/redis/v8"
9- "github.com/stretchr/testify/assert "
9+ "github.com/stretchr/testify/require "
1010
1111 "github.com/go-redis/redis_rate/v9"
1212)
@@ -27,46 +27,45 @@ func TestAllow(t *testing.T) {
2727 l := rateLimiter ()
2828
2929 limit := redis_rate .PerSecond (10 )
30- assert .Equal (t , limit .String (), "10 req/s (burst 10)" )
31- assert .False (t , limit .IsZero ())
30+ require .Equal (t , limit .String (), "10 req/s (burst 10)" )
31+ require .False (t , limit .IsZero ())
3232
3333 res , err := l .Allow (ctx , "test_id" , limit )
34- assert .Nil (t , err )
35- assert .Equal (t , res .Allowed , 1 )
36- assert .Equal (t , res .Remaining , 9 )
37- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
38- assert .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
34+ require .Nil (t , err )
35+ require .Equal (t , res .Allowed , 1 )
36+ require .Equal (t , res .Remaining , 9 )
37+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
38+ require .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
3939
4040 err = l .Reset (ctx , "test_id" )
41- assert .Nil (t , err )
41+ require .Nil (t , err )
4242 res , err = l .Allow (ctx , "test_id" , limit )
43- assert .Nil (t , err )
44- assert .Equal (t , res .Allowed , 1 )
45- assert .Equal (t , res .Remaining , 9 )
46- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
47- assert .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
43+ require .Nil (t , err )
44+ require .Equal (t , res .Allowed , 1 )
45+ require .Equal (t , res .Remaining , 9 )
46+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
47+ require .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
4848
4949 res , err = l .AllowN (ctx , "test_id" , limit , 2 )
50- assert .Nil (t , err )
51- assert .Equal (t , res .Allowed , 2 )
52- assert .Equal (t , res .Remaining , 7 )
53- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
54- assert .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
50+ require .Nil (t , err )
51+ require .Equal (t , res .Allowed , 2 )
52+ require .Equal (t , res .Remaining , 7 )
53+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
54+ require .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
5555
5656 res , err = l .AllowN (ctx , "test_id" , limit , 7 )
57- assert .Nil (t , err )
58- assert .Equal (t , res .Allowed , 7 )
59- assert .Equal (t , res .Remaining , 0 )
60- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
61- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
57+ require .Nil (t , err )
58+ require .Equal (t , res .Allowed , 7 )
59+ require .Equal (t , res .Remaining , 0 )
60+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
61+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
6262
6363 res , err = l .AllowN (ctx , "test_id" , limit , 1000 )
64- assert .Nil (t , err )
65- assert .Equal (t , res .Allowed , 0 )
66- assert .Equal (t , res .Remaining , 0 )
67- assert .InDelta (t , res .RetryAfter , 99 * time .Second , float64 (time .Second ))
68- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
69-
64+ require .Nil (t , err )
65+ require .Equal (t , res .Allowed , 0 )
66+ require .Equal (t , res .Remaining , 0 )
67+ require .InDelta (t , res .RetryAfter , 99 * time .Second , float64 (time .Second ))
68+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
7069}
7170
7271func TestRetryAfter (t * testing.T ) {
@@ -81,13 +80,13 @@ func TestRetryAfter(t *testing.T) {
8180
8281 for i := 0 ; i < 1000 ; i ++ {
8382 res , err := l .Allow (ctx , "test_id" , limit )
84- assert .Nil (t , err )
83+ require .Nil (t , err )
8584
8685 if res .Allowed > 0 {
8786 continue
8887 }
8988
90- assert .LessOrEqual (t , int64 (res .RetryAfter ), int64 (time .Millisecond ))
89+ require .LessOrEqual (t , int64 (res .RetryAfter ), int64 (time .Millisecond ))
9190 }
9291}
9392
@@ -98,53 +97,53 @@ func TestAllowAtMost(t *testing.T) {
9897 limit := redis_rate .PerSecond (10 )
9998
10099 res , err := l .Allow (ctx , "test_id" , limit )
101- assert .Nil (t , err )
102- assert .Equal (t , res .Allowed , 1 )
103- assert .Equal (t , res .Remaining , 9 )
104- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
105- assert .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
100+ require .Nil (t , err )
101+ require .Equal (t , res .Allowed , 1 )
102+ require .Equal (t , res .Remaining , 9 )
103+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
104+ require .InDelta (t , res .ResetAfter , 100 * time .Millisecond , float64 (10 * time .Millisecond ))
106105
107106 res , err = l .AllowAtMost (ctx , "test_id" , limit , 2 )
108- assert .Nil (t , err )
109- assert .Equal (t , res .Allowed , 2 )
110- assert .Equal (t , res .Remaining , 7 )
111- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
112- assert .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
107+ require .Nil (t , err )
108+ require .Equal (t , res .Allowed , 2 )
109+ require .Equal (t , res .Remaining , 7 )
110+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
111+ require .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
113112
114113 res , err = l .AllowN (ctx , "test_id" , limit , 0 )
115- assert .Nil (t , err )
116- assert .Equal (t , res .Allowed , 0 )
117- assert .Equal (t , res .Remaining , 7 )
118- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
119- assert .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
114+ require .Nil (t , err )
115+ require .Equal (t , res .Allowed , 0 )
116+ require .Equal (t , res .Remaining , 7 )
117+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
118+ require .InDelta (t , res .ResetAfter , 300 * time .Millisecond , float64 (10 * time .Millisecond ))
120119
121120 res , err = l .AllowAtMost (ctx , "test_id" , limit , 10 )
122- assert .Nil (t , err )
123- assert .Equal (t , res .Allowed , 7 )
124- assert .Equal (t , res .Remaining , 0 )
125- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
126- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
121+ require .Nil (t , err )
122+ require .Equal (t , res .Allowed , 7 )
123+ require .Equal (t , res .Remaining , 0 )
124+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
125+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
127126
128127 res , err = l .AllowN (ctx , "test_id" , limit , 0 )
129- assert .Nil (t , err )
130- assert .Equal (t , res .Allowed , 0 )
131- assert .Equal (t , res .Remaining , 0 )
132- assert .Equal (t , res .RetryAfter , time .Duration (- 1 ))
133- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
128+ require .Nil (t , err )
129+ require .Equal (t , res .Allowed , 0 )
130+ require .Equal (t , res .Remaining , 0 )
131+ require .Equal (t , res .RetryAfter , time .Duration (- 1 ))
132+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
134133
135134 res , err = l .AllowAtMost (ctx , "test_id" , limit , 1000 )
136- assert .Nil (t , err )
137- assert .Equal (t , res .Allowed , 0 )
138- assert .Equal (t , res .Remaining , 0 )
139- assert .InDelta (t , res .RetryAfter , 99 * time .Millisecond , float64 (10 * time .Millisecond ))
140- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
135+ require .Nil (t , err )
136+ require .Equal (t , res .Allowed , 0 )
137+ require .Equal (t , res .Remaining , 0 )
138+ require .InDelta (t , res .RetryAfter , 99 * time .Millisecond , float64 (10 * time .Millisecond ))
139+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
141140
142141 res , err = l .AllowN (ctx , "test_id" , limit , 1000 )
143- assert .Nil (t , err )
144- assert .Equal (t , res .Allowed , 0 )
145- assert .Equal (t , res .Remaining , 0 )
146- assert .InDelta (t , res .RetryAfter , 99 * time .Second , float64 (time .Second ))
147- assert .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
142+ require .Nil (t , err )
143+ require .Equal (t , res .Allowed , 0 )
144+ require .Equal (t , res .Remaining , 0 )
145+ require .InDelta (t , res .RetryAfter , 99 * time .Second , float64 (time .Second ))
146+ require .InDelta (t , res .ResetAfter , 999 * time .Millisecond , float64 (10 * time .Millisecond ))
148147}
149148
150149func BenchmarkAllow (b * testing.B ) {
0 commit comments