github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/internal/extrafiles/extra_files_test.go (about)

     1  package extrafiles
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/goreleaser/goreleaser/pkg/config"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestShouldGetSpecificFile(t *testing.T) {
    11  	globs := []config.ExtraFile{
    12  		{Glob: "./testdata/file1.golden"},
    13  	}
    14  
    15  	files, err := Find(globs)
    16  	require.NoError(t, err)
    17  	require.Len(t, files, 1)
    18  
    19  	require.Equal(t, "testdata/file1.golden", files["file1.golden"])
    20  }
    21  
    22  func TestFailToGetSpecificFile(t *testing.T) {
    23  	globs := []config.ExtraFile{
    24  		{Glob: "./testdata/file453.golden"},
    25  	}
    26  
    27  	files, err := Find(globs)
    28  	require.EqualError(t, err, "globbing failed for pattern ./testdata/file453.golden: matching \"testdata/file453.golden\": file does not exist")
    29  	require.Empty(t, files)
    30  }
    31  
    32  func TestShouldGetFilesWithSuperStar(t *testing.T) {
    33  	globs := []config.ExtraFile{
    34  		{Glob: "./**/file?.golden"},
    35  	}
    36  
    37  	files, err := Find(globs)
    38  	require.NoError(t, err)
    39  	require.Len(t, files, 3)
    40  
    41  	require.Equal(t, "testdata/file2.golden", files["file2.golden"])
    42  	require.Equal(t, "testdata/file1.golden", files["file1.golden"])
    43  	require.Equal(t, "testdata/sub/file5.golden", files["file5.golden"])
    44  }
    45  
    46  func TestShouldGetAllFilesWithGoldenExtension(t *testing.T) {
    47  	globs := []config.ExtraFile{
    48  		{Glob: "./testdata/*.golden"},
    49  	}
    50  
    51  	files, err := Find(globs)
    52  	require.NoError(t, err)
    53  	require.Len(t, files, 2)
    54  
    55  	require.Equal(t, "testdata/file1.golden", files["file1.golden"])
    56  	require.Equal(t, "testdata/file2.golden", files["file2.golden"])
    57  }
    58  
    59  func TestShouldGetAllFilesInsideTestdata(t *testing.T) {
    60  	globs := []config.ExtraFile{
    61  		{Glob: "./testdata/*"},
    62  	}
    63  
    64  	files, err := Find(globs)
    65  	require.NoError(t, err)
    66  	require.Len(t, files, 4)
    67  
    68  	require.Equal(t, "testdata/file1.golden", files["file1.golden"])
    69  	require.Equal(t, "testdata/file2.golden", files["file2.golden"])
    70  	require.Equal(t, "testdata/file3.gold", files["file3.gold"])
    71  	require.Equal(t, "testdata/sub/file5.golden", files["file5.golden"])
    72  }