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 }