github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/pkg/config/config_build_hook_test.go (about) 1 package config 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 yaml "gopkg.in/yaml.v2" 8 ) 9 10 func TestBuildHook_justString(t *testing.T) { 11 var actual HookConfig 12 13 err := yaml.UnmarshalStrict([]byte(`pre: ./script.sh`), &actual) 14 require.NoError(t, err) 15 require.Equal(t, BuildHook{ 16 Cmd: "./script.sh", 17 Env: nil, 18 }, actual.Pre[0]) 19 } 20 21 func TestBuildHook_stringCmds(t *testing.T) { 22 var actual HookConfig 23 24 err := yaml.UnmarshalStrict([]byte(`pre: 25 - ./script.sh 26 - second-script.sh 27 `), &actual) 28 require.NoError(t, err) 29 30 require.Equal(t, BuildHooks{ 31 { 32 Cmd: "./script.sh", 33 Env: nil, 34 }, 35 { 36 Cmd: "second-script.sh", 37 Env: nil, 38 }, 39 }, actual.Pre) 40 } 41 42 func TestBuildHook_complex(t *testing.T) { 43 var actual HookConfig 44 45 err := yaml.UnmarshalStrict([]byte(`pre: 46 - cmd: ./script.sh 47 env: 48 - TEST=value 49 `), &actual) 50 require.NoError(t, err) 51 require.Equal(t, BuildHook{ 52 Cmd: "./script.sh", 53 Env: []string{"TEST=value"}, 54 }, actual.Pre[0]) 55 }