Skip to content

Commit

Permalink
skip downgrade test when only one snapshot version is available (#3293)
Browse files Browse the repository at this point in the history
It fixes TestStandaloneUpgradeToSpecificSnapshotBuild to work when there is only one snapshot build available by skipping the test if there aren't enough versions available.

(cherry picked from commit 22c276d)
  • Loading branch information
AndersonQ committed Sep 28, 2023
1 parent 5a033dd commit 5fd0b6a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
7 changes: 4 additions & 3 deletions pkg/testing/tools/artifacts_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const (
artifactsAPIV1VersionsEndpoint = "v1/versions/"
artifactsAPIV1VersionBuildsEndpoint = "v1/versions/%s/builds/"
artifactAPIV1BuildDetailsEndpoint = "v1/versions/%s/builds/%s"
//artifactAPIV1SearchVersionPackage = "v1/search/%s/%s"
// artifactAPIV1SearchVersionPackage = "v1/search/%s/%s"
)

var (
Expand Down Expand Up @@ -275,8 +275,9 @@ func GetLatestSnapshotVersion(ctx context.Context, log logger, aac *ArtifactAPIC
return nil, ErrSnapshotVersionsEmpty
}

// normally the output of the versions returned by artifact API is already sorted in ascending order,
// if we want to sort in descending order we could use
// normally the output of the versions returned by artifact API is already
// sorted in ascending order.If we want to sort in descending order we need
// to pass a sort.Reverse to sort.Sort.
sort.Sort(sort.Reverse(sortedParsedVersions))

var latestSnapshotVersion *version.ParsedSemVer
Expand Down
11 changes: 6 additions & 5 deletions testing/integration/upgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ func TestStandaloneUpgradeWithGPGFallbackOneRemoteFailing(t *testing.T) {
testStandaloneUpgrade(ctx, t, agentFixture, fromVersion, toVersion, "", false, false, true, customPGP)
}

func TestStandaloneUpgradeToSpecificSnapshotBuild(t *testing.T) {
func TestStandaloneDowngradeToPreviousSnapshotBuild(t *testing.T) {
define.Require(t, define.Requirements{
Local: false, // requires Agent installation
Sudo: true, // requires Agent installation
Expand All @@ -350,7 +350,6 @@ func TestStandaloneUpgradeToSpecificSnapshotBuild(t *testing.T) {
t.Skipf("Version %s is lower than min version %s", define.Version(), minVersion)
}

// prepare the agent fixture
agentFixture, err := define.NewFixture(t, define.Version())
require.NoError(t, err)

Expand All @@ -370,10 +369,12 @@ func TestStandaloneUpgradeToSpecificSnapshotBuild(t *testing.T) {
// get all the builds of the snapshot version (need to pass x.y.z-SNAPSHOT format)
builds, err := aac.GetBuildsForVersion(ctx, latestSnapshotVersion.VersionWithPrerelease())
require.NoError(t, err)
// TODO if we don't have at least 2 builds, select the next older snapshot build
require.Greater(t, len(builds.Builds), 1)

// take the penultimate build of the snapshot (the builds are ordered from most to least recent)
if len(builds.Builds) < 2 {
t.Skip("there is only one SNAPSHOT version available, " +
"the test requires at least 2 so it can downgrade to the previous" +
"SNAPSHOT")
}
upgradeVersionString := builds.Builds[1]

t.Logf("Targeting build %q of version %q", upgradeVersionString, latestSnapshotVersion)
Expand Down

0 comments on commit 5fd0b6a

Please sign in to comment.