github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/buildinfo/publish_test.go (about) 1 package buildinfo 2 3 import ( 4 "strconv" 5 "testing" 6 "time" 7 8 "github.com/jfrog/jfrog-cli-core/v2/common/build" 9 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestPrintBuildInfoLink(t *testing.T) { 14 timeNow := time.Now() 15 buildTime := strconv.FormatInt(timeNow.UnixNano()/1000000, 10) 16 var linkTypes = []struct { 17 majorVersion int 18 buildTime time.Time 19 buildInfoConf *build.BuildConfiguration 20 serverDetails config.ServerDetails 21 expected string 22 }{ 23 // Test platform URL 24 {5, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 25 config.ServerDetails{Url: "http://localhost:8081/"}, "http://localhost:8081/artifactory/webapp/#/builds/test/1"}, 26 {6, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 27 config.ServerDetails{Url: "http://localhost:8081/"}, "http://localhost:8081/artifactory/webapp/#/builds/test/1"}, 28 {7, timeNow, build.NewBuildConfiguration("test", "1", "6", ""), 29 config.ServerDetails{Url: "http://localhost:8082/"}, "http://localhost:8082/ui/builds/test/1/" + buildTime + "/published?buildRepo=artifactory-build-info"}, 30 {7, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 31 config.ServerDetails{Url: "http://localhost:8082/"}, "http://localhost:8082/ui/builds/test/1/" + buildTime + "/published?buildRepo=cli-build-info&projectKey=cli"}, 32 33 // Test Artifactory URL 34 {5, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 35 config.ServerDetails{ArtifactoryUrl: "http://localhost:8081/artifactory"}, "http://localhost:8081/artifactory/webapp/#/builds/test/1"}, 36 {6, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 37 config.ServerDetails{ArtifactoryUrl: "http://localhost:8081/artifactory/"}, "http://localhost:8081/artifactory/webapp/#/builds/test/1"}, 38 {7, timeNow, build.NewBuildConfiguration("test", "1", "6", ""), 39 config.ServerDetails{ArtifactoryUrl: "http://localhost:8082/artifactory"}, "http://localhost:8082/ui/builds/test/1/" + buildTime + "/published?buildRepo=artifactory-build-info"}, 40 {7, timeNow, build.NewBuildConfiguration("test", "1", "6", "cli"), 41 config.ServerDetails{ArtifactoryUrl: "http://localhost:8082/artifactory/"}, "http://localhost:8082/ui/builds/test/1/" + buildTime + "/published?buildRepo=cli-build-info&projectKey=cli"}, 42 } 43 44 for i := range linkTypes { 45 buildPubConf := &BuildPublishCommand{ 46 linkTypes[i].buildInfoConf, 47 &linkTypes[i].serverDetails, 48 nil, 49 true, 50 nil, 51 } 52 buildPubComService, err := buildPubConf.getBuildInfoUiUrl(linkTypes[i].majorVersion, linkTypes[i].buildTime) 53 assert.NoError(t, err) 54 assert.Equal(t, buildPubComService, linkTypes[i].expected) 55 } 56 }