@@ -84,6 +84,7 @@ func reconcilerMocks(
8484) (
8585 acktypes.AWSResourceReconciler ,
8686 * ctrlrtclientmock.Client ,
87+ acktypes.ServiceControllerMetadata ,
8788) {
8889 zapOptions := ctrlrtzap.Options {
8990 Development : true ,
@@ -94,11 +95,13 @@ func reconcilerMocks(
9495 metrics := ackmetrics .NewMetrics ("bookstore" )
9596
9697 sc := & ackmocks.ServiceController {}
98+ scmd := acktypes.ServiceControllerMetadata {}
99+ sc .On ("GetMetadata" ).Return (scmd )
97100 kc := & ctrlrtclientmock.Client {}
98101
99102 return ackrt .NewReconcilerWithClient (
100103 sc , kc , rmf , fakeLogger , cfg , metrics , ackrtcache.Caches {},
101- ), kc
104+ ), kc , scmd
102105}
103106
104107func managedResourceManagerFactoryMocks (
@@ -183,9 +186,9 @@ func TestReconcilerCreate_BackoffRetries(t *testing.T) {
183186 rd .On ("IsManaged" , desired ).Return (true )
184187 rd .On ("Delta" , desired , latest ).Return (ackcompare .NewDelta ())
185188 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
186- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
187189
188- r , kc := reconcilerMocks (rmf )
190+ r , kc , scmd := reconcilerMocks (rmf )
191+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
189192 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
190193 _ , err := r .Sync (ctx , rm , desired )
191194 require .Nil (err )
@@ -241,9 +244,9 @@ func TestReconcilerCreate_UnManagedResource_CheckReferencesResolveTwice(t *testi
241244 rd .On ("IsManaged" , desired ).Return (true )
242245 rd .On ("Delta" , desired , latest ).Return (ackcompare .NewDelta ())
243246 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
244- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
245247
246- r , kc := reconcilerMocks (rmf )
248+ r , kc , scmd := reconcilerMocks (rmf )
249+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
247250
248251 // pointers returned from "client.MergeFrom" fails the equality check during
249252 // assertion even when parameters inside two objects are same.
@@ -269,7 +272,7 @@ func TestReconcilerCreate_UnManagedResource_CheckReferencesResolveTwice(t *testi
269272 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
270273 rm .AssertCalled (t , "IsSynced" , ctx , latest )
271274 rm .AssertNumberOfCalls (t , "EnsureTags" , 2 )
272- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
275+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
273276}
274277
275278func TestReconcilerCreate_ManagedResource_CheckReferencesResolveOnce (t * testing.T ) {
@@ -319,9 +322,9 @@ func TestReconcilerCreate_ManagedResource_CheckReferencesResolveOnce(t *testing.
319322 rd .On ("IsManaged" , desired ).Return (true )
320323 rd .On ("Delta" , desired , latest ).Return (ackcompare .NewDelta ())
321324 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
322- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
323325
324- r , kc := reconcilerMocks (rmf )
326+ r , kc , scmd := reconcilerMocks (rmf )
327+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
325328
326329 // pointers returned from "client.MergeFrom" fails the equality check during
327330 // assertion even when parameters inside two objects are same.
@@ -347,7 +350,7 @@ func TestReconcilerCreate_ManagedResource_CheckReferencesResolveOnce(t *testing.
347350 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
348351 rm .AssertCalled (t , "IsSynced" , ctx , latest )
349352 rm .AssertNumberOfCalls (t , "EnsureTags" , 1 )
350- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
353+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
351354}
352355
353356func TestReconcilerUpdate (t * testing.T ) {
@@ -399,9 +402,9 @@ func TestReconcilerUpdate(t *testing.T) {
399402
400403 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
401404 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
402- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
403405
404- r , kc := reconcilerMocks (rmf )
406+ r , kc , scmd := reconcilerMocks (rmf )
407+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
405408
406409 // pointers returned from "client.MergeFrom" fails the equality check during
407410 // assertion even when parameters inside two objects are same.
@@ -427,7 +430,7 @@ func TestReconcilerUpdate(t *testing.T) {
427430 kc .AssertNotCalled (t , "Status" )
428431 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
429432 rm .AssertCalled (t , "IsSynced" , ctx , latest )
430- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
433+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
431434}
432435
433436func TestReconcilerUpdate_ResourceNotSynced (t * testing.T ) {
@@ -483,9 +486,9 @@ func TestReconcilerUpdate_ResourceNotSynced(t *testing.T) {
483486
484487 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
485488 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
486- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
487489
488- r , kc := reconcilerMocks (rmf )
490+ r , kc , scmd := reconcilerMocks (rmf )
491+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
489492
490493 // pointers returned from "client.MergeFrom" fails the equality check during
491494 // assertion even when parameters inside two objects are same.
@@ -509,7 +512,7 @@ func TestReconcilerUpdate_ResourceNotSynced(t *testing.T) {
509512 kc .AssertNotCalled (t , "Status" )
510513 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
511514 rm .AssertCalled (t , "IsSynced" , ctx , latest )
512- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
515+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
513516}
514517
515518func TestReconcilerUpdate_NoDelta_ResourceNotSynced (t * testing.T ) {
@@ -558,9 +561,9 @@ func TestReconcilerUpdate_NoDelta_ResourceNotSynced(t *testing.T) {
558561
559562 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
560563 rd .On ("Delta" , latest , latest ).Return (delta )
561- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
562564
563- r , kc := reconcilerMocks (rmf )
565+ r , kc , scmd := reconcilerMocks (rmf )
566+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
564567
565568 // pointers returned from "client.MergeFrom" fails the equality check during
566569 // assertion even when parameters inside two objects are same.
@@ -585,7 +588,7 @@ func TestReconcilerUpdate_NoDelta_ResourceNotSynced(t *testing.T) {
585588 kc .AssertNotCalled (t , "Status" )
586589 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
587590 rm .AssertCalled (t , "IsSynced" , ctx , latest )
588- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
591+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
589592}
590593
591594func TestReconcilerUpdate_NoDelta_ResourceSynced (t * testing.T ) {
@@ -634,9 +637,9 @@ func TestReconcilerUpdate_NoDelta_ResourceSynced(t *testing.T) {
634637
635638 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
636639 rd .On ("Delta" , latest , latest ).Return (delta )
637- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
638640
639- r , kc := reconcilerMocks (rmf )
641+ r , kc , scmd := reconcilerMocks (rmf )
642+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
640643
641644 // pointers returned from "client.MergeFrom" fails the equality check during
642645 // assertion even when parameters inside two objects are same.
@@ -661,7 +664,7 @@ func TestReconcilerUpdate_NoDelta_ResourceSynced(t *testing.T) {
661664 kc .AssertNotCalled (t , "Status" )
662665 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
663666 rm .AssertCalled (t , "IsSynced" , ctx , latest )
664- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
667+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
665668}
666669
667670func TestReconcilerUpdate_IsSyncedError (t * testing.T ) {
@@ -721,9 +724,9 @@ func TestReconcilerUpdate_IsSyncedError(t *testing.T) {
721724
722725 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
723726 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
724- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
725727
726- r , kc := reconcilerMocks (rmf )
728+ r , kc , scmd := reconcilerMocks (rmf )
729+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
727730
728731 // pointers returned from "client.MergeFrom" fails the equality check during
729732 // assertion even when parameters inside two objects are same.
@@ -747,7 +750,7 @@ func TestReconcilerUpdate_IsSyncedError(t *testing.T) {
747750 kc .AssertNotCalled (t , "Status" )
748751 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
749752 rm .AssertCalled (t , "IsSynced" , ctx , latest )
750- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
753+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
751754}
752755
753756func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInMetadata (t * testing.T ) {
@@ -795,9 +798,9 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInMetadata(t *testing.T) {
795798 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
796799 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
797800 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
798- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
799801
800- r , kc := reconcilerMocks (rmf )
802+ r , kc , scmd := reconcilerMocks (rmf )
803+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
801804
802805 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
803806
@@ -813,7 +816,7 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInMetadata(t *testing.T) {
813816 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
814817 latest .AssertCalled (t , "DeepCopy" )
815818 latest .AssertCalled (t , "SetStatus" , latest )
816- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
819+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
817820}
818821
819822func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInSpec (t * testing.T ) {
@@ -872,9 +875,9 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInSpec(t *testing.T) {
872875 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
873876 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
874877 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
875- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
876878
877- r , kc := reconcilerMocks (rmf )
879+ r , kc , scmd := reconcilerMocks (rmf )
880+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
878881
879882 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
880883
@@ -888,7 +891,7 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInSpec(t *testing.T) {
888891 // Only the HandleReconcilerError wrapper function ever calls patchResourceStatus
889892 kc .AssertNotCalled (t , "Status" )
890893 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
891- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
894+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
892895}
893896
894897func TestReconcilerHandleReconcilerError_PatchStatus_Latest (t * testing.T ) {
@@ -917,7 +920,7 @@ func TestReconcilerHandleReconcilerError_PatchStatus_Latest(t *testing.T) {
917920 latestMetaObj .SetAnnotations (map [string ]string {"a" : "b" })
918921
919922 rmf , _ := managedResourceManagerFactoryMocks (desired , latest )
920- r , kc := reconcilerMocks (rmf )
923+ r , kc , _ := reconcilerMocks (rmf )
921924
922925 statusWriter := & ctrlrtclientmock.StatusWriter {}
923926 kc .On ("Status" ).Return (statusWriter )
@@ -942,7 +945,7 @@ func TestReconcilerHandleReconcilerError_NoPatchStatus_NoLatest(t *testing.T) {
942945 desired .On ("ReplaceConditions" , []* ackv1alpha1.Condition {}).Return ()
943946
944947 rmf , _ := managedResourceManagerFactoryMocks (desired , nil )
945- r , kc := reconcilerMocks (rmf )
948+ r , kc , _ := reconcilerMocks (rmf )
946949
947950 statusWriter := & ctrlrtclientmock.StatusWriter {}
948951 kc .On ("Status" ).Return (statusWriter )
@@ -1019,9 +1022,9 @@ func TestReconcilerUpdate_ErrorInLateInitialization(t *testing.T) {
10191022 rm .On ("LateInitialize" , ctx , latest ).Return (latest , requeueError )
10201023 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
10211024 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
1022- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
10231025
1024- r , kc := reconcilerMocks (rmf )
1026+ r , kc , scmd := reconcilerMocks (rmf )
1027+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
10251028
10261029 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
10271030
@@ -1036,7 +1039,7 @@ func TestReconcilerUpdate_ErrorInLateInitialization(t *testing.T) {
10361039 // No difference in desired, latest metadata and spec
10371040 kc .AssertNotCalled (t , "Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" ))
10381041 rm .AssertCalled (t , "LateInitialize" , ctx , latest )
1039- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
1042+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
10401043}
10411044
10421045func TestReconcilerUpdate_ResourceNotManaged (t * testing.T ) {
@@ -1124,11 +1127,11 @@ func TestReconcilerUpdate_ResourceNotManaged(t *testing.T) {
11241127 latest , nil ,
11251128 )
11261129 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
1127- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
11281130
11291131 rmf , rd := managerFactoryMocks (desired , latest , false )
11301132
1131- r , _ := reconcilerMocks (rmf )
1133+ r , _ , scmd := reconcilerMocks (rmf )
1134+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
11321135
11331136 _ , err := r .Sync (ctx , rm , desired )
11341137 require .NotNil (err )
@@ -1138,7 +1141,7 @@ func TestReconcilerUpdate_ResourceNotManaged(t *testing.T) {
11381141 rd .AssertNotCalled (t , "Delta" , desired , latest )
11391142 rm .AssertNotCalled (t , "Update" , ctx , desired , latest , delta )
11401143 rm .AssertNotCalled (t , "LateInitialize" , ctx , latest )
1141- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
1144+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
11421145}
11431146
11441147func TestReconcilerUpdate_ResolveReferencesError (t * testing.T ) {
@@ -1201,9 +1204,9 @@ func TestReconcilerUpdate_ResolveReferencesError(t *testing.T) {
12011204 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
12021205 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
12031206 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
1204- rm .On ("EnsureTags" , ctx , desired ).Return (nil )
12051207
1206- r , kc := reconcilerMocks (rmf )
1208+ r , kc , scmd := reconcilerMocks (rmf )
1209+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (nil )
12071210
12081211 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
12091212
@@ -1223,7 +1226,7 @@ func TestReconcilerUpdate_ResolveReferencesError(t *testing.T) {
12231226 // Only the HandleReconcilerError wrapper function ever calls patchResourceStatus
12241227 kc .AssertNotCalled (t , "Status" )
12251228 rm .AssertNotCalled (t , "LateInitialize" , ctx , latest )
1226- rm .AssertNotCalled (t , "EnsureTags" , ctx , desired )
1229+ rm .AssertNotCalled (t , "EnsureTags" , ctx , desired , scmd )
12271230}
12281231
12291232func TestReconcilerUpdate_EnsureControllerTagsError (t * testing.T ) {
@@ -1284,12 +1287,12 @@ func TestReconcilerUpdate_EnsureControllerTagsError(t *testing.T) {
12841287 rm .On ("LateInitialize" , ctx , latest ).Return (latest , nil )
12851288 rm .On ("IsSynced" , ctx , latest ).Return (true , nil )
12861289 rd .On ("Delta" , latest , latest ).Return (ackcompare .NewDelta ())
1287- rm .On ("EnsureTags" , ctx , desired ).Return (
1290+
1291+ r , kc , scmd := reconcilerMocks (rmf )
1292+ rm .On ("EnsureTags" , ctx , desired , scmd ).Return (
12881293 ensureControllerTagsError ,
12891294 )
12901295
1291- r , kc := reconcilerMocks (rmf )
1292-
12931296 kc .On ("Patch" , ctx , latestRTObj , mock .AnythingOfType ("*client.mergeFromPatch" )).Return (nil )
12941297
12951298 // With the above mocks and below assertions, we check that if we got a
@@ -1308,5 +1311,5 @@ func TestReconcilerUpdate_EnsureControllerTagsError(t *testing.T) {
13081311 // Only the HandleReconcilerError wrapper function ever calls patchResourceStatus
13091312 kc .AssertNotCalled (t , "Status" )
13101313 rm .AssertNotCalled (t , "LateInitialize" , ctx , latest )
1311- rm .AssertCalled (t , "EnsureTags" , ctx , desired )
1314+ rm .AssertCalled (t , "EnsureTags" , ctx , desired , scmd )
13121315}
0 commit comments