github.com/jdolitsky/cnab-go@v0.7.1-beta1/bundle/replacement/yamlreplacer_test.go (about) 1 package replacement 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestCanReplaceInYAML(t *testing.T) { 11 source := "a: 1\nb:\n c: d\n e: f" 12 r := NewYAMLReplacer() 13 result, err := r.Replace(source, "b.c", "test") 14 if err != nil { 15 t.Fatalf("Replace failed: %s", err) 16 } 17 18 expected := strings.Replace(source, "d", "test", -1) 19 20 is := assert.New(t) 21 is.Equal(strings.TrimSpace(expected), strings.TrimSpace(result)) 22 } 23 24 func TestYAMLErrorIfPathNotFound(t *testing.T) { 25 source := "a: 1\nb:\n c: d\n e: f" 26 r := NewYAMLReplacer() 27 28 _, err := r.Replace(source, "b.c.d", "test") 29 if err != ErrSelectorNotFound { 30 t.Error("Expected path not found error for b.c.d") 31 } 32 33 _, err = r.Replace(source, "b.d", "test") 34 if err != ErrSelectorNotFound { 35 t.Error("Expected path not found error for b.d") 36 } 37 }