@@ -1936,7 +1936,7 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
19361936 wantErrors : []string {},
19371937 },
19381938 {
1939- desc : "rate limit requests of zero is rejected " ,
1939+ desc : "rate limit requests of one is accepted " ,
19401940 mutate : func (btp * egv1a1.BackendTrafficPolicy ) {
19411941 btp .Spec = egv1a1.BackendTrafficPolicySpec {
19421942 PolicyTargetReferences : egv1a1.PolicyTargetReferences {
@@ -1953,7 +1953,7 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
19531953 Rules : []egv1a1.RateLimitRule {
19541954 {
19551955 Limit : egv1a1.RateLimitValue {
1956- Requests : 0 ,
1956+ Requests : 1 ,
19571957 Unit : "Minute" ,
19581958 },
19591959 },
@@ -1962,10 +1962,36 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
19621962 },
19631963 }
19641964 },
1965- wantErrors : []string {
1966- "spec.ratelimit.global.rules[0].limit.requests" ,
1967- "should be greater than or equal to 1" ,
1965+ wantErrors : []string {},
1966+ },
1967+ {
1968+ desc : "global rate limit requests of zero is accepted" ,
1969+ mutate : func (btp * egv1a1.BackendTrafficPolicy ) {
1970+ btp .Spec = egv1a1.BackendTrafficPolicySpec {
1971+ PolicyTargetReferences : egv1a1.PolicyTargetReferences {
1972+ TargetRef : & gwapiv1.LocalPolicyTargetReferenceWithSectionName {
1973+ LocalPolicyTargetReference : gwapiv1.LocalPolicyTargetReference {
1974+ Group : gwapiv1 .Group ("gateway.networking.k8s.io" ),
1975+ Kind : gwapiv1 .Kind ("Gateway" ),
1976+ Name : gwapiv1 .ObjectName ("eg" ),
1977+ },
1978+ },
1979+ },
1980+ RateLimit : & egv1a1.RateLimitSpec {
1981+ Global : & egv1a1.GlobalRateLimit {
1982+ Rules : []egv1a1.RateLimitRule {
1983+ {
1984+ Limit : egv1a1.RateLimitValue {
1985+ Requests : 0 ,
1986+ Unit : "Minute" ,
1987+ },
1988+ },
1989+ },
1990+ },
1991+ },
1992+ }
19681993 },
1994+ wantErrors : []string {},
19691995 },
19701996 {
19711997 desc : "local rate limit requests at uint32 max boundary is accepted" ,
@@ -1997,7 +2023,7 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
19972023 wantErrors : []string {},
19982024 },
19992025 {
2000- desc : "local rate limit requests of zero is rejected " ,
2026+ desc : "local rate limit requests of one is accepted " ,
20012027 mutate : func (btp * egv1a1.BackendTrafficPolicy ) {
20022028 btp .Spec = egv1a1.BackendTrafficPolicySpec {
20032029 PolicyTargetReferences : egv1a1.PolicyTargetReferences {
@@ -2014,7 +2040,7 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
20142040 Rules : []egv1a1.RateLimitRule {
20152041 {
20162042 Limit : egv1a1.RateLimitValue {
2017- Requests : 0 ,
2043+ Requests : 1 ,
20182044 Unit : "Minute" ,
20192045 },
20202046 },
@@ -2023,10 +2049,36 @@ func TestBackendTrafficPolicyTarget(t *testing.T) {
20232049 },
20242050 }
20252051 },
2026- wantErrors : []string {
2027- "spec.ratelimit.local.rules[0].limit.requests" ,
2028- "should be greater than or equal to 1" ,
2052+ wantErrors : []string {},
2053+ },
2054+ {
2055+ desc : "local rate limit requests of zero is accepted" ,
2056+ mutate : func (btp * egv1a1.BackendTrafficPolicy ) {
2057+ btp .Spec = egv1a1.BackendTrafficPolicySpec {
2058+ PolicyTargetReferences : egv1a1.PolicyTargetReferences {
2059+ TargetRef : & gwapiv1.LocalPolicyTargetReferenceWithSectionName {
2060+ LocalPolicyTargetReference : gwapiv1.LocalPolicyTargetReference {
2061+ Group : gwapiv1 .Group ("gateway.networking.k8s.io" ),
2062+ Kind : gwapiv1 .Kind ("Gateway" ),
2063+ Name : gwapiv1 .ObjectName ("eg" ),
2064+ },
2065+ },
2066+ },
2067+ RateLimit : & egv1a1.RateLimitSpec {
2068+ Local : & egv1a1.LocalRateLimit {
2069+ Rules : []egv1a1.RateLimitRule {
2070+ {
2071+ Limit : egv1a1.RateLimitValue {
2072+ Requests : 0 ,
2073+ Unit : "Minute" ,
2074+ },
2075+ },
2076+ },
2077+ },
2078+ },
2079+ }
20292080 },
2081+ wantErrors : []string {},
20302082 },
20312083 {
20322084 desc : "valid connectionBufferLimitBytes format" ,
0 commit comments