Skip to content

Commit

Permalink
Added more test scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
bhanurp committed Feb 13, 2025
1 parent f6a0050 commit ca6ee63
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 2 deletions.
24 changes: 22 additions & 2 deletions buildinfo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,7 @@ func TestBuildPublishWithOverwrite(t *testing.T) {
initArtifactoryTest(t, "")
buildName := "overwrite-test-build"
buildNumber := "1"
preReleaseBuildNumber := "1-rc"
defaultNumberOfBuilds := 5

// Clean old build tests if exists
Expand All @@ -671,19 +672,29 @@ func TestBuildPublishWithOverwrite(t *testing.T) {
for i := 0; i < defaultNumberOfBuilds; i++ {
runRt(t, "bp", buildName, buildNumber)
}
for i := 0; i < 2; i++ {
runRt(t, "bp", buildName, preReleaseBuildNumber)
}
publishedBuildInfo, found, err := tests.GetBuildInfo(serverDetails, buildName, buildNumber)
assert.NoError(t, err)
assert.True(t, found, "build info was expected to be found")
assert.Equal(t, 5, len(publishedBuildInfo.BuildInfo.Modules), "expected five build info's to be available")
assert.Equal(t, 7, len(publishedBuildInfo.BuildInfo.Modules), "expected five build info's to be available")
publishedBuildRuns, found, err := tests.GetBuildRuns(serverDetails, buildName, buildNumber)
buildNumberFrequency := calculateBuildNumberFrequency(publishedBuildRuns)
assert.Equal(t, defaultNumberOfBuilds, buildNumberFrequency[buildNumber])
assert.Equal(t, 2, buildNumberFrequency[preReleaseBuildNumber])

// Publish build info with overwrite flag
runRt(t, "bp", buildName, buildNumber, "--overwrite=true")

// Verify that only one build info is available
// Verify that only one build info is available for given build number with overwrite
publishedBuildInfo, found, err = tests.GetBuildInfo(serverDetails, buildName, buildNumber)
assert.NoError(t, err)
assert.True(t, found, "build info was expected to be found")
assert.Equal(t, 1, len(publishedBuildInfo.BuildInfo.Modules), "expected only one build info to be available")
assert.Equal(t, 1, buildNumberFrequency[buildNumber])
// make sure the other build number frequency is not changed
assert.Equal(t, 2, buildNumberFrequency[preReleaseBuildNumber])

// Delete existing build info
inttestutils.DeleteBuild(serverDetails.ArtifactoryUrl, buildName, artHttpDetails)
Expand Down Expand Up @@ -779,6 +790,15 @@ func testBuildAddGit(t *testing.T, useEnvBuildNameAndNumber bool) {
cleanArtifactoryTest()
}

func calculateBuildNumberFrequency(runs *buildinfo.BuildRuns) map[string]int {
frequency := make(map[string]int)
for _, run := range runs.BuildsNumbers {
buildNumber := strings.TrimPrefix(run.Uri, "/")
frequency[buildNumber]++
}
return frequency
}

func cleanBuildAddGitTest(t *testing.T, baseDir, originalFolder, oldHomeDir, dotGitPath string) {
coretests.RenamePath(dotGitPath, filepath.Join(baseDir, originalFolder), t)
inttestutils.DeleteBuild(serverDetails.ArtifactoryUrl, tests.RtBuildName1, artHttpDetails)
Expand Down
11 changes: 11 additions & 0 deletions utils/tests/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,17 @@ func GetBuildInfo(serverDetails *config.ServerDetails, buildName, buildNumber st
return servicesManager.GetBuildInfo(params)
}

func GetBuildRuns(serverDetails *config.ServerDetails, buildName, buildNumber string) (pbi *buildinfo.BuildRuns, found bool, err error) {
servicesManager, err := artUtils.CreateServiceManager(serverDetails, -1, 0, false)
if err != nil {
return nil, false, err
}
params := services.NewBuildInfoParams()
params.BuildName = buildName
params.BuildNumber = buildNumber
return servicesManager.GetBuildRuns(params)
}

var reposConfigMap = map[*string]string{
&DistRepo1: DistributionRepoConfig1,
&DistRepo2: DistributionRepoConfig2,
Expand Down

0 comments on commit ca6ee63

Please sign in to comment.