From a90de2f683a4c3f16b3f43bf36d2501b36df1f6a Mon Sep 17 00:00:00 2001 From: Phani Teja Marupaka Date: Fri, 30 Apr 2021 17:02:27 -0700 Subject: [PATCH] SeparateApiLayerApplySetters --- .../go/apply-setters/{ => api}/apply_setters.go | 9 ++++++++- .../{ => api}/apply_setters_test.go | 7 ++----- functions/go/apply-setters/{ => api}/walk.go | 2 +- functions/go/apply-setters/main.go | 17 +++++------------ 4 files changed, 16 insertions(+), 19 deletions(-) rename functions/go/apply-setters/{ => api}/apply_setters.go (97%) rename functions/go/apply-setters/{ => api}/apply_setters_test.go (98%) rename functions/go/apply-setters/{ => api}/walk.go (99%) diff --git a/functions/go/apply-setters/apply_setters.go b/functions/go/apply-setters/api/apply_setters.go similarity index 97% rename from functions/go/apply-setters/apply_setters.go rename to functions/go/apply-setters/api/apply_setters.go index 188628895..78b251245 100644 --- a/functions/go/apply-setters/apply_setters.go +++ b/functions/go/apply-setters/api/apply_setters.go @@ -1,4 +1,4 @@ -package main +package api import ( "fmt" @@ -275,3 +275,10 @@ func clean(input string) string { input = strings.TrimSpace(input) return strings.TrimSuffix(strings.TrimPrefix(input, "${"), "}") } + +// Decode decodes the input yaml node into Set struct +func Decode(rn *yaml.RNode, fcd *ApplySetters) { + for k, v := range rn.GetDataMap() { + fcd.Setters = append(fcd.Setters, Setter{Name: k, Value: v}) + } +} diff --git a/functions/go/apply-setters/apply_setters_test.go b/functions/go/apply-setters/api/apply_setters_test.go similarity index 98% rename from functions/go/apply-setters/apply_setters_test.go rename to functions/go/apply-setters/api/apply_setters_test.go index 5b3d52ae5..b74c27cb9 100644 --- a/functions/go/apply-setters/apply_setters_test.go +++ b/functions/go/apply-setters/api/apply_setters_test.go @@ -1,4 +1,4 @@ -package main +package api import ( "io/ioutil" @@ -310,10 +310,7 @@ spec: if !assert.NoError(t, err) { t.FailNow() } - err = decode(node, s) - if !assert.NoError(t, err) { - t.FailNow() - } + Decode(node, s) if !assert.NoError(t, err) { t.FailNow() } diff --git a/functions/go/apply-setters/walk.go b/functions/go/apply-setters/api/walk.go similarity index 99% rename from functions/go/apply-setters/walk.go rename to functions/go/apply-setters/api/walk.go index fcc6db621..85503944b 100644 --- a/functions/go/apply-setters/walk.go +++ b/functions/go/apply-setters/api/walk.go @@ -1,4 +1,4 @@ -package main +package api import ( "sigs.k8s.io/kustomize/kyaml/yaml" diff --git a/functions/go/apply-setters/main.go b/functions/go/apply-setters/main.go index 87f5ae94c..b4a2266a8 100644 --- a/functions/go/apply-setters/main.go +++ b/functions/go/apply-setters/main.go @@ -4,6 +4,7 @@ import ( "fmt" "os" + "github.com/GoogleContainerTools/kpt-functions-catalog/functions/go/apply-setters/api" "github.com/GoogleContainerTools/kpt-functions-catalog/functions/go/apply-setters/generated" "sigs.k8s.io/kustomize/kyaml/fn/framework" kyaml "sigs.k8s.io/kustomize/kyaml/yaml" @@ -37,8 +38,8 @@ func main() { } // getSetters retrieve the setters from input config -func getSetters(fc interface{}) (ApplySetters, error) { - var fcd ApplySetters +func getSetters(fc interface{}) (api.ApplySetters, error) { + var fcd api.ApplySetters f, ok := fc.(map[string]interface{}) if !ok { return fcd, fmt.Errorf("function config %#v is not valid", fc) @@ -47,14 +48,6 @@ func getSetters(fc interface{}) (ApplySetters, error) { if err != nil { return fcd, fmt.Errorf("failed to parse input from function config: %w", err) } - - return fcd, decode(rn, &fcd) -} - -// decode decodes the input yaml node into Set struct -func decode(rn *kyaml.RNode, fcd *ApplySetters) error { - for k, v := range rn.GetDataMap() { - fcd.Setters = append(fcd.Setters, Setter{Name: k, Value: v}) - } - return nil + api.Decode(rn, &fcd) + return fcd, nil }