github.com/xgoffin/jenkins-library@v1.154.0/cmd/gradleExecuteBuild_test.go (about) 1 package cmd 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 "github.com/SAP/jenkins-library/pkg/mock" 10 ) 11 12 type gradleExecuteBuildMockUtils struct { 13 *mock.ExecMockRunner 14 *mock.FilesMock 15 } 16 17 func (f gradleExecuteBuildMockUtils) DirExists(path string) (bool, error) { 18 return strings.EqualFold(path, "path/to/"), nil 19 } 20 21 func (f gradleExecuteBuildMockUtils) FileExists(filePath string) (bool, error) { 22 return strings.EqualFold(filePath, "path/to/build.gradle"), nil 23 } 24 25 func newGradleExecuteBuildTestsUtils() gradleExecuteBuildMockUtils { 26 utils := gradleExecuteBuildMockUtils{ 27 ExecMockRunner: &mock.ExecMockRunner{}, 28 FilesMock: &mock.FilesMock{}, 29 } 30 return utils 31 } 32 33 func TestRunGradleExecuteBuild(t *testing.T) { 34 35 t.Run("negative case - build.gradle isn't present", func(t *testing.T) { 36 options := &gradleExecuteBuildOptions{ 37 Path: "path/to/project/", 38 } 39 u := newShellExecuteTestsUtils() 40 41 err := runGradleExecuteBuild(options, nil, u) 42 assert.EqualError(t, err, "the specified gradle build script could not be found") 43 }) 44 45 t.Run("success case - build.gradle is present", func(t *testing.T) { 46 o := &gradleExecuteBuildOptions{ 47 Path: "path/to/", 48 } 49 50 u := newGradleExecuteBuildTestsUtils() 51 52 err := runGradleExecuteBuild(o, nil, u) 53 assert.NoError(t, err) 54 }) 55 56 }