@@ -27,7 +27,6 @@ import (
27
27
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28
28
"k8s.io/apimachinery/pkg/runtime"
29
29
"k8s.io/apimachinery/pkg/runtime/schema"
30
- "k8s.io/apimachinery/pkg/types"
31
30
clusterv1 "sigs.k8s.io/cluster-api/api/v1alpha3"
32
31
ctrl "sigs.k8s.io/controller-runtime"
33
32
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -313,51 +312,107 @@ func TestHasOwner(t *testing.T) {
313
312
func TestPointsTo (t * testing.T ) {
314
313
g := NewWithT (t )
315
314
316
- targetID := "fri3ndsh1p"
315
+ targetGroup := "ponies.info"
316
+ targetKind := "Rainbow"
317
+ targetName := "fri3ndsh1p"
317
318
318
- meta := metav1.ObjectMeta {
319
- UID : types .UID (targetID ),
319
+ meta := struct {
320
+ metav1.ObjectMeta
321
+ metav1.TypeMeta
322
+ }{
323
+ metav1.ObjectMeta {
324
+ Name : targetName ,
325
+ },
326
+ metav1.TypeMeta {
327
+ APIVersion : "ponies.info/v1" ,
328
+ Kind : targetKind ,
329
+ },
320
330
}
321
331
322
332
tests := []struct {
323
333
name string
324
- refIDs [] string
334
+ refs []metav1. OwnerReference
325
335
expected bool
326
336
}{
327
337
{
328
338
name : "empty owner list" ,
329
339
},
330
340
{
331
- name : "single wrong owner ref" ,
332
- refIDs : []string {"m4g1c" },
341
+ name : "single wrong name owner ref" ,
342
+ refs : []metav1.OwnerReference {{
343
+ APIVersion : targetGroup + "/v1" ,
344
+ Kind : targetKind ,
345
+ Name : "m4g1c" ,
346
+ }},
333
347
},
334
348
{
335
- name : "single right owner ref" ,
336
- refIDs : []string {targetID },
349
+ name : "single wrong group owner ref" ,
350
+ refs : []metav1.OwnerReference {{
351
+ APIVersion : "dazzlings.info/v1" ,
352
+ Kind : "Twilight" ,
353
+ Name : "m4g1c" ,
354
+ }},
355
+ },
356
+ {
357
+ name : "single wrong kind owner ref" ,
358
+ refs : []metav1.OwnerReference {{
359
+ APIVersion : targetGroup + "/v1" ,
360
+ Kind : "Twilight" ,
361
+ Name : "m4g1c" ,
362
+ }},
363
+ },
364
+ {
365
+ name : "single right owner ref" ,
366
+ refs : []metav1.OwnerReference {{
367
+ APIVersion : targetGroup + "/v1" ,
368
+ Kind : targetKind ,
369
+ Name : targetName ,
370
+ }},
337
371
expected : true ,
338
372
},
339
373
{
340
- name : "multiple wrong refs" ,
341
- refIDs : []string {"m4g1c" , "h4rm0ny" },
374
+ name : "single right owner ref (different version)" ,
375
+ refs : []metav1.OwnerReference {{
376
+ APIVersion : targetGroup + "/v2alpha2" ,
377
+ Kind : targetKind ,
378
+ Name : targetName ,
379
+ }},
380
+ expected : true ,
342
381
},
343
382
{
344
- name : "multiple refs one right" ,
345
- refIDs : []string {"m4g1c" , targetID },
383
+ name : "multiple wrong refs" ,
384
+ refs : []metav1.OwnerReference {{
385
+ APIVersion : targetGroup + "/v1" ,
386
+ Kind : targetKind ,
387
+ Name : "m4g1c" ,
388
+ }, {
389
+ APIVersion : targetGroup + "/v1" ,
390
+ Kind : targetKind ,
391
+ Name : "h4rm0ny" ,
392
+ }},
393
+ },
394
+ {
395
+ name : "multiple refs one right" ,
396
+ refs : []metav1.OwnerReference {{
397
+ APIVersion : targetGroup + "/v1" ,
398
+ Kind : targetKind ,
399
+ Name : "m4g1c" ,
400
+ }, {
401
+ APIVersion : targetGroup + "/v1" ,
402
+ Kind : targetKind ,
403
+ Name : targetName ,
404
+ }},
346
405
expected : true ,
347
406
},
348
407
}
349
408
350
409
for _ , test := range tests {
351
410
t .Run (test .name , func (t * testing.T ) {
352
- pointer := & metav1.ObjectMeta {}
353
-
354
- for _ , ref := range test .refIDs {
355
- pointer .OwnerReferences = append (pointer .OwnerReferences , metav1.OwnerReference {
356
- UID : types .UID (ref ),
357
- })
411
+ pointer := & metav1.ObjectMeta {
412
+ OwnerReferences : test .refs ,
358
413
}
359
414
360
- g .Expect (PointsTo (pointer . OwnerReferences , & meta )).To (Equal (test .expected ))
415
+ g .Expect (PointsTo (pointer , & meta )).To (Equal (test .expected ), "Could not find a ref to %+v in %+v" , meta , test . refs )
361
416
})
362
417
}
363
418
}
0 commit comments