Skip to content

Commit 6148bcd

Browse files
authored
Update template_test.go
1 parent 5940fb6 commit 6148bcd

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

internal/ingress/controller/template/template_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -959,10 +959,12 @@ func TestBuildRateLimit(t *testing.T) {
959959
loc.RateLimit.RPS.Name = "rps"
960960
loc.RateLimit.RPS.Limit = 1
961961
loc.RateLimit.RPS.Burst = 1
962+
loc.RateLimit.RPS.Delay = -1
962963

963964
loc.RateLimit.RPM.Name = "rpm"
964965
loc.RateLimit.RPM.Limit = 2
965966
loc.RateLimit.RPM.Burst = 2
967+
loc.RateLimit.RPM.Delay = -1
966968

967969
loc.RateLimit.LimitRateAfter = 1
968970
loc.RateLimit.LimitRate = 1
@@ -983,6 +985,56 @@ func TestBuildRateLimit(t *testing.T) {
983985
}
984986
}
985987

988+
loc = &ingress.Location{}
989+
990+
loc.RateLimit.RPS.Name = "rps"
991+
loc.RateLimit.RPS.Limit = 1
992+
loc.RateLimit.RPS.Burst = 5
993+
loc.RateLimit.RPS.Delay = 2
994+
995+
loc.RateLimit.RPM.Name = "rpm"
996+
loc.RateLimit.RPM.Limit = 2
997+
loc.RateLimit.RPM.Burst = 5
998+
loc.RateLimit.RPM.Delay = 3
999+
1000+
validLimits = []string{
1001+
"limit_req zone=rps burst=5 delay=2;",
1002+
"limit_req zone=rpm burst=5 delay=3;",
1003+
}
1004+
1005+
limits = buildRateLimit(loc)
1006+
1007+
for i, limit := range limits {
1008+
if limit != validLimits[i] {
1009+
t.Errorf("Expected '%v' but returned '%v'", validLimits, limits)
1010+
}
1011+
}
1012+
1013+
loc = &ingress.Location{}
1014+
1015+
loc.RateLimit.RPS.Name = "rps"
1016+
loc.RateLimit.RPS.Limit = 1
1017+
loc.RateLimit.RPS.Burst = 0
1018+
loc.RateLimit.RPS.Delay = -1
1019+
1020+
loc.RateLimit.RPM.Name = "rpm"
1021+
loc.RateLimit.RPM.Limit = 2
1022+
loc.RateLimit.RPM.Burst = 0
1023+
loc.RateLimit.RPM.Delay = -1
1024+
1025+
validLimits = []string{
1026+
"limit_req zone=rps nodelay;",
1027+
"limit_req zone=rpm nodelay;",
1028+
}
1029+
1030+
limits = buildRateLimit(loc)
1031+
1032+
for i, limit := range limits {
1033+
if limit != validLimits[i] {
1034+
t.Errorf("Expected '%v' but returned '%v'", validLimits, limits)
1035+
}
1036+
}
1037+
9861038
// Invalid limit
9871039
limits = buildRateLimit(&ingress.Ingress{})
9881040
if !reflect.DeepEqual(expected, limits) {

0 commit comments

Comments
 (0)