@@ -2724,6 +2724,110 @@ helm:
2724
2724
` , string (override ))
2725
2725
})
2726
2726
2727
+ t .Run ("Good commit to helm override with argocd namespace" , func (t * testing.T ) {
2728
+ kubeClient .Namespace = "argocd"
2729
+ app := app .DeepCopy ()
2730
+ app .Status .SourceType = "Helm"
2731
+ app .ObjectMeta .Namespace = "argocd"
2732
+ app .Spec .Source .Helm = & v1alpha1.ApplicationSourceHelm {Parameters : []v1alpha1.HelmParameter {
2733
+ {Name : "bar" , Value : "bar" , ForceString : true },
2734
+ {Name : "baz" , Value : "baz" , ForceString : true },
2735
+ }}
2736
+ gitMock , dir , cleanup := mockGit (t )
2737
+ defer cleanup ()
2738
+ of := filepath .Join (dir , ".argocd-source-testapp.yaml" )
2739
+ assert .NoError (t , os .WriteFile (of , []byte (`
2740
+ helm:
2741
+ parameters:
2742
+ - name: foo
2743
+ value: foo
2744
+ forcestring: true
2745
+ ` ), os .ModePerm ))
2746
+
2747
+ gitMock .On ("Checkout" , mock .Anything , mock .Anything ).Run (func (args mock.Arguments ) {
2748
+ args .Assert (t , "mydefaultbranch" , false )
2749
+ }).Return (nil )
2750
+ gitMock .On ("Add" , mock .Anything ).Return (nil )
2751
+ gitMock .On ("Commit" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
2752
+ gitMock .On ("Push" , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
2753
+ gitMock .On ("SymRefToBranch" , mock .Anything ).Return ("mydefaultbranch" , nil )
2754
+ wbc , err := getWriteBackConfig (app , & kubeClient , & argoClient )
2755
+ require .NoError (t , err )
2756
+ wbc .GitClient = gitMock
2757
+ app .Spec .Source .TargetRevision = "HEAD"
2758
+ wbc .GitBranch = ""
2759
+
2760
+ err = commitChanges (app , wbc , nil )
2761
+ assert .NoError (t , err )
2762
+ override , err := os .ReadFile (of )
2763
+ assert .NoError (t , err )
2764
+ assert .YAMLEq (t , `
2765
+ helm:
2766
+ parameters:
2767
+ - name: foo
2768
+ value: foo
2769
+ forcestring: true
2770
+ - name: bar
2771
+ value: bar
2772
+ forcestring: true
2773
+ - name: baz
2774
+ value: baz
2775
+ forcestring: true
2776
+ ` , string (override ))
2777
+ })
2778
+
2779
+ t .Run ("Good commit to helm override with another namespace" , func (t * testing.T ) {
2780
+ kubeClient .Namespace = "argocd"
2781
+ app := app .DeepCopy ()
2782
+ app .Status .SourceType = "Helm"
2783
+ app .ObjectMeta .Namespace = "testNS"
2784
+ app .Spec .Source .Helm = & v1alpha1.ApplicationSourceHelm {Parameters : []v1alpha1.HelmParameter {
2785
+ {Name : "bar" , Value : "bar" , ForceString : true },
2786
+ {Name : "baz" , Value : "baz" , ForceString : true },
2787
+ }}
2788
+ gitMock , dir , cleanup := mockGit (t )
2789
+ defer cleanup ()
2790
+ of := filepath .Join (dir , ".argocd-source-testNS_testapp.yaml" )
2791
+ assert .NoError (t , os .WriteFile (of , []byte (`
2792
+ helm:
2793
+ parameters:
2794
+ - name: foo
2795
+ value: foo
2796
+ forcestring: true
2797
+ ` ), os .ModePerm ))
2798
+
2799
+ gitMock .On ("Checkout" , mock .Anything , mock .Anything ).Run (func (args mock.Arguments ) {
2800
+ args .Assert (t , "mydefaultbranch" , false )
2801
+ }).Return (nil )
2802
+ gitMock .On ("Add" , mock .Anything ).Return (nil )
2803
+ gitMock .On ("Commit" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
2804
+ gitMock .On ("Push" , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
2805
+ gitMock .On ("SymRefToBranch" , mock .Anything ).Return ("mydefaultbranch" , nil )
2806
+ wbc , err := getWriteBackConfig (app , & kubeClient , & argoClient )
2807
+ require .NoError (t , err )
2808
+ wbc .GitClient = gitMock
2809
+ app .Spec .Source .TargetRevision = "HEAD"
2810
+ wbc .GitBranch = ""
2811
+
2812
+ err = commitChanges (app , wbc , nil )
2813
+ assert .NoError (t , err )
2814
+ override , err := os .ReadFile (of )
2815
+ assert .NoError (t , err )
2816
+ assert .YAMLEq (t , `
2817
+ helm:
2818
+ parameters:
2819
+ - name: foo
2820
+ value: foo
2821
+ forcestring: true
2822
+ - name: bar
2823
+ value: bar
2824
+ forcestring: true
2825
+ - name: baz
2826
+ value: baz
2827
+ forcestring: true
2828
+ ` , string (override ))
2829
+ })
2830
+
2727
2831
t .Run ("Good commit to kustomization" , func (t * testing.T ) {
2728
2832
app := app .DeepCopy ()
2729
2833
app .Annotations [common .WriteBackTargetAnnotation ] = "kustomization"
0 commit comments