1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-06 03:13:48 +02:00
goreleaser/internal/pipe/prebuild/prebuild_test.go
Carlos Alexandro Becker c91c4b7cd8
feat: improve template error handling (#4256)
- wrap the multiple errors in an internal error with cleaner messaging
- improve testlib.RequireTemplateError and several tests
2023-08-24 22:06:12 -03:00

42 lines
1.0 KiB
Go

package prebuild
import (
"testing"
"github.com/goreleaser/goreleaser/internal/testlib"
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/stretchr/testify/require"
)
func TestRun(t *testing.T) {
t.Run("good", func(t *testing.T) {
ctx := context.New(config.Project{
Env: []string{"FOO=bar"},
Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
})
require.NoError(t, Pipe{}.Run(ctx))
require.Equal(t, "bar", ctx.Config.Builds[0].Main)
})
t.Run("empty", func(t *testing.T) {
ctx := context.New(config.Project{
Env: []string{"FOO="},
Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
})
require.NoError(t, Pipe{}.Run(ctx))
require.Equal(t, ".", ctx.Config.Builds[0].Main)
})
t.Run("bad", func(t *testing.T) {
ctx := context.New(config.Project{
Builds: []config.Build{{Main: "{{ .Env.FOO }}"}},
})
testlib.RequireTemplateError(t, Pipe{}.Run(ctx))
})
}
func TestString(t *testing.T) {
require.NotEmpty(t, Pipe{}.String())
}