func TestArtifactoryCleanBuildInfo(t *testing.T) { initArtifactoryTest(t) buildName, buildNumber := "cli-test-build", "11" //upload files with buildName and buildNumber specFile := tests.GetFilePath(tests.UploadSpec) artifactoryCli.Exec("upload", "--spec="+specFile, "--build-name="+buildName, "--build-number="+buildNumber) //cleanup buildInfo artifactoryCli.WithSuffix("").Exec("build-clean", buildName, buildNumber) //upload files with buildName and buildNumber specFile = tests.GetFilePath(tests.SimpleUploadSpec) artifactoryCli.Exec("upload", "--spec="+specFile, "--build-name="+buildName, "--build-number="+buildNumber) //publish buildInfo artifactoryCli.Exec("build-publish", buildName, buildNumber) //promote buildInfo artifactoryCli.Exec("build-promote", buildName, buildNumber, tests.Repo2) //validate files are uploaded with the build info name and number props := fmt.Sprintf("build.name=%v;build.number=%v", buildName, buildNumber) isExistInArtifactoryByProps(tests.SimpleUploadExpectedRepo2, tests.Repo2+"/*", props, t) //cleanup deleteBuild(buildName) cleanArtifactoryTest() }
func TestArtifactorySimpleUploadSpec(t *testing.T) { initArtifactoryTest(t) specFile := tests.GetFilePath(tests.SimpleUploadSpec) artifactoryCli.Exec("upload", "--spec="+specFile) isExistInArtifactory(tests.SimpleUploadExpectedRepo1, tests.GetFilePath(tests.Search), t) cleanArtifactoryTest() }
func TestArtifactoryCopySpec(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() specFile := tests.GetFilePath(tests.MoveCopyDeleteSpec) artifactoryCli.Exec("copy", "--spec="+specFile) isExistInArtifactory(tests.MassiveMoveExpected, tests.GetFilePath(tests.SearchMoveDeleteRepoSpec), t) cleanArtifactoryTest() }
func TestArtifactoryMassiveUploadSpec(t *testing.T) { initArtifactoryTest(t) specFile := tests.GetFilePath(tests.UploadSpec) resultSpecFile := tests.GetFilePath(tests.Search) artifactoryCli.Exec("upload", "--spec="+specFile) isExistInArtifactory(tests.MassiveUpload, resultSpecFile, t) isExistInArtifactoryByProps(tests.PropsExpected, tests.Repo1+"/*/properties/*.in", "searchMe=true", t) cleanArtifactoryTest() }
func TestArtifactoryDelete(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() specFile := tests.GetFilePath(tests.MoveCopyDeleteSpec) artifactoryCli.Exec("copy", "--spec="+specFile) artifactoryCli.Exec("delete", tests.Repo2+"/nonflat_recursive_target/nonflat_recursive_source/a/b/*", "--quiet=true") isExistInArtifactory(tests.Delete1, tests.GetFilePath(tests.SearchMoveDeleteRepoSpec), t) cleanArtifactoryTest() }
func TestArtifactoryMassiveDownloadSpec(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() specFile := tests.GetFilePath(tests.DownloadSpec) artifactoryCli.Exec("download", "--spec="+specFile) paths, _ := ioutils.ListFilesRecursive(tests.Out + "/") tests.IsExistLocally(tests.MassiveDownload, paths, t) cleanArtifactoryTest() }
func TestArtifactoryDeleteFolderWithWildcard(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() specFile := tests.GetFilePath(tests.MoveCopyDeleteSpec) artifactoryCli.Exec("copy", "--spec="+specFile) artHttpDetails := utils.GetArtifactoryHttpClientDetails(artifactoryDetails) resp, _, _, _ := ioutils.SendGet(*tests.RtUrl+"api/storage/"+tests.Repo2+"/nonflat_recursive_target/nonflat_recursive_source/a/b/", true, artHttpDetails) if resp.StatusCode != 200 { t.Error("Missing folder in artifactory : " + tests.Repo2 + "/nonflat_recursive_target/nonflat_recursive_source/a/b/") } artifactoryCli.Exec("delete", tests.Repo2+"/nonflat_recursive_target/nonflat_recursive_source/*/b/", "--quiet=true") resp, _, _, _ = ioutils.SendGet(*tests.RtUrl+"api/storage/"+tests.Repo2+"/nonflat_recursive_target/nonflat_recursive_source/a/b/", true, artHttpDetails) if resp.StatusCode != 404 { t.Error("Couldn't delete folder in artifactory : " + tests.Repo2 + "/nonflat_recursive_target/nonflat_recursive_source/a/b/") } isExistInArtifactory(tests.Delete1, tests.GetFilePath(tests.SearchMoveDeleteRepoSpec), t) cleanArtifactoryTest() }
func TestArtifactoryDeleteBySpec(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() specFile := tests.GetFilePath(tests.DeleteComplexSpec) artifactoryCli.Exec("delete", "--spec="+specFile, "--quiet=true") artifactsToDelete := getPathsToDelete(specFile) if len(artifactsToDelete) != 0 { t.Error("Couldn't delete paths") } cleanArtifactoryTest() }
func TestArtifactoryDisplyedPathToDelete(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() specFile := tests.GetFilePath(tests.DeleteComplexSpec) artifactsToDelete := getPathsToDelete(specFile) var displyedPaths []commands.SearchResult for _, v := range artifactsToDelete { displyedPaths = append(displyedPaths, commands.SearchResult{Path: v.Repo + "/" + v.Path + "/" + v.Name}) } tests.CompareExpectedVsActuals(tests.DeleteDisplyedFiles, displyedPaths, t) cleanArtifactoryTest() }
func TestArtifactoryDeleteFoldersBySpec(t *testing.T) { initArtifactoryTest(t) prepUploadFiles() prepCopyFiles() artifactoryCli.Exec("delete", "--spec="+tests.GetFilePath(tests.DeleteSpec), "--quiet=true") artHttpDetails := utils.GetArtifactoryHttpClientDetails(artifactoryDetails) resp, body, _, err := ioutils.SendGet(*tests.RtUrl+"api/storage/"+tests.Repo1+"/downloadTestResources", true, artHttpDetails) if err != nil || resp.StatusCode != 404 { t.Error("Coudln't delete path: " + tests.Repo1 + "/downloadTestResources/ " + string(body)) } resp, body, _, err = ioutils.SendGet(*tests.RtUrl+"api/storage/"+tests.Repo2+"/downloadTestResources", true, artHttpDetails) if err != nil || resp.StatusCode != 404 { t.Error("Coudln't delete path: " + tests.Repo2 + "/downloadTestResources/ " + string(body)) } cleanArtifactoryTest() }
func cleanArtifactory() { deleteFlags := new(commands.DeleteFlags) deleteFlags.ArtDetails = artifactoryDetails deleteSpec, _ := utils.CreateSpecFromFile(tests.GetFilePath(tests.DeleteSpec)) commands.Delete(deleteSpec, deleteFlags) }
func prepCopyFiles() { specFile := tests.GetFilePath(tests.PrepareCopy) artifactoryCli.Exec("copy", "--spec="+specFile) }