@@ -1823,6 +1823,56 @@ func Test_CommitUpdates(t *testing.T) {
1823
1823
assert .NoError (t , err )
1824
1824
})
1825
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
+
1826
1876
t .Run ("Good commit to kustomization" , func (t * testing.T ) {
1827
1877
app := app .DeepCopy ()
1828
1878
app .Annotations [common .WriteBackTargetAnnotation ] = "kustomization"
0 commit comments