github.com/goreleaser/goreleaser@v1.25.1/pkg/config/config_homebrew_dependency_test.go (about)

     1  package config
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestUnmarshalHomebrewDependency(t *testing.T) {
    11  	t.Run("string arr", func(t *testing.T) {
    12  		conf := `
    13  brews:
    14  - name: foo
    15    dependencies:
    16    - foo
    17    - bar
    18  `
    19  		buf := strings.NewReader(conf)
    20  		prop, err := LoadReader(buf)
    21  
    22  		require.NoError(t, err)
    23  		require.Equal(t, []HomebrewDependency{
    24  			{
    25  				Name: "foo",
    26  			}, {
    27  				Name: "bar",
    28  			},
    29  		}, prop.Brews[0].Dependencies)
    30  	})
    31  
    32  	t.Run("mixed", func(t *testing.T) {
    33  		conf := `
    34  brews:
    35  - name: foo
    36    dependencies:
    37    - name: foo
    38    - bar
    39    - name: foobar
    40      type: optional
    41  `
    42  		buf := strings.NewReader(conf)
    43  		prop, err := LoadReader(buf)
    44  
    45  		require.NoError(t, err)
    46  		require.Equal(t, []HomebrewDependency{
    47  			{
    48  				Name: "foo",
    49  			}, {
    50  				Name: "bar",
    51  			}, {
    52  				Name: "foobar",
    53  				Type: "optional",
    54  			},
    55  		}, prop.Brews[0].Dependencies)
    56  	})
    57  
    58  	t.Run("mixed", func(t *testing.T) {
    59  		conf := `
    60  brews:
    61  - name: foo
    62    dependencies:
    63    - name: foo
    64    - namer: bar
    65    - asdda
    66  `
    67  		buf := strings.NewReader(conf)
    68  		_, err := LoadReader(buf)
    69  
    70  		require.EqualError(t, err, "yaml: unmarshal errors:\n  line 6: field namer not found in type config.homebrewDependency")
    71  	})
    72  }