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  }