|
6 | 6 |
|
7 | 7 | "github.com/stretchr/testify/assert"
|
8 | 8 | networkingv1 "k8s.io/api/networking/v1"
|
| 9 | + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |
9 | 10 | "k8s.io/apimachinery/pkg/runtime"
|
10 | 11 | "k8s.io/apimachinery/pkg/types"
|
11 | 12 | "sigs.k8s.io/controller-runtime/pkg/client"
|
@@ -63,6 +64,48 @@ func TestReconcileArgoCD_reconcile_ServerIngress_ingressClassName(t *testing.T)
|
63 | 64 | }
|
64 | 65 | }
|
65 | 66 |
|
| 67 | +func TestReconcileArgoCD_reconcile_ServerIngress_ingressClassName_update(t *testing.T) { |
| 68 | + logf.SetLogger(ZapLogger(true)) |
| 69 | + |
| 70 | + nginx := "nginx" |
| 71 | + existingIngressClassName := "test-name" |
| 72 | + |
| 73 | + a := makeTestArgoCD(func(a *argoproj.ArgoCD) { |
| 74 | + a.Spec.Server.Ingress.Enabled = true |
| 75 | + a.Spec.Server.Ingress.IngressClassName = &nginx |
| 76 | + }) |
| 77 | + |
| 78 | + // Existing ingress with different ingressClassName |
| 79 | + ingress := &networkingv1.Ingress{ |
| 80 | + ObjectMeta: metav1.ObjectMeta{ |
| 81 | + Name: "argocd-server", |
| 82 | + Namespace: a.Namespace, |
| 83 | + }, |
| 84 | + Spec: networkingv1.IngressSpec{ |
| 85 | + IngressClassName: &existingIngressClassName, |
| 86 | + }, |
| 87 | + } |
| 88 | + |
| 89 | + resObjs := []client.Object{a, ingress} |
| 90 | + subresObjs := []client.Object{a} |
| 91 | + runtimeObjs := []runtime.Object{} |
| 92 | + sch := makeTestReconcilerScheme(argoproj.AddToScheme) |
| 93 | + cl := makeTestReconcilerClient(sch, resObjs, subresObjs, runtimeObjs) |
| 94 | + r := makeTestReconciler(cl, sch) |
| 95 | + |
| 96 | + err := r.reconcileArgoServerIngress(a) |
| 97 | + assert.NoError(t, err) |
| 98 | + |
| 99 | + updatedIngress := &networkingv1.Ingress{} |
| 100 | + err = r.Client.Get(context.TODO(), types.NamespacedName{ |
| 101 | + Name: "argocd-server", |
| 102 | + Namespace: testNamespace, |
| 103 | + }, updatedIngress) |
| 104 | + assert.NoError(t, err) |
| 105 | + assert.Equal(t, a.Spec.Server.Ingress.IngressClassName, updatedIngress.Spec.IngressClassName) |
| 106 | + |
| 107 | +} |
| 108 | + |
66 | 109 | func TestReconcileArgoCD_reconcile_ServerGRPCIngress_ingressClassName(t *testing.T) {
|
67 | 110 | logf.SetLogger(ZapLogger(true))
|
68 | 111 |
|
|
0 commit comments