github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/cnbutils/copy_project_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package cnbutils_test 5 6 import ( 7 "testing" 8 9 "github.com/SAP/jenkins-library/pkg/cnbutils" 10 "github.com/SAP/jenkins-library/pkg/mock" 11 ignore "github.com/sabhiram/go-gitignore" 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestCopyProject(t *testing.T) { 16 t.Run("copies file according to doublestart globs", func(t *testing.T) { 17 mockUtils := &cnbutils.MockUtils{ 18 FilesMock: &mock.FilesMock{}, 19 } 20 mockUtils.AddFile("workdir/src/test.yaml", []byte("")) 21 mockUtils.AddFile("workdir/src/subdir1/test2.yaml", []byte("")) 22 mockUtils.AddFile("workdir/src/subdir1/subdir2/test3.yaml", []byte("")) 23 err := cnbutils.CopyProject("workdir/src", "/dest", ignore.CompileIgnoreLines([]string{"**/*.yaml"}...), nil, mockUtils) 24 assert.NoError(t, err) 25 assert.True(t, mockUtils.HasCopiedFile("workdir/src/test.yaml", "/dest/test.yaml")) 26 assert.True(t, mockUtils.HasCopiedFile("workdir/src/subdir1/test2.yaml", "/dest/subdir1/test2.yaml")) 27 assert.True(t, mockUtils.HasCopiedFile("workdir/src/subdir1/subdir2/test3.yaml", "/dest/subdir1/subdir2/test3.yaml")) 28 }) 29 30 t.Run("copies file according to simple globs", func(t *testing.T) { 31 mockUtils := &cnbutils.MockUtils{ 32 FilesMock: &mock.FilesMock{}, 33 } 34 mockUtils.AddFile("src/test.yaml", []byte("")) 35 err := cnbutils.CopyProject("src", "/dest", ignore.CompileIgnoreLines([]string{"*.yaml"}...), nil, mockUtils) 36 assert.NoError(t, err) 37 assert.True(t, mockUtils.HasCopiedFile("src/test.yaml", "/dest/test.yaml")) 38 }) 39 }