1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
goreleaser/pkg/config/config_build_hook_test.go

56 lines
1000 B
Go
Raw Normal View History

package config
import (
"testing"
"github.com/goreleaser/goreleaser/internal/yaml"
"github.com/stretchr/testify/require"
)
func TestBuildHook_justString(t *testing.T) {
var actual BuildHookConfig
err := yaml.UnmarshalStrict([]byte(`pre: ./script.sh`), &actual)
require.NoError(t, err)
require.Equal(t, Hook{
Cmd: "./script.sh",
Env: nil,
}, actual.Pre[0])
}
func TestBuildHook_stringCmds(t *testing.T) {
var actual BuildHookConfig
err := yaml.UnmarshalStrict([]byte(`pre:
- ./script.sh
- second-script.sh
`), &actual)
require.NoError(t, err)
require.Equal(t, Hooks{
{
Cmd: "./script.sh",
Env: nil,
},
{
Cmd: "second-script.sh",
Env: nil,
},
}, actual.Pre)
}
func TestBuildHook_complex(t *testing.T) {
var actual BuildHookConfig
err := yaml.UnmarshalStrict([]byte(`pre:
- cmd: ./script.sh
env:
- TEST=value
`), &actual)
require.NoError(t, err)
require.Equal(t, Hook{
Cmd: "./script.sh",
Env: []string{"TEST=value"},
}, actual.Pre[0])
}