github.com/kubeshop/testkube@v1.17.23/contrib/executor/curl/pkg/runner/template.go (about) 1 package runner 2 3 import ( 4 "strings" 5 6 "github.com/kubeshop/testkube/pkg/utils" 7 ) 8 9 // ResolveTemplates fills the string array with the values if they are templated 10 func ResolveTemplates(stringsToResolve []string, params map[string]string) error { 11 for i := range stringsToResolve { 12 finalCommandPart, err := ResolveTemplate(stringsToResolve[i], params) 13 stringsToResolve[i] = finalCommandPart 14 if err != nil { 15 return err 16 } 17 } 18 19 return nil 20 } 21 22 // ResolveTemplate fills a string with the values if they are templated 23 func ResolveTemplate(stringToResolve string, params map[string]string) (string, error) { 24 25 ut, err := utils.NewTemplate("cmd").Parse(stringToResolve) 26 27 if err != nil { 28 return "", err 29 } 30 writer := new(strings.Builder) 31 err = ut.Execute(writer, params) 32 33 if err != nil { 34 return "", err 35 } 36 return writer.String(), nil 37 }