Skip to content

Commit ed119d7

Browse files
committed
Merge branch 'main' into feature/network-tags
2 parents cce597e + 32f6464 commit ed119d7

9 files changed

+195
-134
lines changed

api/v1beta1/cloudstackcluster_webhook_test.go

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,35 @@ import (
2626
)
2727

2828
var _ = Describe("CloudStackCluster webhooks", func() {
29+
const (
30+
apiVersion = "infrastructure.cluster.x-k8s.io/v1beta1"
31+
clusterKind = "CloudStackCluster"
32+
clusterName = "test-cluster"
33+
clusterNamespace = "default"
34+
identitySecretName = "IdentitySecret"
35+
zone = "Zone"
36+
network = "Network"
37+
)
38+
2939
Context("When creating a CloudStackCluster with all validated attributes", func() {
3040
It("Should succeed", func() {
3141
ctx := context.Background()
3242
cloudStackCluster := &CloudStackCluster{
3343
TypeMeta: metav1.TypeMeta{
34-
APIVersion: "infrastructure.cluster.x-k8s.io/v1beta1",
35-
Kind: "CloudStackCluster",
44+
APIVersion: apiVersion,
45+
Kind: clusterKind,
3646
},
3747
ObjectMeta: metav1.ObjectMeta{
38-
Name: "test-cluster",
39-
Namespace: "default",
48+
Name: clusterName,
49+
Namespace: clusterNamespace,
4050
},
4151
Spec: CloudStackClusterSpec{
4252
IdentityRef: &CloudStackIdentityReference{
4353
Kind: defaultIdentityRefKind,
44-
Name: "IdentitySecret",
54+
Name: identitySecretName,
4555
},
46-
Zone: "Zone",
47-
Network: "Network",
56+
Zone: zone,
57+
Network: network,
4858
},
4959
}
5060
Expect(k8sClient.Create(ctx, cloudStackCluster)).Should(Succeed())
@@ -56,19 +66,19 @@ var _ = Describe("CloudStackCluster webhooks", func() {
5666
ctx := context.Background()
5767
cloudStackCluster := &CloudStackCluster{
5868
TypeMeta: metav1.TypeMeta{
59-
APIVersion: "infrastructure.cluster.x-k8s.io/v1beta1",
60-
Kind: "CloudStackCluster",
69+
APIVersion: apiVersion,
70+
Kind: clusterKind,
6171
},
6272
ObjectMeta: metav1.ObjectMeta{
63-
Name: "test-cluster",
64-
Namespace: "default",
73+
Name: clusterName,
74+
Namespace: clusterNamespace,
6575
},
6676
Spec: CloudStackClusterSpec{
6777
IdentityRef: &CloudStackIdentityReference{
6878
Kind: defaultIdentityRefKind,
69-
Name: "IdentitySecret",
79+
Name: identitySecretName,
7080
},
71-
Zone: "Zone",
81+
Zone: zone,
7282
},
7383
}
7484
Expect(k8sClient.Create(ctx, cloudStackCluster).Error()).Should(MatchRegexp("admission webhook.*denied the request.*Required value\\: Network"))
@@ -80,44 +90,49 @@ var _ = Describe("CloudStackCluster webhooks", func() {
8090
ctx := context.Background()
8191
cloudStackCluster := &CloudStackCluster{
8292
TypeMeta: metav1.TypeMeta{
83-
APIVersion: "infrastructure.cluster.x-k8s.io/v1beta1",
84-
Kind: "CloudStackCluster",
93+
APIVersion: apiVersion,
94+
Kind: clusterKind,
8595
},
8696
ObjectMeta: metav1.ObjectMeta{
87-
Name: "test-cluster",
88-
Namespace: "default",
97+
Name: clusterName,
98+
Namespace: clusterNamespace,
8999
},
90100
Spec: CloudStackClusterSpec{
91101
IdentityRef: &CloudStackIdentityReference{
92102
Kind: defaultIdentityRefKind,
93-
Name: "IdentitySecret",
103+
Name: identitySecretName,
94104
},
95-
Network: "Network",
105+
Network: network,
96106
},
97107
}
98108
Expect(k8sClient.Create(ctx, cloudStackCluster).Error()).Should(MatchRegexp("admission webhook.*denied the request.*Required value\\: Zone"))
99109
})
100110
})
101111

102112
Context("When creating a CloudStackCluster with the wrong kind of IdentityReference", func() {
113+
const (
114+
configMapKind = "ConfigMap"
115+
configMapName = "IdentityConfigMap"
116+
)
117+
103118
It("Should be rejected by the validating webhooks", func() {
104119
ctx := context.Background()
105120
cloudStackCluster := &CloudStackCluster{
106121
TypeMeta: metav1.TypeMeta{
107-
APIVersion: "infrastructure.cluster.x-k8s.io/v1beta1",
108-
Kind: "CloudStackCluster",
122+
APIVersion: apiVersion,
123+
Kind: clusterKind,
109124
},
110125
ObjectMeta: metav1.ObjectMeta{
111-
Name: "test-cluster",
112-
Namespace: "default",
126+
Name: clusterName,
127+
Namespace: clusterNamespace,
113128
},
114129
Spec: CloudStackClusterSpec{
115130
IdentityRef: &CloudStackIdentityReference{
116-
Kind: "ConfigMap",
117-
Name: "IdentityConfigMap",
131+
Kind: configMapKind,
132+
Name: configMapName,
118133
},
119-
Zone: "Zone",
120-
Network: "Network",
134+
Zone: zone,
135+
Network: network,
121136
},
122137
}
123138
Expect(k8sClient.Create(ctx, cloudStackCluster).Error()).Should(MatchRegexp("admission webhook.*denied the request.*Forbidden\\: must be a Secret"))
@@ -139,15 +154,15 @@ var _ = Describe("CloudStackCluster webhooks", func() {
139154
},
140155
ObjectMeta: metav1.ObjectMeta{
141156
Name: "test-cluster2",
142-
Namespace: "default",
157+
Namespace: clusterNamespace,
143158
},
144159
Spec: CloudStackClusterSpec{
145160
IdentityRef: &CloudStackIdentityReference{
146161
Kind: defaultIdentityRefKind,
147-
Name: "IdentitySecret",
162+
Name: identitySecretName,
148163
},
149-
Zone: "Zone",
150-
Network: "Network",
164+
Zone: zone,
165+
Network: network,
151166
// Need CP Endpoint not to be nil before test or webhook will allow modification.
152167
ControlPlaneEndpoint: clusterv1.APIEndpoint{Host: "fakeIP", Port: int32(1234)},
153168
},
@@ -177,7 +192,7 @@ var _ = Describe("CloudStackCluster webhooks", func() {
177192
Expect(k8sClient.Update(ctx, cloudStackClusterUpdate).Error()).Should(MatchRegexp(forbiddenRegex, "identityRef\\.Kind"))
178193

179194
cloudStackCluster.DeepCopyInto(cloudStackClusterUpdate)
180-
cloudStackClusterUpdate.Spec.IdentityRef.Name = "IdentityConfigMap"
195+
cloudStackClusterUpdate.Spec.IdentityRef.Name = configMapName
181196
Expect(k8sClient.Update(ctx, cloudStackClusterUpdate).Error()).Should(MatchRegexp(forbiddenRegex, "identityRef\\.Name"))
182197
})
183198

0 commit comments

Comments
 (0)