@@ -17,7 +17,6 @@ limitations under the License.
1717package client
1818
1919import (
20- "bytes"
2120 "context"
2221 "errors"
2322 "strconv"
@@ -27,7 +26,6 @@ import (
2726 . "github.com/onsi/gomega"
2827 "helm.sh/helm/v3/pkg/action"
2928 "helm.sh/helm/v3/pkg/chartutil"
30- "helm.sh/helm/v3/pkg/kube"
3129 "helm.sh/helm/v3/pkg/release"
3230 "helm.sh/helm/v3/pkg/releaseutil"
3331 "helm.sh/helm/v3/pkg/storage/driver"
@@ -40,6 +38,7 @@ import (
4038 "k8s.io/apimachinery/pkg/runtime/schema"
4139 apitypes "k8s.io/apimachinery/pkg/types"
4240 "k8s.io/cli-runtime/pkg/resource"
41+ "k8s.io/utils/pointer"
4342 "sigs.k8s.io/controller-runtime/pkg/client"
4443 "sigs.k8s.io/controller-runtime/pkg/client/apiutil"
4544 "sigs.k8s.io/yaml"
@@ -141,7 +140,7 @@ var _ = Describe("ActionClient", func() {
141140 Expect (err ).To (BeNil ())
142141 Expect (rel ).NotTo (BeNil ())
143142 })
144- verifyRelease (cl , obj . GetNamespace () , rel )
143+ verifyRelease (cl , obj , rel )
145144 })
146145 It ("should uninstall a failed install" , func () {
147146 By ("failing to install the release" , func () {
@@ -209,7 +208,7 @@ var _ = Describe("ActionClient", func() {
209208 Expect (err ).To (BeNil ())
210209 Expect (rel ).NotTo (BeNil ())
211210 })
212- verifyRelease (cl , obj . GetNamespace () , rel )
211+ verifyRelease (cl , obj , rel )
213212 })
214213 When ("using an option function that returns an error" , func () {
215214 It ("should fail" , func () {
@@ -253,7 +252,7 @@ var _ = Describe("ActionClient", func() {
253252 Expect (err ).To (BeNil ())
254253 Expect (rel ).NotTo (BeNil ())
255254 })
256- verifyRelease (cl , obj . GetNamespace () , rel )
255+ verifyRelease (cl , obj , rel )
257256 })
258257 It ("should rollback a failed upgrade" , func () {
259258 By ("failing to install the release" , func () {
@@ -265,7 +264,7 @@ var _ = Describe("ActionClient", func() {
265264 tmp := * installedRelease
266265 rollbackRelease := & tmp
267266 rollbackRelease .Version = installedRelease .Version + 2
268- verifyRelease (cl , obj . GetNamespace () , rollbackRelease )
267+ verifyRelease (cl , obj , rollbackRelease )
269268 })
270269 When ("using an option function that returns an error" , func () {
271270 It ("should fail" , func () {
@@ -305,7 +304,7 @@ var _ = Describe("ActionClient", func() {
305304 err := ac .Reconcile (installedRelease )
306305 Expect (err ).To (BeNil ())
307306 })
308- verifyRelease (cl , obj . GetNamespace () , installedRelease )
307+ verifyRelease (cl , obj , installedRelease )
309308 })
310309 It ("should re-create deleted resources" , func () {
311310 By ("deleting the manifest resources" , func () {
@@ -319,7 +318,7 @@ var _ = Describe("ActionClient", func() {
319318 err := ac .Reconcile (installedRelease )
320319 Expect (err ).To (BeNil ())
321320 })
322- verifyRelease (cl , obj . GetNamespace () , installedRelease )
321+ verifyRelease (cl , obj , installedRelease )
323322 })
324323 It ("should patch changed resources" , func () {
325324 By ("changing manifest resources" , func () {
@@ -344,7 +343,7 @@ var _ = Describe("ActionClient", func() {
344343 err := ac .Reconcile (installedRelease )
345344 Expect (err ).To (BeNil ())
346345 })
347- verifyRelease (cl , obj . GetNamespace () , installedRelease )
346+ verifyRelease (cl , obj , installedRelease )
348347 })
349348 })
350349 })
@@ -516,34 +515,6 @@ var _ = Describe("ActionClient", func() {
516515 Expect (patchType ).To (Equal (apitypes .StrategicMergePatchType ))
517516 })
518517 })
519-
520- var _ = Describe ("ownerPostRenderer" , func () {
521- var (
522- pr ownerPostRenderer
523- owner client.Object
524- )
525-
526- BeforeEach (func () {
527- rm , err := apiutil .NewDynamicRESTMapper (cfg )
528- Expect (err ).To (BeNil ())
529-
530- owner = newTestUnstructured ([]interface {}{
531- map [string ]interface {}{
532- "name" : "test1" ,
533- },
534- })
535- pr = ownerPostRenderer {
536- owner : owner ,
537- rm : rm ,
538- kubeClient : kube .New (newRESTClientGetter (cfg , rm , owner .GetNamespace ())),
539- }
540- })
541-
542- It ("fails on invalid input" , func () {
543- _ , err := pr .Run (bytes .NewBufferString ("test" ))
544- Expect (err ).NotTo (BeNil ())
545- })
546- })
547518})
548519
549520func manifestToObjects (manifest string ) []client.Object {
@@ -557,10 +528,10 @@ func manifestToObjects(manifest string) []client.Object {
557528 return objs
558529}
559530
560- func verifyRelease (cl client.Client , ns string , rel * release.Release ) {
531+ func verifyRelease (cl client.Client , owner client. Object , rel * release.Release ) {
561532 By ("verifying release secret exists at release version" , func () {
562533 releaseSecrets := & v1.SecretList {}
563- err := cl .List (context .TODO (), releaseSecrets , client .InNamespace (ns ), client.MatchingLabels {"owner" : "helm" , "name" : rel .Name })
534+ err := cl .List (context .TODO (), releaseSecrets , client .InNamespace (owner . GetNamespace () ), client.MatchingLabels {"owner" : "helm" , "name" : rel .Name })
564535 Expect (err ).To (BeNil ())
565536 Expect (releaseSecrets .Items ).To (HaveLen (rel .Version ))
566537 Expect (releaseSecrets .Items [rel .Version - 1 ].Type ).To (Equal (v1 .SecretType ("helm.sh/release.v1" )))
@@ -578,6 +549,17 @@ func verifyRelease(cl client.Client, ns string, rel *release.Release) {
578549 key := client .ObjectKeyFromObject (obj )
579550 err := cl .Get (context .TODO (), key , obj )
580551 Expect (err ).To (BeNil ())
552+ Expect (obj .GetOwnerReferences ()).To (HaveLen (1 ))
553+ Expect (obj .GetOwnerReferences ()[0 ]).To (Equal (
554+ metav1.OwnerReference {
555+ APIVersion : owner .GetObjectKind ().GroupVersionKind ().GroupVersion ().String (),
556+ Kind : owner .GetObjectKind ().GroupVersionKind ().Kind ,
557+ Name : owner .GetName (),
558+ UID : owner .GetUID (),
559+ Controller : pointer .Bool (true ),
560+ BlockOwnerDeletion : pointer .Bool (true ),
561+ }),
562+ )
581563 }
582564 })
583565}
0 commit comments