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 }