@@ -37,7 +37,6 @@ import (
3737 rbacv1 "k8s.io/api/rbac/v1"
3838 "k8s.io/apimachinery/pkg/api/errors"
3939 resourcev1 "k8s.io/apimachinery/pkg/api/resource"
40- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4140 v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4241 "k8s.io/apimachinery/pkg/runtime"
4342 "k8s.io/apimachinery/pkg/types"
@@ -93,6 +92,62 @@ func TestImageFromEnvVariable(t *testing.T) {
9392
9493}
9594
95+ func TestReconcileDefaultForArgoCDNodeplacement (t * testing.T ) {
96+ logf .SetLogger (argocd .ZapLogger (true ))
97+ s := scheme .Scheme
98+ addKnownTypesToScheme (s )
99+
100+ var err error
101+
102+ gitopsService := & pipelinesv1alpha1.GitopsService {
103+ ObjectMeta : v1.ObjectMeta {
104+ Name : serviceName ,
105+ },
106+ Spec : pipelinesv1alpha1.GitopsServiceSpec {
107+ NodeSelector : map [string ]string {
108+ "foo" : "bar" ,
109+ },
110+ },
111+ }
112+
113+ fakeClient := fake .NewFakeClient (gitopsService )
114+ reconciler := newReconcileGitOpsService (fakeClient , s )
115+
116+ existingArgoCD := & argoapp.ArgoCD {
117+ ObjectMeta : v1.ObjectMeta {
118+ Name : serviceNamespace ,
119+ Namespace : serviceNamespace ,
120+ },
121+ Spec : argoapp.ArgoCDSpec {
122+ Server : argoapp.ArgoCDServerSpec {
123+ Route : argoapp.ArgoCDRouteSpec {
124+ Enabled : true ,
125+ },
126+ },
127+ ApplicationSet : & argoapp.ArgoCDApplicationSet {},
128+ SSO : & argoapp.ArgoCDSSOSpec {
129+ Provider : "dex" ,
130+ Dex : & argoapp.ArgoCDDexSpec {
131+ Config : "test-config" ,
132+ },
133+ },
134+ },
135+ }
136+
137+ err = fakeClient .Create (context .TODO (), existingArgoCD )
138+ assertNoError (t , err )
139+
140+ _ , err = reconciler .Reconcile (context .TODO (), newRequest ("test" , "test" ))
141+ assertNoError (t , err )
142+
143+ // verify whether existingArgoCD NodePlacement is updated when user is patching nodePlacement through GitopsService CR
144+ err = fakeClient .Get (context .TODO (), types.NamespacedName {Name : common .ArgoCDInstanceName , Namespace : serviceNamespace },
145+ existingArgoCD )
146+ assertNoError (t , err )
147+ assert .Check (t , existingArgoCD .Spec .NodePlacement != nil )
148+ assert .DeepEqual (t , existingArgoCD .Spec .NodePlacement .NodeSelector , gitopsService .Spec .NodeSelector )
149+ }
150+
96151// If the DISABLE_DEFAULT_ARGOCD_INSTANCE is set, ensure that the default ArgoCD instance is not created.
97152func TestReconcileDisableDefault (t * testing.T ) {
98153
@@ -553,14 +608,14 @@ func TestReconcile_VerifyResourceQuotaDeletionForUpgrade(t *testing.T) {
553608
554609 // Create namespace object for default ArgoCD instance and set resource quota to it.
555610 defaultArgoNS := & corev1.Namespace {
556- ObjectMeta : metav1 .ObjectMeta {
611+ ObjectMeta : v1 .ObjectMeta {
557612 Name : serviceNamespace ,
558613 },
559614 }
560615 fakeClient .Create (context .TODO (), defaultArgoNS )
561616
562617 dummyResourceObj := & corev1.ResourceQuota {
563- ObjectMeta : metav1 .ObjectMeta {
618+ ObjectMeta : v1 .ObjectMeta {
564619 Name : fmt .Sprintf ("%s-compute-resources" , serviceNamespace ),
565620 Namespace : serviceNamespace ,
566621 },
@@ -613,7 +668,7 @@ func TestReconcile_InfrastructureNode(t *testing.T) {
613668 s := scheme .Scheme
614669 addKnownTypesToScheme (s )
615670 gitopsService := & pipelinesv1alpha1.GitopsService {
616- ObjectMeta : metav1 .ObjectMeta {
671+ ObjectMeta : v1 .ObjectMeta {
617672 Name : serviceName ,
618673 },
619674 Spec : pipelinesv1alpha1.GitopsServiceSpec {
0 commit comments