Skip to content

Commit 78e9c3f

Browse files
committed
test(e2e): Fix CRS helper with multiple bindings
Check the relevant ResourceSetBinding to see if the resource is applied. If multiple ClusterResourceSets match a cluster, the ClusterResourceSetBinding will have multiple bindings and so only the relevant ResourceSetBinding should be checked.
1 parent 065c072 commit 78e9c3f

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

test/framework/clusterresourceset_helpers.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,24 @@ func WaitForClusterResourceSetToApplyResources(ctx context.Context, input WaitFo
150150
continue
151151
}
152152

153-
if len(binding.Spec.Bindings) == 0 || !binding.Spec.Bindings[0].IsApplied(resource) {
153+
// Check relevant ResourceSetBinding to see if the resource is applied. If no ResourceSetBinding is found for
154+
// the specified ClusterResourceSet, the resource has not applied.
155+
resourceSetBinding, found := getResourceSetBindingForClusterResourceSet(binding, input.ClusterResourceSet)
156+
if !found || !resourceSetBinding.IsApplied(resource) {
154157
return false
155158
}
156159
}
157160
return true
158161
}, intervals...).Should(BeTrue())
159162
}
163+
164+
func getResourceSetBindingForClusterResourceSet(
165+
clusterResourceSetBinding *addonsv1.ClusterResourceSetBinding, clusterResourceSet *addonsv1.ClusterResourceSet,
166+
) (*addonsv1.ResourceSetBinding, bool) {
167+
for _, binding := range clusterResourceSetBinding.Spec.Bindings {
168+
if binding.ClusterResourceSetName == clusterResourceSet.Name {
169+
return binding, true
170+
}
171+
}
172+
return nil, false
173+
}

0 commit comments

Comments
 (0)