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  }