github.com/triarius/goreleaser@v1.12.5/internal/pipe/prebuild/prebuild_test.go (about) 1 package prebuild 2 3 import ( 4 "testing" 5 6 "github.com/triarius/goreleaser/pkg/config" 7 "github.com/triarius/goreleaser/pkg/context" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestRun(t *testing.T) { 12 t.Run("good", func(t *testing.T) { 13 ctx := context.New(config.Project{ 14 Env: []string{"FOO=bar"}, 15 Builds: []config.Build{{Main: "{{ .Env.FOO }}"}}, 16 }) 17 require.NoError(t, Pipe{}.Run(ctx)) 18 require.Equal(t, "bar", ctx.Config.Builds[0].Main) 19 }) 20 21 t.Run("empty", func(t *testing.T) { 22 ctx := context.New(config.Project{ 23 Env: []string{"FOO="}, 24 Builds: []config.Build{{Main: "{{ .Env.FOO }}"}}, 25 }) 26 require.NoError(t, Pipe{}.Run(ctx)) 27 require.Equal(t, ".", ctx.Config.Builds[0].Main) 28 }) 29 30 t.Run("bad", func(t *testing.T) { 31 ctx := context.New(config.Project{ 32 Builds: []config.Build{{Main: "{{ .Env.FOO }}"}}, 33 }) 34 require.EqualError(t, Pipe{}.Run(ctx), `template: tmpl:1:7: executing "tmpl" at <.Env.FOO>: map has no entry for key "FOO"`) 35 }) 36 } 37 38 func TestString(t *testing.T) { 39 require.NotEmpty(t, Pipe{}.String()) 40 }