github.com/marianogappa/goreleaser@v0.26.2-0.20170715090149-96acd0a9fc46/context/context_test.go (about)

     1  package context
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/goreleaser/goreleaser/config"
     7  	"github.com/stretchr/testify/assert"
     8  	"golang.org/x/sync/errgroup"
     9  )
    10  
    11  func TestMultipleArtifactAdds(t *testing.T) {
    12  	var assert = assert.New(t)
    13  	var list = []string{
    14  		"dist/a",
    15  		"dist/b",
    16  		"dist/c",
    17  		"dist/d",
    18  	}
    19  	var ctx = New(config.Project{
    20  		Dist: "dist",
    21  	})
    22  	var g errgroup.Group
    23  	for _, f := range list {
    24  		f := f
    25  		g.Go(func() error {
    26  			ctx.AddArtifact(f)
    27  			return nil
    28  		})
    29  	}
    30  	assert.NoError(g.Wait())
    31  	assert.Len(ctx.Artifacts, len(list))
    32  	assert.Contains(ctx.Artifacts, "a", "b", "c", "d")
    33  }
    34  
    35  func TestMultipleFolderAdds(t *testing.T) {
    36  	var assert = assert.New(t)
    37  	var list = map[string]string{
    38  		"key-a": "folder/a",
    39  		"key-b": "folder/b",
    40  		"key-c": "folder/c",
    41  		"key-d": "folder/d",
    42  	}
    43  	var ctx = New(config.Project{
    44  		Dist: "dist",
    45  	})
    46  	var g errgroup.Group
    47  	for k, f := range list {
    48  		f := f
    49  		k := k
    50  		g.Go(func() error {
    51  			ctx.AddFolder(k, f)
    52  			return nil
    53  		})
    54  	}
    55  	assert.NoError(g.Wait())
    56  	assert.Len(ctx.Folders, len(list))
    57  }