github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/config/defaults_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package config 5 6 import ( 7 "io" 8 "strings" 9 "testing" 10 ) 11 12 func TestReadPipelineDefaults(t *testing.T) { 13 14 var d PipelineDefaults 15 16 t.Run("Success case", func(t *testing.T) { 17 d0 := strings.NewReader("general:\n testStepKey1: testStepValue1") 18 d1 := strings.NewReader("general:\n testStepKey2: testStepValue2") 19 err := d.ReadPipelineDefaults([]io.ReadCloser{io.NopCloser(d0), io.NopCloser(d1)}) 20 21 if err != nil { 22 t.Errorf("Got error although no error expected: %v", err) 23 } 24 25 t.Run("Defaults 0", func(t *testing.T) { 26 expected := "testStepValue1" 27 if d.Defaults[0].General["testStepKey1"] != expected { 28 t.Errorf("got: %v, expected: %v", d.Defaults[0].General["testStepKey1"], expected) 29 } 30 }) 31 32 t.Run("Defaults 1", func(t *testing.T) { 33 expected := "testStepValue2" 34 if d.Defaults[1].General["testStepKey2"] != expected { 35 t.Errorf("got: %v, expected: %v", d.Defaults[1].General["testStepKey2"], expected) 36 } 37 }) 38 }) 39 40 t.Run("Read failure", func(t *testing.T) { 41 var rc errReadCloser 42 err := d.ReadPipelineDefaults([]io.ReadCloser{rc}) 43 if err == nil { 44 t.Errorf("Got no error although error expected.") 45 } 46 }) 47 48 t.Run("Unmarshalling failure", func(t *testing.T) { 49 myConfig := strings.NewReader("general:\n\ttestStepKey: testStepValue") 50 err := d.ReadPipelineDefaults([]io.ReadCloser{io.NopCloser(myConfig)}) 51 if err == nil { 52 t.Errorf("Got no error although error expected.") 53 } 54 }) 55 }