@@ -1066,6 +1066,7 @@ func Test_MarshalParamsOverride(t *testing.T) {
10661066 expected := `
10671067kustomize:
10681068 images:
1069+ - baz
10691070 - foo
10701071 - bar
10711072`
@@ -1093,8 +1094,12 @@ kustomize:
10931094 SourceType : v1alpha1 .ApplicationSourceTypeKustomize ,
10941095 },
10951096 }
1096-
1097- yaml , err := marshalParamsOverride (& app )
1097+ originalData := []byte (`
1098+ kustomize:
1099+ images:
1100+ - baz
1101+ ` )
1102+ yaml , err := marshalParamsOverride (& app , originalData )
10981103 require .NoError (t , err )
10991104 assert .NotEmpty (t , yaml )
11001105 assert .Equal (t , strings .TrimSpace (expected ), strings .TrimSpace (string (yaml )))
@@ -1120,7 +1125,7 @@ kustomize:
11201125 },
11211126 }
11221127
1123- yaml , err := marshalParamsOverride (& app )
1128+ yaml , err := marshalParamsOverride (& app , nil )
11241129 require .NoError (t , err )
11251130 assert .Empty (t , yaml )
11261131 assert .Equal (t , "" , strings .TrimSpace (string (yaml )))
@@ -1130,6 +1135,9 @@ kustomize:
11301135 expected := `
11311136helm:
11321137 parameters:
1138+ - name: baz
1139+ value: baz
1140+ forcestring: false
11331141 - name: foo
11341142 value: bar
11351143 forcestring: true
@@ -1170,7 +1178,14 @@ helm:
11701178 },
11711179 }
11721180
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 )
11741189 require .NoError (t , err )
11751190 assert .NotEmpty (t , yaml )
11761191 assert .Equal (t , strings .TrimSpace (strings .ReplaceAll (expected , "\t " , " " )), strings .TrimSpace (string (yaml )))
@@ -1196,7 +1211,7 @@ helm:
11961211 },
11971212 }
11981213
1199- yaml , err := marshalParamsOverride (& app )
1214+ yaml , err := marshalParamsOverride (& app , nil )
12001215 require .NoError (t , err )
12011216 assert .Empty (t , yaml )
12021217 })
@@ -1227,7 +1242,7 @@ helm:
12271242 },
12281243 }
12291244
1230- _ , err := marshalParamsOverride (& app )
1245+ _ , err := marshalParamsOverride (& app , nil )
12311246 assert .Error (t , err )
12321247 })
12331248}
@@ -1808,6 +1823,56 @@ func Test_CommitUpdates(t *testing.T) {
18081823 assert .NoError (t , err )
18091824 })
18101825
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+
18111876 t .Run ("Good commit to kustomization" , func (t * testing.T ) {
18121877 app := app .DeepCopy ()
18131878 app .Annotations [common .WriteBackTargetAnnotation ] = "kustomization"
0 commit comments