github.com/goreleaser/goreleaser@v1.25.1/internal/pipe/prebuild/prebuild_test.go (about)

     1  package prebuild
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/goreleaser/goreleaser/internal/testlib"
     7  	"github.com/goreleaser/goreleaser/pkg/config"
     8  	"github.com/goreleaser/goreleaser/pkg/context"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestRun(t *testing.T) {
    13  	t.Run("good", func(t *testing.T) {
    14  		ctx := context.New(config.Project{
    15  			Env:    []string{"FOO=bar"},
    16  			Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
    17  		})
    18  		require.NoError(t, Pipe{}.Run(ctx))
    19  		require.Equal(t, "bar", ctx.Config.Builds[0].Main)
    20  	})
    21  
    22  	t.Run("empty", func(t *testing.T) {
    23  		ctx := context.New(config.Project{
    24  			Env:    []string{"FOO="},
    25  			Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
    26  		})
    27  		require.NoError(t, Pipe{}.Run(ctx))
    28  		require.Equal(t, ".", ctx.Config.Builds[0].Main)
    29  	})
    30  
    31  	t.Run("bad", func(t *testing.T) {
    32  		ctx := context.New(config.Project{
    33  			Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
    34  		})
    35  		testlib.RequireTemplateError(t, Pipe{}.Run(ctx))
    36  	})
    37  }
    38  
    39  func TestString(t *testing.T) {
    40  	require.NotEmpty(t, Pipe{}.String())
    41  }