@@ -19,6 +19,7 @@ package refmanager
1919import (
2020 "context"
2121
22+ corev1 "k8s.io/api/core/v1"
2223 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2324 "sigs.k8s.io/controller-runtime/pkg/client"
2425)
@@ -28,20 +29,20 @@ func (s *ownerReferenceTestSute) TestAdopt() {
2829
2930 testcase := []struct {
3031 name string
31- object client. Object
32+ pod * corev1. Pod
3233 wantErr bool
3334 }{
3435 {
35- name : "adopt orpha pod" ,
36- object : newFakePod (nil ),
36+ name : "adopt orpha pod" ,
37+ pod : newFakePod (nil ),
3738 },
3839 {
39- name : "adopt owned pod" ,
40- object : newFakePod (s .owner ),
40+ name : "adopt owned pod" ,
41+ pod : newFakePod (s .owner ),
4142 },
4243 {
4344 name : "adopt pod with conflict" ,
44- object : newFakePod (s .deferentOwner ),
45+ pod : newFakePod (s .deferentOwner ),
4546 wantErr : true ,
4647 },
4748 }
@@ -50,15 +51,20 @@ func (s *ownerReferenceTestSute) TestAdopt() {
5051 test := testcase [i ]
5152 s .Run (test .name , func () {
5253 // create object
53- err := s .client .Create (context .TODO (), test .object )
54+ err := s .client .Create (context .TODO (), test .pod )
5455 s .NoError (err )
5556
56- err = writer .Adopt (context .TODO (), s .owner , s .ownerGVK , test .object )
57+ err = writer .Adopt (context .TODO (), s .owner , s .ownerGVK , test .pod )
5758 if test .wantErr {
5859 s .Error (err )
5960 } else {
6061 s .NoError (err )
61- owner := metav1 .GetControllerOfNoCopy (test .object )
62+ // get pod from client
63+ pod := & corev1.Pod {}
64+ err = s .client .Get (context .TODO (), client .ObjectKeyFromObject (test .pod ), pod )
65+ s .Require ().NoError (err )
66+ owner := metav1 .GetControllerOfNoCopy (pod )
67+ s .Require ().NotNil (owner )
6268 s .True (ReferSameObject (s .ownerRef , * owner ), "the controller owner reference must be the same" )
6369 }
6470 })
@@ -69,33 +75,37 @@ func (s *ownerReferenceTestSute) TestRelease() {
6975 writer := NewOwnerRefWriter (s .client )
7076
7177 testcase := []struct {
72- name string
73- object client.Object
78+ name string
79+ pod client.Object
7480 }{
7581 {
76- name : "release orphan pod, nothing changed" ,
77- object : newFakePod (nil ),
82+ name : "release orphan pod, nothing changed" ,
83+ pod : newFakePod (nil ),
7884 },
7985 {
80- name : "release owned pod" ,
81- object : newFakePod (s .owner ),
86+ name : "release owned pod" ,
87+ pod : newFakePod (s .owner ),
8288 },
8389 {
84- name : "release pod controlled by other object" ,
85- object : newFakePod (s .deferentOwner ),
90+ name : "release pod controlled by other object" ,
91+ pod : newFakePod (s .deferentOwner ),
8692 },
8793 }
8894
8995 for i := range testcase {
9096 test := testcase [i ]
9197 s .Run (test .name , func () {
9298 // create object
93- err := s .client .Create (context .TODO (), test .object )
99+ err := s .client .Create (context .TODO (), test .pod )
94100 s .NoError (err )
95101
96- writer .Release (context .TODO (), s .owner , test .object ) // nolint
97- owner := metav1 .GetControllerOfNoCopy (test .object )
102+ writer .Release (context .TODO (), s .owner , test .pod ) // nolint
98103
104+ // get pod from client
105+ pod := & corev1.Pod {}
106+ err = s .client .Get (context .TODO (), client .ObjectKeyFromObject (test .pod ), pod )
107+ s .Require ().NoError (err )
108+ owner := metav1 .GetControllerOfNoCopy (pod )
99109 if owner != nil {
100110 s .False (ReferSameObject (s .ownerRef , * owner ), "the controller owner reference must not be the same" )
101111 }
0 commit comments