@@ -35,6 +35,7 @@ import (
35
35
ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition"
36
36
ackcfg "github.com/aws-controllers-k8s/runtime/pkg/config"
37
37
ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors"
38
+ "github.com/aws-controllers-k8s/runtime/pkg/featuregate"
38
39
ackmetrics "github.com/aws-controllers-k8s/runtime/pkg/metrics"
39
40
"github.com/aws-controllers-k8s/runtime/pkg/requeue"
40
41
ackrt "github.com/aws-controllers-k8s/runtime/pkg/runtime"
@@ -92,7 +93,12 @@ func reconcilerMocks(
92
93
Level : zapcore .InfoLevel ,
93
94
}
94
95
fakeLogger := ctrlrtzap .New (ctrlrtzap .UseFlagOptions (& zapOptions ))
95
- cfg := ackcfg.Config {}
96
+ cfg := ackcfg.Config {
97
+ FeatureGates : featuregate.FeatureGates {
98
+ featuregate .ReadOnlyResources : {Enabled : true },
99
+ featuregate .ResourceAdoption : {Enabled : true },
100
+ },
101
+ }
96
102
metrics := ackmetrics .NewMetrics ("bookstore" )
97
103
98
104
sc := & ackmocks.ServiceController {}
@@ -241,12 +247,7 @@ func TestReconcilerReadOnlyResource(t *testing.T) {
241
247
latest , nil ,
242
248
)
243
249
rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
244
- rmf , rd := managedResourceManagerFactoryMocks (desired , latest )
245
-
246
- rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
247
- rd .On ("IsManaged" , desired ).Return (true )
248
- rd .On ("Delta" , desired , latest ).Return (ackcompare .NewDelta ())
249
- rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
250
+ rmf , _ := managedResourceManagerFactoryMocks (desired , latest )
250
251
251
252
r , kc , scmd := reconcilerMocks (rmf )
252
253
rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
@@ -266,28 +267,32 @@ func TestReconcilerAdoptResource(t *testing.T) {
266
267
require := require .New (t )
267
268
268
269
ctx := context .TODO ()
270
+ adoptionFieldsString := "{\" arn\" : \" my-adopt-book-arn\" }"
271
+ adoptionFields := map [string ]string {
272
+ "arn" : "my-adopt-book-arn" ,
273
+ }
269
274
270
275
desired , _ , metaObj := resourceMocks ()
271
276
desired .On ("ReplaceConditions" , []* ackv1alpha1.Condition {}).Return ()
272
277
metaObj .SetAnnotations (map [string ]string {
273
278
ackv1alpha1 .AnnotationAdoptionPolicy : "adopt" ,
274
- ackv1alpha1 .AnnotationAdoptionFields : "{ \" arn \" : \" my-adopt-book-arn \" }" ,
279
+ ackv1alpha1 .AnnotationAdoptionFields : adoptionFieldsString ,
275
280
})
276
281
277
282
latest , latestRTObj , _ := resourceMocks ()
278
283
latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
279
284
latest .On ("MetaObject" ).Return (metav1.ObjectMeta {
280
285
Annotations : map [string ]string {
281
286
ackv1alpha1 .AnnotationAdoptionPolicy : "adopt" ,
282
- ackv1alpha1 .AnnotationAdoptionFields : "{ \" arn \" : \" my-adopt-book-arn \" }" ,
287
+ ackv1alpha1 .AnnotationAdoptionFields : adoptionFieldsString ,
283
288
},
284
289
})
285
290
latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
286
291
latest .On (
287
292
"ReplaceConditions" ,
288
293
mock .AnythingOfType ("[]*v1alpha1.Condition" ),
289
294
).Return ()
290
-
295
+ desired . On ( "PopulateResourceFromAnnotation" , adoptionFields ). Return ( nil )
291
296
rm := & ackmocks.AWSResourceManager {}
292
297
rm .On ("ResolveReferences" , ctx , nil , desired ).Return (
293
298
desired , false , nil ,
@@ -302,10 +307,11 @@ func TestReconcilerAdoptResource(t *testing.T) {
302
307
303
308
rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
304
309
rd .On ("IsManaged" , desired ).Return (false )
305
- rd .On ("Delta" , desired , latest ).Return (ackcompare .NewDelta ())
306
310
rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
307
311
308
312
r , kc , scmd := reconcilerMocks (rmf )
313
+ rm .On ("FilterSystemTags" , latest ).Return ()
314
+ rd .On ("MarkAdopted" , latest ).Return ()
309
315
rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
310
316
statusWriter := & ctrlrtclientmock.SubResourceWriter {}
311
317
kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
@@ -324,13 +330,18 @@ func TestReconcilerAdoptOrCreateResource_Create(t *testing.T) {
324
330
require := require .New (t )
325
331
326
332
ctx := context .TODO ()
333
+ adoptionFieldsString := "{\" arn\" : \" my-adopt-book-arn\" }"
334
+ adoptionFields := map [string ]string {
335
+ "arn" : "my-adopt-book-arn" ,
336
+ }
327
337
328
338
desired , _ , metaObj := resourceMocks ()
329
339
desired .On ("ReplaceConditions" , []* ackv1alpha1.Condition {}).Return ()
330
340
metaObj .SetAnnotations (map [string ]string {
331
341
ackv1alpha1 .AnnotationAdoptionPolicy : "adopt-or-create" ,
332
- ackv1alpha1 .AnnotationAdoptionFields : "{ \" arn \" : \" my-adopt-book-arn \" }" ,
342
+ ackv1alpha1 .AnnotationAdoptionFields : adoptionFieldsString ,
333
343
})
344
+ desired .On ("PopulateResourceFromAnnotation" , adoptionFields ).Return (nil )
334
345
335
346
ids := & ackmocks.AWSResourceIdentifiers {}
336
347
@@ -339,8 +350,8 @@ func TestReconcilerAdoptOrCreateResource_Create(t *testing.T) {
339
350
latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
340
351
latest .On ("MetaObject" ).Return (metav1.ObjectMeta {
341
352
Annotations : map [string ]string {
342
- ackv1alpha1 .AnnotationAdoptionPolicy : "adopt" ,
343
- ackv1alpha1 .AnnotationAdoptionFields : "{ \" arn \" : \" my-adopt-book-arn \" }" ,
353
+ ackv1alpha1 .AnnotationAdoptionPolicy : "adopt-or-create " ,
354
+ ackv1alpha1 .AnnotationAdoptionFields : adoptionFieldsString ,
344
355
},
345
356
})
346
357
latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
@@ -366,6 +377,7 @@ func TestReconcilerAdoptOrCreateResource_Create(t *testing.T) {
366
377
).Once ()
367
378
rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
368
379
rmf , rd := managedResourceManagerFactoryMocks (desired , latest )
380
+ rd .On ("MarkAdopted" , latest ).Return ()
369
381
370
382
rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
371
383
rd .On ("IsManaged" , desired ).Return (false ).Once ()
@@ -409,7 +421,7 @@ func TestReconcilerAdoptOrCreateResource_Adopt(t *testing.T) {
409
421
latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
410
422
latest .On ("MetaObject" ).Return (metav1.ObjectMeta {
411
423
Annotations : map [string ]string {
412
- ackv1alpha1 .AnnotationAdoptionPolicy : "adopt" ,
424
+ ackv1alpha1 .AnnotationAdoptionPolicy : "adopt-or-create " ,
413
425
ackv1alpha1 .AnnotationAdoptionFields : "{\" arn\" : \" my-adopt-book-arn\" }" ,
414
426
},
415
427
})
0 commit comments