@@ -9,18 +9,18 @@ import (
99
1010func TestMapMerge1 (t * testing.T ) {
1111 a := map [interface {}]interface {}{
12- "foo" : "bar" ,
12+ "foo" : "bar" ,
1313 "fizz" : "buzz" ,
1414 }
1515 b := map [interface {}]interface {}{
1616 "fizz" : "fizz" ,
1717 }
1818 c := map [interface {}]interface {}{
19- "foo" : "bar" ,
19+ "foo" : "bar" ,
2020 "fizz" : "fizz" ,
2121 }
2222 d := mergeMaps (a , b )
23- assert .Equal (t , c , d , "Maps should be equal" )
23+ assert .Equal (t , c , d , "Maps should be equal" )
2424}
2525
2626func TestMapMerge2 (t * testing.T ) {
@@ -39,7 +39,7 @@ func TestMapMerge2(t *testing.T) {
3939 "d" : "4" ,
4040 }
4141 d := mergeMaps (a , b )
42- assert .Equal (t , c , d , "Maps should be equal" )
42+ assert .Equal (t , c , d , "Maps should be equal" )
4343}
4444
4545func TestMapMerge3 (t * testing.T ) {
@@ -55,7 +55,7 @@ func TestMapMerge3(t *testing.T) {
5555 "b" : 42 ,
5656 }
5757 d := mergeMaps (a , b )
58- assert .Equal (t , c , d , "Maps should be equal" )
58+ assert .Equal (t , c , d , "Maps should be equal" )
5959}
6060
6161func TestMapMerge4 (t * testing.T ) {
@@ -71,7 +71,7 @@ func TestMapMerge4(t *testing.T) {
7171 "b" : []interface {}{"2" , "3" },
7272 }
7373 d := mergeMaps (a , b )
74- assert .Equal (t , c , d , "Maps should be equal" )
74+ assert .Equal (t , c , d , "Maps should be equal" )
7575}
7676
7777func TestTemplateValuesMerge (t * testing.T ) {
@@ -159,17 +159,16 @@ func TestTemplateValuesMerge(t *testing.T) {
159159 assert .Equal (t , expectedMergedTemplateValues , templateValues , "TemplateValues should be equal" )
160160}
161161
162-
163162func TestValuesFileLoading (t * testing.T ) {
164163 c := util .GetDummyCliContext ()
165164 util .SetCliContext (c )
166165 util .ComputeRootDir (c )
167-
166+
168167 LoadValues ()
169-
168+
170169 valuesSet1 := map [interface {}]interface {}{
171- "namespace" : "gitops-dev" ,
172- "stage" : "dev" ,
170+ "namespace" : "gitops-dev" ,
171+ "stage" : "dev" ,
173172 "databaseUsername" : "my-very-strong-username" ,
174173 "databasePassword" : "my-very-strong-password" ,
175174 }
@@ -178,12 +177,61 @@ func TestValuesFileLoading(t *testing.T) {
178177 assert .Equal (t , valuesSet1 , mergedValues1 , "Values should be equal" )
179178
180179 valuesSet2 := map [interface {}]interface {}{
181- "namespace" : "gitops-dev" ,
182- "stage" : "sub-dev" ,
180+ "namespace" : "gitops-dev" ,
181+ "stage" : "sub-dev" ,
183182 "databaseUsername" : "my-very-strong-username" ,
184183 "databasePassword" : "my-very-strong-password" ,
185- "key" : "fooo" ,
184+ "key" : "fooo" ,
186185 }
187186 mergedValues2 := GetValuesForPath ("test_assets/subdirectory/subdir-secret.gitops.secret.enc.yml" )
188187 assert .Equal (t , valuesSet2 , mergedValues2 , "Values should be equal" )
189- }
188+ }
189+
190+ func TestFilterValuesFiles (t * testing.T ) {
191+ valuesFiles := []string {
192+ "values.gitops.secret.enc.yml" ,
193+ "foo/values.gitops.secret.enc.yml" ,
194+ "foo/bar/values.gitops.secret.enc.yml" ,
195+ "foo/bar/baz/values.gitops.secret.enc.yml" ,
196+ "foo/other/values.gitops.secret.enc.yml" ,
197+ }
198+
199+ testCases := []struct {
200+ name string
201+ dirLimit string
202+ expected []string
203+ }{
204+ {
205+ name : "no dir limit returns all" ,
206+ dirLimit : "" ,
207+ expected : valuesFiles ,
208+ },
209+ {
210+ name : "limit includes ancestors and descendants" ,
211+ dirLimit : "foo/bar" ,
212+ expected : []string {
213+ "values.gitops.secret.enc.yml" ,
214+ "foo/values.gitops.secret.enc.yml" ,
215+ "foo/bar/values.gitops.secret.enc.yml" ,
216+ "foo/bar/baz/values.gitops.secret.enc.yml" ,
217+ },
218+ },
219+ {
220+ name : "limit with trailing slash" ,
221+ dirLimit : "foo/bar/" ,
222+ expected : []string {
223+ "values.gitops.secret.enc.yml" ,
224+ "foo/values.gitops.secret.enc.yml" ,
225+ "foo/bar/values.gitops.secret.enc.yml" ,
226+ "foo/bar/baz/values.gitops.secret.enc.yml" ,
227+ },
228+ },
229+ }
230+
231+ for _ , tc := range testCases {
232+ t .Run (tc .name , func (t * testing.T ) {
233+ filtered := filterValuesFiles (valuesFiles , tc .dirLimit )
234+ assert .Equal (t , tc .expected , filtered )
235+ })
236+ }
237+ }
0 commit comments