diff --git a/testing/integration/ess/upgrade_integrations_server_test.go b/testing/integration/ess/upgrade_integrations_server_test.go index 81d6046ee0f..67ceef3f685 100644 --- a/testing/integration/ess/upgrade_integrations_server_test.go +++ b/testing/integration/ess/upgrade_integrations_server_test.go @@ -58,6 +58,8 @@ func TestUpgradeIntegrationsServer(t *testing.T) { statefulProv, ok := prov.(*ess.StatefulProvisioner) require.True(t, ok) + startVersions = filterVersionsForECH(t, startVersions, statefulProv) + t.Logf("Running test cases for upgrade from versions [%v] to version [%s]", startVersions, endVersion) for _, startVersion := range startVersions { t.Logf("Running test case for upgrade from version [%s] to version [%s]...", startVersion.String(), endVersion) @@ -127,3 +129,26 @@ func getUpgradeableFIPSVersions(t *testing.T) version.SortableParsedVersions { sort.Sort(sortedVers) return sortedVers } + +func filterVersionsForECH(t *testing.T, versions []*version.ParsedSemVer, echProv *ess.StatefulProvisioner) []*version.ParsedSemVer { + echVersions, err := echProv.AvailableVersions() + require.NoError(t, err) + + filteredVersions := make([]*version.ParsedSemVer, 0) + for _, ver := range versions { + if isVersionInList(ver, echVersions) { + filteredVersions = append(filteredVersions, ver) + } + } + + return filteredVersions +} + +func isVersionInList(candidateVersion *version.ParsedSemVer, allowedVersions []*version.ParsedSemVer) bool { + for _, allowedVersion := range allowedVersions { + if allowedVersion.Equal(*candidateVersion) { + return true + } + } + return false +}