@@ -38,15 +38,11 @@ import (
3838 ackmocks "github.com/aws-controllers-k8s/runtime/mocks/pkg/types"
3939)
4040
41- func TestReconcilerUpdate (t * testing.T ) {
42- require := require .New (t )
43-
44- ctx := context .TODO ()
45- arn := ackv1alpha1 .AWSResourceName ("mybook-arn" )
46-
47- delta := ackcompare .NewDelta ()
48- delta .Add ("Spec.A" , "val1" , "val2" )
49-
41+ func resourceMocks () (
42+ * ackmocks.AWSResource , // mocked resource
43+ * k8srtmocks.Object , // mocked k8s controller-runtime RuntimeObject
44+ * k8sobj.Unstructured , // NON-mocked k8s apimachinery meta object
45+ ) {
5046 objKind := & k8srtschemamocks.ObjectKind {}
5147 objKind .On ("GroupVersionKind" ).Return (
5248 k8srtschema.GroupVersionKind {
@@ -56,38 +52,40 @@ func TestReconcilerUpdate(t *testing.T) {
5652 },
5753 )
5854
59- desiredRTObj := & k8srtmocks.Object {}
60- desiredRTObj .On ("GetObjectKind" ).Return (objKind )
61- desiredRTObj .On ("DeepCopyObject" ).Return (desiredRTObj )
55+ rtObj := & k8srtmocks.Object {}
56+ rtObj .On ("GetObjectKind" ).Return (objKind )
57+ rtObj .On ("DeepCopyObject" ).Return (rtObj )
6258
63- desiredMetaObj := & k8sobj.Unstructured {}
64- desiredMetaObj .SetAnnotations (map [string ]string {})
65- desiredMetaObj .SetNamespace ("default" )
66- desiredMetaObj .SetName ("mybook" )
67- desiredMetaObj .SetGeneration (int64 (1 ))
59+ metaObj := & k8sobj.Unstructured {}
60+ metaObj .SetAnnotations (map [string ]string {})
61+ metaObj .SetNamespace ("default" )
62+ metaObj .SetName ("mybook" )
63+ metaObj .SetGeneration (int64 (1 ))
6864
69- desired := & ackmocks.AWSResource {}
70- desired .On ("MetaObject" ).Return (desiredMetaObj )
71- desired .On ("RuntimeObject" ).Return (desiredRTObj )
65+ res := & ackmocks.AWSResource {}
66+ res .On ("MetaObject" ).Return (metaObj )
67+ res .On ("RuntimeObject" ).Return (rtObj )
7268
73- ids := & ackmocks.AWSResourceIdentifiers {}
74- ids .On ("ARN" ).Return (& arn )
69+ return res , rtObj , metaObj
70+ }
71+
72+ func TestReconcilerUpdate (t * testing.T ) {
73+ require := require .New (t )
7574
76- latestRTObj := & k8srtmocks.Object {}
77- latestRTObj .On ("GetObjectKind" ).Return (objKind )
78- latestRTObj .On ("DeepCopyObject" ).Return (latestRTObj )
75+ ctx := context .TODO ()
76+ arn := ackv1alpha1 .AWSResourceName ("mybook-arn" )
77+
78+ delta := ackcompare .NewDelta ()
79+ delta .Add ("Spec.A" , "val1" , "val2" )
7980
80- latestMetaObj := & k8sobj.Unstructured {}
81- latestMetaObj .SetAnnotations (map [string ]string {})
82- latestMetaObj .SetNamespace ("default" )
83- latestMetaObj .SetName ("mybook" )
84- latestMetaObj .SetGeneration (int64 (1 ))
81+ desired , desiredRTObj , _ := resourceMocks ()
8582
86- latest := & ackmocks.AWSResource {}
83+ ids := & ackmocks.AWSResourceIdentifiers {}
84+ ids .On ("ARN" ).Return (& arn )
85+
86+ latest , latestRTObj , _ := resourceMocks ()
8787 latest .On ("Identifiers" ).Return (ids )
8888 latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
89- latest .On ("MetaObject" ).Return (latestMetaObj )
90- latest .On ("RuntimeObject" ).Return (latestRTObj )
9189
9290 rd := & ackmocks.AWSResourceDescriptor {}
9391 rd .On ("GroupKind" ).Return (
@@ -163,48 +161,17 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInMetadata(t *testing.T) {
163161 delta := ackcompare .NewDelta ()
164162 delta .Add ("Spec.A" , "val1" , "val2" )
165163
166- objKind := & k8srtschemamocks.ObjectKind {}
167- objKind .On ("GroupVersionKind" ).Return (
168- k8srtschema.GroupVersionKind {
169- Group : "bookstore.services.k8s.aws" ,
170- Kind : "Book" ,
171- Version : "v1alpha1" ,
172- },
173- )
174-
175- desiredRTObj := & k8srtmocks.Object {}
176- desiredRTObj .On ("GetObjectKind" ).Return (objKind )
177- desiredRTObj .On ("DeepCopyObject" ).Return (desiredRTObj )
178-
179- desiredMetaObj := & k8sobj.Unstructured {}
180- desiredMetaObj .SetAnnotations (map [string ]string {})
181- desiredMetaObj .SetNamespace ("default" )
182- desiredMetaObj .SetName ("mybook" )
183- desiredMetaObj .SetGeneration (int64 (1 ))
184-
185- desired := & ackmocks.AWSResource {}
186- desired .On ("MetaObject" ).Return (desiredMetaObj )
187- desired .On ("RuntimeObject" ).Return (desiredRTObj )
164+ desired , desiredRTObj , _ := resourceMocks ()
188165
189166 ids := & ackmocks.AWSResourceIdentifiers {}
190167 ids .On ("ARN" ).Return (& arn )
191168
192- latestRTObj := & k8srtmocks. Object {}
193- latestRTObj .On ("GetObjectKind " ).Return (objKind )
194- latestRTObj .On ("DeepCopyObject " ).Return (latestRTObj )
169+ latest , latestRTObj , latestMetaObj := resourceMocks ()
170+ latest .On ("Identifiers " ).Return (ids )
171+ latest .On ("Conditions " ).Return ([] * ackv1alpha1. Condition {} )
195172
196- latestMetaObj := & k8sobj.Unstructured {}
197173 // Note the change in annotaions
198174 latestMetaObj .SetAnnotations (map [string ]string {"a" : "b" })
199- latestMetaObj .SetNamespace ("default" )
200- latestMetaObj .SetName ("mybook" )
201- latestMetaObj .SetGeneration (int64 (1 ))
202-
203- latest := & ackmocks.AWSResource {}
204- latest .On ("Identifiers" ).Return (ids )
205- latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
206- latest .On ("MetaObject" ).Return (latestMetaObj )
207- latest .On ("RuntimeObject" ).Return (latestRTObj )
208175
209176 rd := & ackmocks.AWSResourceDescriptor {}
210177 rd .On ("GroupKind" ).Return (
@@ -280,48 +247,15 @@ func TestReconcilerUpdate_PatchMetadataAndSpec_DiffInSpec(t *testing.T) {
280247 delta := ackcompare .NewDelta ()
281248 delta .Add ("Spec.A" , "val1" , "val2" )
282249
283- objKind := & k8srtschemamocks.ObjectKind {}
284- objKind .On ("GroupVersionKind" ).Return (
285- k8srtschema.GroupVersionKind {
286- Group : "bookstore.services.k8s.aws" ,
287- Kind : "Book" ,
288- Version : "v1alpha1" ,
289- },
290- )
291-
292- desiredRTObj := & k8srtmocks.Object {}
293- desiredRTObj .On ("GetObjectKind" ).Return (objKind )
294- desiredRTObj .On ("DeepCopyObject" ).Return (desiredRTObj )
295-
296- desiredMetaObj := & k8sobj.Unstructured {}
297- desiredMetaObj .SetAnnotations (map [string ]string {})
298- desiredMetaObj .SetNamespace ("default" )
299- desiredMetaObj .SetName ("mybook" )
300- desiredMetaObj .SetGeneration (int64 (1 ))
301-
302- desired := & ackmocks.AWSResource {}
303- desired .On ("MetaObject" ).Return (desiredMetaObj )
304- desired .On ("RuntimeObject" ).Return (desiredRTObj )
250+ desired , desiredRTObj , _ := resourceMocks ()
305251
306252 ids := & ackmocks.AWSResourceIdentifiers {}
307253 ids .On ("ARN" ).Return (& arn )
308254
309- latestRTObj := & k8srtmocks.Object {}
310- latestRTObj .On ("GetObjectKind" ).Return (objKind )
311- latestRTObj .On ("DeepCopyObject" ).Return (latestRTObj )
312-
313- latestMetaObj := & k8sobj.Unstructured {}
314- // Note Similar metadata
315- latestMetaObj .SetAnnotations (map [string ]string {})
316- latestMetaObj .SetNamespace ("default" )
317- latestMetaObj .SetName ("mybook" )
318- latestMetaObj .SetGeneration (int64 (1 ))
319-
320- latest := & ackmocks.AWSResource {}
255+ latest , latestRTObj , _ := resourceMocks ()
321256 latest .On ("Identifiers" ).Return (ids )
322257 latest .On ("Conditions" ).Return ([]* ackv1alpha1.Condition {})
323- latest .On ("MetaObject" ).Return (latestMetaObj )
324- latest .On ("RuntimeObject" ).Return (latestRTObj )
258+ // Note no change to metadata...
325259
326260 rd := & ackmocks.AWSResourceDescriptor {}
327261 rd .On ("GroupKind" ).Return (
0 commit comments