Skip to content

Commit 72568ad

Browse files
committed
Add additional test for multiple duplicate targetref
1 parent ddd0271 commit 72568ad

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/cel/observabilitypolicy_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cel
22

33
import (
4+
"fmt"
45
"testing"
56

67
controllerruntime "sigs.k8s.io/controller-runtime"
@@ -243,6 +244,57 @@ func TestObservabilityPoliciesTargetRefKindAndNameCombo(t *testing.T) {
243244
},
244245
},
245246
},
247+
{
248+
name: "Validate three TargetRefs with one duplicate name are not allowed",
249+
wantErrors: []string{expectedTargetRefKindAndNameComboMustBeUnique},
250+
spec: ngfAPIv1alpha2.ObservabilityPolicySpec{
251+
TargetRefs: []gatewayv1alpha2.LocalPolicyTargetReference{
252+
{
253+
Kind: httpRouteKind,
254+
Name: gatewayv1alpha2.ObjectName(uniqueResourceName(testTargetRefName)),
255+
Group: gatewayGroup,
256+
},
257+
{
258+
Kind: grpcRouteKind,
259+
Name: gatewayv1alpha2.ObjectName(testTargetRefName),
260+
Group: gatewayGroup,
261+
},
262+
{
263+
Kind: grpcRouteKind,
264+
Name: gatewayv1alpha2.ObjectName(testTargetRefName),
265+
Group: gatewayGroup,
266+
},
267+
},
268+
},
269+
},
270+
{
271+
name: "Validate multiple duplicate TargetRefs are not allowed",
272+
wantErrors: []string{expectedTargetRefKindAndNameComboMustBeUnique},
273+
spec: ngfAPIv1alpha2.ObservabilityPolicySpec{
274+
TargetRefs: []gatewayv1alpha2.LocalPolicyTargetReference{
275+
{
276+
Kind: grpcRouteKind,
277+
Name: gatewayv1alpha2.ObjectName(fmt.Sprintf("duplicate-group-1-%s", testTargetRefName)),
278+
Group: gatewayGroup,
279+
},
280+
{
281+
Kind: grpcRouteKind,
282+
Name: gatewayv1alpha2.ObjectName(fmt.Sprintf("duplicate-group-1-%s", testTargetRefName)),
283+
Group: gatewayGroup,
284+
},
285+
{
286+
Kind: grpcRouteKind,
287+
Name: gatewayv1alpha2.ObjectName(fmt.Sprintf("duplicate-group-2-%s", testTargetRefName)),
288+
Group: gatewayGroup,
289+
},
290+
{
291+
Kind: grpcRouteKind,
292+
Name: gatewayv1alpha2.ObjectName(fmt.Sprintf("duplicate-group-2-%s", testTargetRefName)),
293+
Group: gatewayGroup,
294+
},
295+
},
296+
},
297+
},
246298
}
247299

248300
for _, tt := range tests {

0 commit comments

Comments
 (0)