@@ -69,14 +69,6 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
6969 t .Run ("getRegion" , func (t * testing.T ) {
7070 t .Run ("should get region from AWSCluster" , func (t * testing.T ) {
7171 g := NewWithT (t )
72- template := newAWSMachineTemplate ("test-template" )
73- template .OwnerReferences = []metav1.OwnerReference {
74- {
75- APIVersion : clusterv1 .GroupVersion .String (),
76- Kind : "Cluster" ,
77- Name : "test-cluster" ,
78- },
79- }
8072 cluster := & clusterv1.Cluster {
8173 ObjectMeta : metav1.ObjectMeta {
8274 Name : "test-cluster" ,
@@ -101,24 +93,23 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
10193 }
10294
10395 reconciler := & AWSMachineTemplateReconciler {
104- Client : newFakeClient (template , cluster , awsCluster ),
96+ Client : newFakeClient (cluster , awsCluster ),
10597 }
10698
107- region , err := reconciler .getRegion (context .Background (), template )
99+ region , err := reconciler .getRegion (context .Background (), cluster )
108100
109101 g .Expect (err ).To (BeNil ())
110102 g .Expect (region ).To (Equal ("us-west-2" ))
111103 })
112104
113- t .Run ("should return error when no owner cluster found " , func (t * testing.T ) {
105+ t .Run ("should return error when cluster is nil " , func (t * testing.T ) {
114106 g := NewWithT (t )
115- template := newAWSMachineTemplate ("test-template" )
116107
117108 reconciler := & AWSMachineTemplateReconciler {
118- Client : newFakeClient (template ),
109+ Client : newFakeClient (),
119110 }
120111
121- region , err := reconciler .getRegion (context .Background (), template )
112+ region , err := reconciler .getRegion (context .Background (), nil )
122113
123114 g .Expect (err ).ToNot (BeNil ())
124115 g .Expect (err .Error ()).To (ContainSubstring ("no owner cluster found" ))
@@ -127,14 +118,6 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
127118
128119 t .Run ("should return empty when cluster has no infrastructure ref" , func (t * testing.T ) {
129120 g := NewWithT (t )
130- template := newAWSMachineTemplate ("test-template" )
131- template .OwnerReferences = []metav1.OwnerReference {
132- {
133- APIVersion : clusterv1 .GroupVersion .String (),
134- Kind : "Cluster" ,
135- Name : "test-cluster" ,
136- },
137- }
138121 cluster := & clusterv1.Cluster {
139122 ObjectMeta : metav1.ObjectMeta {
140123 Name : "test-cluster" ,
@@ -143,25 +126,17 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
143126 }
144127
145128 reconciler := & AWSMachineTemplateReconciler {
146- Client : newFakeClient (template , cluster ),
129+ Client : newFakeClient (cluster ),
147130 }
148131
149- region , err := reconciler .getRegion (context .Background (), template )
132+ region , err := reconciler .getRegion (context .Background (), cluster )
150133
151134 g .Expect (err ).To (BeNil ())
152135 g .Expect (region ).To (Equal ("" ))
153136 })
154137
155138 t .Run ("should return empty when AWSCluster not found" , func (t * testing.T ) {
156139 g := NewWithT (t )
157- template := newAWSMachineTemplate ("test-template" )
158- template .OwnerReferences = []metav1.OwnerReference {
159- {
160- APIVersion : clusterv1 .GroupVersion .String (),
161- Kind : "Cluster" ,
162- Name : "test-cluster" ,
163- },
164- }
165140 cluster := & clusterv1.Cluster {
166141 ObjectMeta : metav1.ObjectMeta {
167142 Name : "test-cluster" ,
@@ -177,10 +152,10 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
177152 }
178153
179154 reconciler := & AWSMachineTemplateReconciler {
180- Client : newFakeClient (template , cluster ),
155+ Client : newFakeClient (cluster ),
181156 }
182157
183- region , err := reconciler .getRegion (context .Background (), template )
158+ region , err := reconciler .getRegion (context .Background (), cluster )
184159
185160 g .Expect (err ).To (BeNil ())
186161 g .Expect (region ).To (Equal ("" ))
@@ -284,7 +259,99 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
284259 g .Expect (result .Requeue ).To (BeFalse ())
285260 })
286261
287- t .Run ("should return error when no owner cluster" , func (t * testing.T ) {
262+ t .Run ("should not reconcile when cluster is paused" , func (t * testing.T ) {
263+ g := NewWithT (t )
264+ template := newAWSMachineTemplate ("test-template" )
265+ template .OwnerReferences = []metav1.OwnerReference {
266+ {
267+ APIVersion : clusterv1 .GroupVersion .String (),
268+ Kind : "Cluster" ,
269+ Name : "test-cluster" ,
270+ },
271+ }
272+ cluster := & clusterv1.Cluster {
273+ ObjectMeta : metav1.ObjectMeta {
274+ Name : "test-cluster" ,
275+ Namespace : "default" ,
276+ },
277+ Spec : clusterv1.ClusterSpec {
278+ Paused : true ,
279+ InfrastructureRef : & corev1.ObjectReference {
280+ Kind : "AWSCluster" ,
281+ Name : "test-aws-cluster" ,
282+ Namespace : "default" ,
283+ },
284+ },
285+ }
286+ awsCluster := & infrav1.AWSCluster {
287+ ObjectMeta : metav1.ObjectMeta {
288+ Name : "test-aws-cluster" ,
289+ Namespace : "default" ,
290+ },
291+ Spec : infrav1.AWSClusterSpec {
292+ Region : "us-west-2" ,
293+ },
294+ }
295+
296+ reconciler := & AWSMachineTemplateReconciler {
297+ Client : newFakeClient (template , cluster , awsCluster ),
298+ }
299+
300+ result , err := reconciler .Reconcile (context .Background (), ctrl.Request {
301+ NamespacedName : client .ObjectKeyFromObject (template ),
302+ })
303+
304+ g .Expect (err ).To (BeNil ())
305+ g .Expect (result .Requeue ).To (BeFalse ())
306+ })
307+
308+ t .Run ("should not reconcile when template has paused annotation" , func (t * testing.T ) {
309+ g := NewWithT (t )
310+ template := newAWSMachineTemplate ("test-template" )
311+ template .Annotations = map [string ]string {clusterv1 .PausedAnnotation : "" }
312+ template .OwnerReferences = []metav1.OwnerReference {
313+ {
314+ APIVersion : clusterv1 .GroupVersion .String (),
315+ Kind : "Cluster" ,
316+ Name : "test-cluster" ,
317+ },
318+ }
319+ cluster := & clusterv1.Cluster {
320+ ObjectMeta : metav1.ObjectMeta {
321+ Name : "test-cluster" ,
322+ Namespace : "default" ,
323+ },
324+ Spec : clusterv1.ClusterSpec {
325+ InfrastructureRef : & corev1.ObjectReference {
326+ Kind : "AWSCluster" ,
327+ Name : "test-aws-cluster" ,
328+ Namespace : "default" ,
329+ },
330+ },
331+ }
332+ awsCluster := & infrav1.AWSCluster {
333+ ObjectMeta : metav1.ObjectMeta {
334+ Name : "test-aws-cluster" ,
335+ Namespace : "default" ,
336+ },
337+ Spec : infrav1.AWSClusterSpec {
338+ Region : "us-west-2" ,
339+ },
340+ }
341+
342+ reconciler := & AWSMachineTemplateReconciler {
343+ Client : newFakeClient (template , cluster , awsCluster ),
344+ }
345+
346+ result , err := reconciler .Reconcile (context .Background (), ctrl.Request {
347+ NamespacedName : client .ObjectKeyFromObject (template ),
348+ })
349+
350+ g .Expect (err ).To (BeNil ())
351+ g .Expect (result .Requeue ).To (BeFalse ())
352+ })
353+
354+ t .Run ("should skip when no owner cluster" , func (t * testing.T ) {
288355 g := NewWithT (t )
289356 template := newAWSMachineTemplate ("test-template" )
290357
@@ -296,8 +363,7 @@ func TestAWSMachineTemplateReconciler(t *testing.T) {
296363 NamespacedName : client .ObjectKeyFromObject (template ),
297364 })
298365
299- g .Expect (err ).ToNot (BeNil ())
300- g .Expect (err .Error ()).To (ContainSubstring ("no owner cluster found" ))
366+ g .Expect (err ).To (BeNil ())
301367 g .Expect (result .Requeue ).To (BeFalse ())
302368 })
303369
0 commit comments