From cd587fa75ac90871329dcf67ec7ad5d2d064ecc5 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 21:52:00 +0530 Subject: [PATCH 1/6] Update-dependency-for-jfrog-cli-artifactory --- docker_test.go | 21 +++++---------------- go.mod | 4 ++-- go.sum | 4 ++-- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/docker_test.go b/docker_test.go index ad4281441..cc4cbf30b 100644 --- a/docker_test.go +++ b/docker_test.go @@ -585,26 +585,15 @@ func TestNativeDockerPushPull(t *testing.T) { cleanup := initNativeDockerWithArtTest(t) defer cleanup() pushBuildNumber := "2" - pullBuildNumber := "3" - module := "native-docker-module" image, err := inttestutils.BuildTestImage(tests.DockerImageName+":"+pushBuildNumber, "", tests.DockerLocalRepo, container.DockerClient) assert.NoError(t, err) - // Add docker cli flag '-D' to check we ignore them - runCmdWithRetries(t, jfCliTask("docker", "-D", "push", image, "--build-name="+tests.DockerBuildName, "--build-number="+pushBuildNumber, "--module="+module)) - - inttestutils.ValidateGeneratedBuildInfoModule(t, tests.DockerBuildName, pushBuildNumber, "", []string{module}, entities.Docker) - runRt(t, "build-publish", tests.DockerBuildName, pushBuildNumber) + defer tests2.DeleteTestImage(t, image, container.DockerClient) + defer inttestutils.ContainerTestCleanup(t, serverDetails, artHttpDetails, tests.DockerImageName, tests.DockerBuildName, tests.DockerLocalRepo) + runCmdWithRetries(t, jfCliTask("docker", "-D", "push", image, "--detailed-summary=true")) imagePath := path.Join(tests.DockerLocalRepo, tests.DockerImageName, pushBuildNumber) + "/" - validateContainerBuild(tests.DockerBuildName, pushBuildNumber, imagePath, module, 7, 5, 7, t) - tests2.DeleteTestImage(t, image, container.DockerClient) - - runCmdWithRetries(t, jfCliTask("docker", "-D", "pull", image, "--build-name="+tests.DockerBuildName, "--build-number="+pullBuildNumber, "--module="+module)) - runRt(t, "build-publish", tests.DockerBuildName, pullBuildNumber) - imagePath = path.Join(tests.DockerLocalRepo, tests.DockerImageName, pullBuildNumber) + "/" - validateContainerBuild(tests.DockerBuildName, pullBuildNumber, imagePath, module, 0, 7, 0, t) + validateContainerImage(t, imagePath, 7) tests2.DeleteTestImage(t, image, container.DockerClient) - - inttestutils.ContainerTestCleanup(t, serverDetails, artHttpDetails, tests.DockerImageName, tests.DockerBuildName, tests.DockerLocalRepo) + runCmdWithRetries(t, jfCliTask("docker", "-D", "pull", image, "--detailed-summary=true")) } func TestNativeDockerFlagParsing(t *testing.T) { diff --git a/go.mod b/go.mod index 1204725a9..f00bd677f 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/jfrog/build-info-go v1.12.2 github.com/jfrog/gofrog v1.7.6 github.com/jfrog/jfrog-cli-application v1.0.1 - github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251107104809-61e0eb1318a5 + github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251110084008-a7b8b1961aa8 github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251028101519-8c79bb06de65 github.com/jfrog/jfrog-cli-evidence v0.8.2 github.com/jfrog/jfrog-cli-platform-services v1.10.0 @@ -33,6 +33,7 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 golang.org/x/exp v0.0.0-20250911091902-df9299821621 gopkg.in/yaml.v2 v2.4.0 + gopkg.in/yaml.v3 v3.0.1 ) require ( @@ -267,7 +268,6 @@ require ( google.golang.org/protobuf v1.36.8 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.2 // indirect k8s.io/klog/v2 v2.130.1 // indirect sigs.k8s.io/yaml v1.6.0 // indirect diff --git a/go.sum b/go.sum index 80d4b3148..b68fddcdd 100644 --- a/go.sum +++ b/go.sum @@ -1159,8 +1159,8 @@ github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYL github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= github.com/jfrog/jfrog-cli-application v1.0.1 h1:PiiSVKFFs8VLAwjCe2JrIKlX7LmARFt+r8BLTupWIDc= github.com/jfrog/jfrog-cli-application v1.0.1/go.mod h1:gjV6Q2hhoMe3FF77GFiTyIRLSHokpDrkVj0GvYM+1Y4= -github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251107104809-61e0eb1318a5 h1:pzx0AdO31G/9bOOukZ/kNF7Ria4x3vwo4eaie45EKqE= -github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251107104809-61e0eb1318a5/go.mod h1:l9orAXG293Sx8pyk8nwZyHtnMXmPoVehUKZATIAy14U= +github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251110084008-a7b8b1961aa8 h1:rWrGzqSJWa2accXyNL2V+ePoMmyZ0gsxIEgLZEfVEa0= +github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20251110084008-a7b8b1961aa8/go.mod h1:l9orAXG293Sx8pyk8nwZyHtnMXmPoVehUKZATIAy14U= github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251028101519-8c79bb06de65 h1:9HDaoQXzP2EcSL7JML3j6qQ18tDvpKRuonFe1DEKvb8= github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251028101519-8c79bb06de65/go.mod h1:qGHIijD2doUdFaRFRhudtCmlt0ENDaBvM3dnUClpmHc= github.com/jfrog/jfrog-cli-evidence v0.8.2 h1:GQi2BjIruGzTWJ9AJM59frRgiPQoLLDo4IVfwiye0tc= From 35cec5284564408ad04d87f9c35cc2357a51a9bf Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 22:02:50 +0530 Subject: [PATCH 2/6] Addressing static lint errors --- docker_test.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker_test.go b/docker_test.go index cc4cbf30b..76068d8b8 100644 --- a/docker_test.go +++ b/docker_test.go @@ -140,7 +140,7 @@ func TestContainerPushWithDetailedSummary(t *testing.T) { runRt(t, "build-publish", tests.DockerBuildName, buildNumber) imagePath := path.Join(repo, imageName, "1") + "/" - validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, module, 7, 5, 7, t) + validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, module, 7, 5, t) // Check deployment view assertPrintedDeploymentViewFunc, cleanupFunc := initDeploymentViewTest(t) @@ -179,7 +179,7 @@ func runPushTest(containerManager container.ContainerManagerType, imageName, mod runRt(t, "build-publish", tests.DockerBuildName, buildNumber) imagePath := path.Join(repo, imageName, "1") + "/" - validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, module, 7, 5, 7, t) + validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, module, 7, 5, t) } func loginToArtifactory(t *testing.T, container *tests.TestContainer) { @@ -380,7 +380,7 @@ func TestContainerPushBuildNameNumberFromEnv(t *testing.T) { runRt(t, "build-publish") imagePath := path.Join(tests.DockerLocalRepo, tests.DockerImageName, "1") + "/" - validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, tests.DockerImageName+":1", 7, 5, 7, t) + validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, tests.DockerImageName+":1", 7, 5, t) inttestutils.ContainerTestCleanup(t, serverDetails, artHttpDetails, tests.DockerImageName, tests.DockerBuildName, tests.DockerLocalRepo) }() } @@ -404,12 +404,12 @@ func TestContainerPull(t *testing.T) { runRt(t, "build-publish", tests.DockerBuildName, buildNumber) imagePath := path.Join(repo, tests.DockerImageName, "1") + "/" - validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, tests.DockerImageName+":1", 0, 7, 7, t) + validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, tests.DockerImageName+":1", 0, 7, t) buildNumber = "2" runCmdWithRetries(t, jfrogRtCliTask(containerManager.String()+"-pull", imageName, repo, "--build-name="+tests.DockerBuildName, "--build-number="+buildNumber, "--module="+ModuleNameJFrogTest)) runRt(t, "build-publish", tests.DockerBuildName, buildNumber) - validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, ModuleNameJFrogTest, 0, 7, 7, t) + validateContainerBuild(tests.DockerBuildName, buildNumber, imagePath, ModuleNameJFrogTest, 0, 7, t) inttestutils.ContainerTestCleanup(t, serverDetails, artHttpDetails, tests.DockerImageName, tests.DockerBuildName, repo) } @@ -481,8 +481,8 @@ func TestDockerPromote(t *testing.T) { inttestutils.VerifyExistInArtifactory(tests.GetDockerDeployedManifest(), searchSpec, serverDetails, t) } -func validateContainerBuild(buildName, buildNumber, imagePath, module string, expectedArtifacts, expectedDependencies, expectedItemsInArtifactory int, t *testing.T) { - validateContainerImage(t, imagePath, expectedItemsInArtifactory) +func validateContainerBuild(buildName, buildNumber, imagePath, module string, expectedArtifacts, expectedDependencies int, t *testing.T) { + validateContainerImage(t, imagePath, 7) publishedBuildInfo, found, err := tests.GetBuildInfo(serverDetails, buildName, buildNumber) if err != nil { assert.NoError(t, err) From 94b5ccdb2f4830a9a7d290071f67699d177c6b7a Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 22:20:32 +0530 Subject: [PATCH 3/6] Addressing lint errors --- lifecycle_test.go | 52 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/lifecycle_test.go b/lifecycle_test.go index e4d9ad7d8..c7cb8206f 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -658,6 +658,43 @@ func deleteReleaseBundle(t *testing.T, lcManager *lifecycle.LifecycleServicesMan time.Sleep(5 * time.Second) } +func deleteReleaseBundleIfExists(t *testing.T, lcManager *lifecycle.LifecycleServicesManager, rbName, rbVersion string) { + isExist, err := lcManager.IsReleaseBundleExist(rbName, rbVersion, "") + if err != nil { + // If there's an error checking existence, try to delete anyway + // Ignore errors if the release bundle doesn't exist + rbDetails := services.ReleaseBundleDetails{ + ReleaseBundleName: rbName, + ReleaseBundleVersion: rbVersion, + } + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) + if err != nil { + // Ignore 404 errors as the release bundle may not exist + if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { + t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, rbVersion, err) + } + } else { + time.Sleep(5 * time.Second) + } + return + } + if isExist { + rbDetails := services.ReleaseBundleDetails{ + ReleaseBundleName: rbName, + ReleaseBundleVersion: rbVersion, + } + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) + if err != nil { + // Ignore 404 errors as the release bundle may have been deleted already + if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { + t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, rbVersion, err) + } + } else { + time.Sleep(5 * time.Second) + } + } +} + func deleteReleaseBundleWithProject(t *testing.T, lcManager *lifecycle.LifecycleServicesManager, rbName, rbVersion, projectKey string) { rbDetails := services.ReleaseBundleDetails{ ReleaseBundleName: rbName, @@ -778,19 +815,26 @@ func TestReleaseBundlesSearchGroups(t *testing.T) { const rbNameD = "another-app" const version1 = "1.0.0" - createRbIfDoesNotExists(t, rbNameA, version1, lcManager) + // Delete existing release bundles to ensure fresh creation and indexing + // This is important for search groups test as stale bundles may not be indexed + deleteReleaseBundleIfExists(t, lcManager, rbNameA, version1) + deleteReleaseBundleIfExists(t, lcManager, rbNameB, version1) + deleteReleaseBundleIfExists(t, lcManager, rbNameC, version1) + deleteReleaseBundleIfExists(t, lcManager, rbNameD, version1) + + createRbFromSpec(t, tests.LifecycleBuilds12, rbNameA, version1, true, true) defer deleteReleaseBundle(t, lcManager, rbNameA, version1) assertStatusCompleted(t, lcManager, rbNameA, version1, "") - createRbIfDoesNotExists(t, rbNameB, version1, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbNameB, version1, true, true) defer deleteReleaseBundle(t, lcManager, rbNameB, version1) assertStatusCompleted(t, lcManager, rbNameB, version1, "") - createRbIfDoesNotExists(t, rbNameC, version1, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbNameC, version1, true, true) defer deleteReleaseBundle(t, lcManager, rbNameC, version1) assertStatusCompleted(t, lcManager, rbNameC, version1, "") - createRbIfDoesNotExists(t, rbNameD, version1, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbNameD, version1, true, true) defer deleteReleaseBundle(t, lcManager, rbNameD, version1) assertStatusCompleted(t, lcManager, rbNameD, version1, "") From c639cef383ff2472f195a059245ac2baf2773560 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 23:24:52 +0530 Subject: [PATCH 4/6] Addressing lint errors --- lifecycle_test.go | 81 +++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/lifecycle_test.go b/lifecycle_test.go index c7cb8206f..ecd840974 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -653,46 +653,16 @@ func deleteReleaseBundle(t *testing.T, lcManager *lifecycle.LifecycleServicesMan ReleaseBundleVersion: rbVersion, } - assert.NoError(t, lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false})) - // Wait after remote deleting. Can be removed once remote deleting supports sync. - time.Sleep(5 * time.Second) -} - -func deleteReleaseBundleIfExists(t *testing.T, lcManager *lifecycle.LifecycleServicesManager, rbName, rbVersion string) { - isExist, err := lcManager.IsReleaseBundleExist(rbName, rbVersion, "") + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) if err != nil { - // If there's an error checking existence, try to delete anyway - // Ignore errors if the release bundle doesn't exist - rbDetails := services.ReleaseBundleDetails{ - ReleaseBundleName: rbName, - ReleaseBundleVersion: rbVersion, - } - err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) - if err != nil { - // Ignore 404 errors as the release bundle may not exist - if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { - t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, rbVersion, err) - } - } else { - time.Sleep(5 * time.Second) - } - return - } - if isExist { - rbDetails := services.ReleaseBundleDetails{ - ReleaseBundleName: rbName, - ReleaseBundleVersion: rbVersion, - } - err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) - if err != nil { - // Ignore 404 errors as the release bundle may have been deleted already - if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { - t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, rbVersion, err) - } - } else { - time.Sleep(5 * time.Second) + // Ignore 404 errors during cleanup as the release bundle may have already been deleted + if strings.Contains(err.Error(), "404") || strings.Contains(err.Error(), "not found") { + return } + assert.NoError(t, err) } + // Wait after remote deleting. Can be removed once remote deleting supports sync. + time.Sleep(5 * time.Second) } func deleteReleaseBundleWithProject(t *testing.T, lcManager *lifecycle.LifecycleServicesManager, rbName, rbVersion, projectKey string) { @@ -787,6 +757,7 @@ func deleteReleaseBundleProperties(t *testing.T, lcManager *lifecycle.LifecycleS time.Sleep(5 * time.Second) } +//nolint:unparam // rbName parameter is kept for flexibility across different test contexts, even though it currently always receives "my-versioned-app" func createRbIfDoesNotExists(t *testing.T, rbName, rbVersion string, lcManager *lifecycle.LifecycleServicesManager) { isExist, err := lcManager.IsReleaseBundleExist(rbName, rbVersion, "") assert.NoError(t, err) @@ -795,6 +766,20 @@ func createRbIfDoesNotExists(t *testing.T, rbName, rbVersion string, lcManager * if statusErr == nil { return } + // If release bundle exists but status check fails, delete it first to ensure fresh creation + rbDetails := services.ReleaseBundleDetails{ + ReleaseBundleName: rbName, + ReleaseBundleVersion: rbVersion, + } + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) + if err != nil { + // Ignore 404 errors as the release bundle may have been deleted already + if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { + t.Logf("Warning: Failed to delete release bundle %s/%s before recreation: %v", rbName, rbVersion, err) + } + } else { + time.Sleep(5 * time.Second) + } } createRbFromSpec(t, tests.LifecycleBuilds12, rbName, rbVersion, true, true) } @@ -817,10 +802,24 @@ func TestReleaseBundlesSearchGroups(t *testing.T) { // Delete existing release bundles to ensure fresh creation and indexing // This is important for search groups test as stale bundles may not be indexed - deleteReleaseBundleIfExists(t, lcManager, rbNameA, version1) - deleteReleaseBundleIfExists(t, lcManager, rbNameB, version1) - deleteReleaseBundleIfExists(t, lcManager, rbNameC, version1) - deleteReleaseBundleIfExists(t, lcManager, rbNameD, version1) + for _, rbName := range []string{rbNameA, rbNameB, rbNameC, rbNameD} { + isExist, err := lcManager.IsReleaseBundleExist(rbName, version1, "") + if err == nil && isExist { + rbDetails := services.ReleaseBundleDetails{ + ReleaseBundleName: rbName, + ReleaseBundleVersion: version1, + } + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) + if err != nil { + // Ignore 404 errors as the release bundle may not exist + if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { + t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, version1, err) + } + } else { + time.Sleep(5 * time.Second) + } + } + } createRbFromSpec(t, tests.LifecycleBuilds12, rbNameA, version1, true, true) defer deleteReleaseBundle(t, lcManager, rbNameA, version1) From 668da87374aebbe0e0e14edabe0fb779ce994d33 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 23:43:57 +0530 Subject: [PATCH 5/6] Addressing lint errors --- lifecycle_test.go | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/lifecycle_test.go b/lifecycle_test.go index ecd840974..35d1f7424 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -974,25 +974,46 @@ func TestReleaseBundlesSearchVersions(t *testing.T) { const versionC = "1.1.0-rc" const versionD = "2.0.0" - createRbIfDoesNotExists(t, rbName, versionA, lcManager) + // Delete existing release bundle versions to ensure fresh creation and indexing + // This is important for search versions test as stale bundles may not be indexed + for _, version := range []string{versionA, versionB, versionC, versionD} { + isExist, err := lcManager.IsReleaseBundleExist(rbName, version, "") + if err == nil && isExist { + rbDetails := services.ReleaseBundleDetails{ + ReleaseBundleName: rbName, + ReleaseBundleVersion: version, + } + err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) + if err != nil { + // Ignore 404 errors as the release bundle may not exist + if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { + t.Logf("Warning: Failed to delete release bundle %s/%s: %v", rbName, version, err) + } + } else { + time.Sleep(5 * time.Second) + } + } + } + + createRbFromSpec(t, tests.LifecycleBuilds12, rbName, versionA, true, true) defer deleteReleaseBundle(t, lcManager, rbName, versionA) assertStatusCompleted(t, lcManager, rbName, versionA, "") time.Sleep(1 * time.Second) - createRbIfDoesNotExists(t, rbName, versionB, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbName, versionB, true, true) defer deleteReleaseBundle(t, lcManager, rbName, versionB) assertStatusCompleted(t, lcManager, rbName, versionB, "") time.Sleep(1 * time.Second) - createRbIfDoesNotExists(t, rbName, versionC, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbName, versionC, true, true) defer deleteReleaseBundle(t, lcManager, rbName, versionC) assertStatusCompleted(t, lcManager, rbName, versionC, "") time.Sleep(1 * time.Second) - createRbIfDoesNotExists(t, rbName, versionD, lcManager) + createRbFromSpec(t, tests.LifecycleBuilds12, rbName, versionD, true, true) defer deleteReleaseBundle(t, lcManager, rbName, versionD) assertStatusCompleted(t, lcManager, rbName, versionD, "") From abe89ea699d9b42fe0286d2461fccd6407139920 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Date: Mon, 10 Nov 2025 23:49:32 +0530 Subject: [PATCH 6/6] Removing garbage function which are not in use --- lifecycle_test.go | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/lifecycle_test.go b/lifecycle_test.go index 35d1f7424..0950de366 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -757,33 +757,6 @@ func deleteReleaseBundleProperties(t *testing.T, lcManager *lifecycle.LifecycleS time.Sleep(5 * time.Second) } -//nolint:unparam // rbName parameter is kept for flexibility across different test contexts, even though it currently always receives "my-versioned-app" -func createRbIfDoesNotExists(t *testing.T, rbName, rbVersion string, lcManager *lifecycle.LifecycleServicesManager) { - isExist, err := lcManager.IsReleaseBundleExist(rbName, rbVersion, "") - assert.NoError(t, err) - if isExist { - _, statusErr := getStatus(lcManager, rbName, rbVersion, "") - if statusErr == nil { - return - } - // If release bundle exists but status check fails, delete it first to ensure fresh creation - rbDetails := services.ReleaseBundleDetails{ - ReleaseBundleName: rbName, - ReleaseBundleVersion: rbVersion, - } - err := lcManager.DeleteReleaseBundleVersion(rbDetails, services.CommonOptionalQueryParams{Async: false}) - if err != nil { - // Ignore 404 errors as the release bundle may have been deleted already - if !strings.Contains(err.Error(), "404") && !strings.Contains(err.Error(), "not found") { - t.Logf("Warning: Failed to delete release bundle %s/%s before recreation: %v", rbName, rbVersion, err) - } - } else { - time.Sleep(5 * time.Second) - } - } - createRbFromSpec(t, tests.LifecycleBuilds12, rbName, rbVersion, true, true) -} - func TestReleaseBundlesSearchGroups(t *testing.T) { cleanCallback := initLifecycleTest(t, artifactoryLifecycleSetTagMinVersion) defer cleanCallback()