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  }