@@ -65,22 +65,45 @@ func TestValues(t *testing.T) {
65
65
66
66
t .Run ("name should allow nested key structure" , func (t * testing.T ) {
67
67
subject := subject
68
+ subject .AdditionalValues = AdditionalDownwardAPIValues {
69
+ KubernetesVersion : func () (string , error ) {
70
+ return "test-kubernetes-version" , nil
71
+ },
72
+ KubernetesAPIs : func () ([]string , error ) {
73
+ return []string {"somegroup.example.com/someversion" }, nil
74
+ },
75
+ KappControllerVersion : func () (string , error ) {
76
+ return "test-kapp-controller-version" , nil
77
+ },
78
+ }
68
79
subject .ValuesFrom = []v1alpha1.AppTemplateValuesSource {{DownwardAPI : & v1alpha1.AppTemplateValuesDownwardAPI {
69
80
Items : []v1alpha1.AppTemplateValuesDownwardAPIItem {
70
81
{Name : "parent.child" , FieldPath : "metadata.name" },
71
82
{Name : "parent.child1.child2" , FieldPath : "metadata.namespace" },
72
83
{Name : "parent.childwith\\ .dot" , FieldPath : "metadata.namespace" },
84
+ {Name : "parent.kubernetes_version" , KubernetesVersion : & v1alpha1.Version {}},
85
+ {Name : "parent.kubernetes_version_custom" , KubernetesVersion : & v1alpha1.Version {Version : "test-kubernetes-version-custom" }},
86
+ {Name : "parent.kubernetes_apis" , KubernetesAPIs : & v1alpha1.KubernetesAPIs {}},
87
+ {Name : "parent.kubernetes_apis_custom" , KubernetesAPIs : & v1alpha1.KubernetesAPIs {GroupVersions : []string {"somecustomgroup.example.com/someversion" }}},
88
+ {Name : "parent.kapp_controller_version" , KappControllerVersion : & v1alpha1.Version {}},
89
+ {Name : "parent.kapp_controller_version_custom" , KubernetesVersion : & v1alpha1.Version {Version : "test-kapp-controller-version-custom" }},
73
90
}},
74
91
}}
75
92
76
93
paths , cleanup , err := subject .AsPaths (os .TempDir ())
77
94
require .NoError (t , err )
78
- require .Len (t , paths , 3 )
95
+ require .Len (t , paths , 9 )
79
96
t .Cleanup (cleanup )
80
97
81
98
assertFileContents (t , paths [0 ], "parent:\n child: some-name\n " )
82
99
assertFileContents (t , paths [1 ], "parent:\n child1:\n child2: some-namespace\n " )
83
100
assertFileContents (t , paths [2 ], "parent:\n childwith.dot: some-namespace\n " )
101
+ assertFileContents (t , paths [3 ], "parent:\n kubernetes_version: test-kubernetes-version\n " )
102
+ assertFileContents (t , paths [4 ], "parent:\n kubernetes_version_custom: test-kubernetes-version-custom\n " )
103
+ assertFileContents (t , paths [5 ], "parent:\n kubernetes_apis:\n - somegroup.example.com/someversion\n " )
104
+ assertFileContents (t , paths [6 ], "parent:\n kubernetes_apis_custom:\n - somecustomgroup.example.com/someversion\n " )
105
+ assertFileContents (t , paths [7 ], "parent:\n kapp_controller_version: test-kapp-controller-version\n " )
106
+ assertFileContents (t , paths [8 ], "parent:\n kapp_controller_version_custom: test-kapp-controller-version-custom\n " )
84
107
})
85
108
86
109
t .Run ("map field paths should allow subpaths" , func (t * testing.T ) {
@@ -229,48 +252,6 @@ func TestValues(t *testing.T) {
229
252
require .Error (t , err )
230
253
assert .ErrorContains (t , err , "Invalid field spec provided to DownwardAPI. Only single supported fields are allowed" )
231
254
})
232
-
233
- t .Run ("return kubernetes cluster version if not supplied" , func (t * testing.T ) {
234
- subject := subject
235
- subject .ValuesFrom = []v1alpha1.AppTemplateValuesSource {{DownwardAPI : & v1alpha1.AppTemplateValuesDownwardAPI {
236
- Items : []v1alpha1.AppTemplateValuesDownwardAPIItem {
237
- {Name : "k8s-version" , KubernetesVersion : & v1alpha1.Version {}},
238
- }},
239
- }}
240
- subject .AdditionalValues = AdditionalDownwardAPIValues {
241
- KubernetesVersion : func () (string , error ) {
242
- return "0.20.0" , nil
243
- },
244
- }
245
-
246
- paths , cleanup , err := subject .AsPaths (os .TempDir ())
247
- require .NoError (t , err )
248
- t .Cleanup (cleanup )
249
-
250
- require .Len (t , paths , 1 )
251
- assertFileContents (t , paths [0 ], "k8s-version: 0.20.0\n " )
252
- })
253
-
254
- t .Run ("return kapp-controller version" , func (t * testing.T ) {
255
- subject := subject
256
- subject .ValuesFrom = []v1alpha1.AppTemplateValuesSource {{DownwardAPI : & v1alpha1.AppTemplateValuesDownwardAPI {
257
- Items : []v1alpha1.AppTemplateValuesDownwardAPIItem {
258
- {Name : "kc-version" , KappControllerVersion : & v1alpha1.Version {}},
259
- }},
260
- }}
261
- subject .AdditionalValues = AdditionalDownwardAPIValues {
262
- KappControllerVersion : func () (string , error ) {
263
- return "0.42.31337" , nil
264
- },
265
- }
266
-
267
- paths , cleanup , err := subject .AsPaths (os .TempDir ())
268
- require .NoError (t , err )
269
- t .Cleanup (cleanup )
270
-
271
- require .Len (t , paths , 1 )
272
- assertFileContents (t , paths [0 ], "kc-version: 0.42.31337\n " )
273
- })
274
255
})
275
256
}
276
257
0 commit comments