github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/pkg/archive/archive_test.go (about)

     1  package archive
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestArchive(t *testing.T) {
    11  	var folder = t.TempDir()
    12  	empty, err := os.Create(folder + "/empty.txt")
    13  	require.NoError(t, err)
    14  	require.NoError(t, os.Mkdir(folder+"/folder-inside", 0755))
    15  
    16  	for _, format := range []string{"tar.gz", "zip", "gz", "tar.xz", "willbeatargzanyway"} {
    17  		format := format
    18  		t.Run(format, func(t *testing.T) {
    19  			file, err := os.Create(folder + "/folder." + format)
    20  			require.NoError(t, err)
    21  			var archive = New(file)
    22  			require.NoError(t, archive.Add("empty.txt", empty.Name()))
    23  			require.Error(t, archive.Add("dont.txt", empty.Name()+"_nope"))
    24  			require.NoError(t, archive.Close())
    25  		})
    26  	}
    27  }