:seedling: Add e2e regression test for cross-CE collision protection (#2783)
- Add e2e test verifying that a second ClusterExtension targeting an
already-installed bundle cannot take over resources from the original
owner, even with a higher-revision ClusterObjectSet. The single
merged scenario covers both initial collision detection after an
upgrade and collision persistence across revisions.
- Use ${NAME} / ${NAME}-dup naming convention in the collision scenario
so CE names stay abstract. Stop overwriting sc.clusterExtensionName
in ResourceIsApplied so ${NAME} remains constant throughout a
scenario — the overwrite was always a no-op for existing tests since
they all use name: ${NAME}.
- Auto-track every applied ClusterExtension for cleanup via
addedResources in ResourceIsApplied, eliminating the manual
TrackCurrentClusterExtensionForCleanup step and the redundant
sc.clusterExtensionName cleanup in ScenarioCleanup.
- Add named CE condition steps (NamedClusterExtensionReportsCondition,
NamedClusterExtensionReportsConditionWithMessageFragment) so step
descriptions explicitly identify which CE is being asserted.
- Add ClusterExtensionOwnsClusterObjectSets step to verify the number
of ClusterObjectSets owned by a named CE.
- Extract messageFragmentComparison helper to deduplicate the
fragment-matching closure across condition steps.
- Preserve unresolved template variables as literal ${KEY} instead of
silently substituting empty string.
Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
Co-authored-by: Per G. da Silva <pegoncal@redhat.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> P
Per Goncalves da Silva committed
92789898396e3c1c7cd4e4f81f77835b239bf019
Parent: 88bd84f
Committed by GitHub <noreply@github.com>
on 7/1/2026, 4:07:59 PM