github.com/jenkins-x/jx/v2@v2.1.155/pkg/cmd/step/step_changelog_test.go (about) 1 // +build unit 2 3 package step_test 4 5 import ( 6 "io/ioutil" 7 "testing" 8 9 "github.com/ghodss/yaml" 10 v1 "github.com/jenkins-x/jx-api/pkg/apis/jenkins.io/v1" 11 "github.com/stretchr/testify/assert" 12 13 "github.com/jenkins-x/jx/v2/pkg/cmd/step" 14 ) 15 16 func TestCollapseDependencyUpdates(t *testing.T) { 17 type args struct { 18 data string 19 } 20 tests := []struct { 21 name string 22 args args 23 want string 24 }{ 25 { 26 name: "platform", 27 args: args{ 28 data: "test_data/changelog/platform.yaml", 29 }, 30 want: "test_data/changelog/platform.golden.yaml", 31 }, 32 { 33 // This one was a real regression seen in environment controller 34 name: "environment-controller", 35 args: args{ 36 data: "test_data/changelog2/platform.yaml", 37 }, 38 want: "test_data/changelog2/platform.golden.yaml", 39 }, 40 } 41 for _, tt := range tests { 42 t.Run(tt.name, func(t *testing.T) { 43 ups := make([]v1.DependencyUpdate, 0) 44 data, err := ioutil.ReadFile(tt.args.data) 45 assert.NoError(t, err) 46 err = yaml.Unmarshal(data, &ups) 47 assert.NoError(t, err) 48 out := step.CollapseDependencyUpdates(ups) 49 dataOut, err := yaml.Marshal(out) 50 assert.NoError(t, err) 51 golden, err := ioutil.ReadFile(tt.want) 52 assert.NoError(t, err) 53 assert.Equal(t, string(golden), string(dataOut)) 54 }) 55 } 56 }