@@ -1066,6 +1066,7 @@ func Test_MarshalParamsOverride(t *testing.T) {
1066
1066
expected := `
1067
1067
kustomize:
1068
1068
images:
1069
+ - baz
1069
1070
- foo
1070
1071
- bar
1071
1072
`
@@ -1093,8 +1094,12 @@ kustomize:
1093
1094
SourceType : v1alpha1 .ApplicationSourceTypeKustomize ,
1094
1095
},
1095
1096
}
1096
-
1097
- yaml , err := marshalParamsOverride (& app )
1097
+ originalData := []byte (`
1098
+ kustomize:
1099
+ images:
1100
+ - baz
1101
+ ` )
1102
+ yaml , err := marshalParamsOverride (& app , originalData )
1098
1103
require .NoError (t , err )
1099
1104
assert .NotEmpty (t , yaml )
1100
1105
assert .Equal (t , strings .TrimSpace (expected ), strings .TrimSpace (string (yaml )))
@@ -1120,7 +1125,7 @@ kustomize:
1120
1125
},
1121
1126
}
1122
1127
1123
- yaml , err := marshalParamsOverride (& app )
1128
+ yaml , err := marshalParamsOverride (& app , nil )
1124
1129
require .NoError (t , err )
1125
1130
assert .Empty (t , yaml )
1126
1131
assert .Equal (t , "" , strings .TrimSpace (string (yaml )))
@@ -1130,6 +1135,9 @@ kustomize:
1130
1135
expected := `
1131
1136
helm:
1132
1137
parameters:
1138
+ - name: baz
1139
+ value: baz
1140
+ forcestring: false
1133
1141
- name: foo
1134
1142
value: bar
1135
1143
forcestring: true
@@ -1170,7 +1178,14 @@ helm:
1170
1178
},
1171
1179
}
1172
1180
1173
- yaml , err := marshalParamsOverride (& app )
1181
+ originalData := []byte (`
1182
+ helm:
1183
+ parameters:
1184
+ - name: baz
1185
+ value: baz
1186
+ forcestring: false
1187
+ ` )
1188
+ yaml , err := marshalParamsOverride (& app , originalData )
1174
1189
require .NoError (t , err )
1175
1190
assert .NotEmpty (t , yaml )
1176
1191
assert .Equal (t , strings .TrimSpace (strings .ReplaceAll (expected , "\t " , " " )), strings .TrimSpace (string (yaml )))
@@ -1196,7 +1211,7 @@ helm:
1196
1211
},
1197
1212
}
1198
1213
1199
- yaml , err := marshalParamsOverride (& app )
1214
+ yaml , err := marshalParamsOverride (& app , nil )
1200
1215
require .NoError (t , err )
1201
1216
assert .Empty (t , yaml )
1202
1217
})
@@ -1227,7 +1242,7 @@ helm:
1227
1242
},
1228
1243
}
1229
1244
1230
- _ , err := marshalParamsOverride (& app )
1245
+ _ , err := marshalParamsOverride (& app , nil )
1231
1246
assert .Error (t , err )
1232
1247
})
1233
1248
}
@@ -1808,6 +1823,56 @@ func Test_CommitUpdates(t *testing.T) {
1808
1823
assert .NoError (t , err )
1809
1824
})
1810
1825
1826
+ t .Run ("Good commit to helm override" , func (t * testing.T ) {
1827
+ app := app .DeepCopy ()
1828
+ app .Status .SourceType = "Helm"
1829
+ app .Spec .Source .Helm = & v1alpha1.ApplicationSourceHelm {Parameters : []v1alpha1.HelmParameter {
1830
+ {Name : "bar" , Value : "bar" , ForceString : true },
1831
+ {Name : "baz" , Value : "baz" , ForceString : true },
1832
+ }}
1833
+ gitMock , dir , cleanup := mockGit (t )
1834
+ defer cleanup ()
1835
+ of := filepath .Join (dir , ".argocd-source-testapp.yaml" )
1836
+ assert .NoError (t , os .WriteFile (of , []byte (`
1837
+ helm:
1838
+ parameters:
1839
+ - name: foo
1840
+ value: foo
1841
+ forcestring: true
1842
+ ` ), os .ModePerm ))
1843
+
1844
+ gitMock .On ("Checkout" , mock .Anything ).Run (func (args mock.Arguments ) {
1845
+ args .Assert (t , "mydefaultbranch" )
1846
+ }).Return (nil )
1847
+ gitMock .On ("Add" , mock .Anything ).Return (nil )
1848
+ gitMock .On ("Commit" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
1849
+ gitMock .On ("Push" , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
1850
+ gitMock .On ("SymRefToBranch" , mock .Anything ).Return ("mydefaultbranch" , nil )
1851
+ wbc , err := getWriteBackConfig (app , & kubeClient , & argoClient )
1852
+ require .NoError (t , err )
1853
+ wbc .GitClient = gitMock
1854
+ app .Spec .Source .TargetRevision = "HEAD"
1855
+ wbc .GitBranch = ""
1856
+
1857
+ err = commitChanges (app , wbc , nil )
1858
+ assert .NoError (t , err )
1859
+ override , err := os .ReadFile (of )
1860
+ assert .NoError (t , err )
1861
+ assert .YAMLEq (t , `
1862
+ helm:
1863
+ parameters:
1864
+ - name: foo
1865
+ value: foo
1866
+ forcestring: true
1867
+ - name: bar
1868
+ value: bar
1869
+ forcestring: true
1870
+ - name: baz
1871
+ value: baz
1872
+ forcestring: true
1873
+ ` , string (override ))
1874
+ })
1875
+
1811
1876
t .Run ("Good commit to kustomization" , func (t * testing.T ) {
1812
1877
app := app .DeepCopy ()
1813
1878
app .Annotations [common .WriteBackTargetAnnotation ] = "kustomization"
0 commit comments