github.com/jfrog/jfrog-cli-core/v2@v2.52.0/general/cisetup/utils_test.go (about) 1 package cisetup 2 3 import ( 4 "testing" 5 6 "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestConvertBuildCmd(t *testing.T) { 11 tests := []buildCmd{ 12 {"simpleMvn", coreutils.Maven, "mvn clean install", "jfrog rt mvn clean install"}, 13 {"simpleGradle", coreutils.Gradle, "gradle clean build", "jfrog rt gradle clean build"}, 14 {"simpleNpmInstall", coreutils.Npm, "npm install", "jfrog rt npmi"}, 15 {"simpleNpmI", coreutils.Npm, "npm i", "jfrog rt npmi"}, 16 {"simpleNpmCi", coreutils.Npm, "npm ci", "jfrog rt npmci"}, 17 {"hiddenMvn", coreutils.Npm, "npm i FOLDERmvnHERE", "jfrog rt npmi FOLDERmvnHERE"}, 18 {"hiddenNpm", coreutils.Maven, "mvn clean install -f \"HIDDENnpm/pom.xml\"", "jfrog rt mvn clean install -f \"HIDDENnpm/pom.xml\""}, 19 } 20 21 for _, test := range tests { 22 t.Run(test.name, func(t *testing.T) { 23 data := &CiSetupData{} 24 data.BuiltTechnology = &TechnologyInfo{Type: test.tech, BuildCmd: test.original} 25 converted, err := convertBuildCmd(data) 26 if err != nil { 27 assert.NoError(t, err) 28 return 29 } 30 assert.Equal(t, test.expected, converted) 31 }) 32 } 33 } 34 35 type buildCmd struct { 36 name string 37 tech coreutils.Technology 38 original string 39 expected string 40 }