From a8b5ec2c616364b95d26444a34db42054dac4569 Mon Sep 17 00:00:00 2001 From: Phani Teja Marupaka Date: Mon, 24 Feb 2020 12:35:14 -0800 Subject: [PATCH] Suggested Changes and Unit Tests --- .../settersutil/substitutioncreator.go | 39 +++-- .../settersutil/substitutioncreator_test.go | 154 ++++++++++++++++++ 2 files changed, 175 insertions(+), 18 deletions(-) create mode 100644 kyaml/setters2/settersutil/substitutioncreator_test.go diff --git a/kyaml/setters2/settersutil/substitutioncreator.go b/kyaml/setters2/settersutil/substitutioncreator.go index 15059abd0..4134f4271 100644 --- a/kyaml/setters2/settersutil/substitutioncreator.go +++ b/kyaml/setters2/settersutil/substitutioncreator.go @@ -109,10 +109,13 @@ func (c SubstitutionCreator) CreateSettersForSubstitution(openAPIPath string) er sd := setters2.SetterDefinition{ // get the setter name from ref. Ex: from #/definitions/io.k8s.cli.setters.image_setter // extract image_setter - Name: strings.Split(value.Ref, ".")[4], - Value: m[value.Marker], + Name: strings.TrimPrefix(value.Ref, "#/definitions/io.k8s.cli.setters."), + Value: m[value.Marker], + } + err := sd.AddToFile(openAPIPath) + if err != nil { + return err } - sd.AddToFile(openAPIPath) } } return nil @@ -126,23 +129,23 @@ func (c SubstitutionCreator) GetValuesForMarkers() (map[string]string, error) { if err != nil { return nil, err } - s:=c.FieldValue - p:=c.Pattern - i:=0 - j:=0 + s := c.FieldValue + p := c.Pattern + i := 0 + j := 0 // iterate s, p with indices i, j respectively and when j hits the index of a marker, freeze j and iterate // i and capture string till we find the substring just after current marker and before next marker // Ex: s = "something/ubuntu:0.1.0", p = "something/IMAGE::VERSION", till j reaches 10 // just proceed i and j and check if s[i]==p[j] // when j is 10, freeze j and move i till it sees substring '::' which derives IMAGE = ubuntu and so on. - for i< len(s) && j< len(p) { + for i < len(s) && j < len(p) { if marker, ok := indices[j]; ok { value := "" - e := j+len(marker) + e := j + len(marker) - for i j { res = min(k-j, res) } @@ -201,8 +204,8 @@ func lenToNextMarker(m map[int]string, j int) int { } func min(a int, b int) int { - if a