@@ -6,8 +6,10 @@ import (
66
77 appsv1 "k8s.io/api/apps/v1"
88 corev1 "k8s.io/api/core/v1"
9+ "k8s.io/apimachinery/pkg/api/errors"
910 "k8s.io/apimachinery/pkg/api/resource"
1011 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12+ "k8s.io/apimachinery/pkg/runtime/schema"
1113 "k8s.io/apimachinery/pkg/types"
1214 "sigs.k8s.io/controller-runtime/pkg/client"
1315
@@ -352,6 +354,57 @@ func TestCreateOrApplyDeployments(t *testing.T) {
352354 },
353355 wantErr : `failed to update resource requirements: invalid resource requirements: [spec.resources.requests[test]: Invalid value: test: must be a standard resource type or fully qualified, spec.resources.requests[test]: Invalid value: test: must be a standard resource for containers]` ,
354356 },
357+ {
358+ name : "cert-controller deployment deletion fails" ,
359+ preReq : func (r * Reconciler , m * fakes.FakeCtrlClient ) {
360+ m .ExistsCalls (func (ctx context.Context , ns types.NamespacedName , obj client.Object ) (bool , error ) {
361+ switch o := obj .(type ) {
362+ case * appsv1.Deployment :
363+ deployment := testDeployment (certControllerDeploymentAssetName )
364+ deployment .DeepCopyInto (o )
365+ }
366+ return true , nil
367+ })
368+ m .DeleteCalls (func (ctx context.Context , obj client.Object , opts ... client.DeleteOption ) error {
369+ return commontest .TestClientError
370+ })
371+ },
372+ updateExternalSecrets : func (i * v1alpha1.ExternalSecrets ) {
373+ if i .Spec .ExternalSecretsConfig == nil {
374+ i .Spec .ExternalSecretsConfig = & v1alpha1.ExternalSecretsConfig {
375+ CertManagerConfig : & v1alpha1.CertManagerConfig {
376+ Enabled : "true" ,
377+ },
378+ }
379+ }
380+ },
381+ wantErr : `failed to delete deployment resource: test client error` ,
382+ },
383+ {
384+ name : "cert-controller deployment NotFound, deletion is marked successful" ,
385+ preReq : func (r * Reconciler , m * fakes.FakeCtrlClient ) {
386+ m .ExistsCalls (func (ctx context.Context , ns types.NamespacedName , obj client.Object ) (bool , error ) {
387+ switch o := obj .(type ) {
388+ case * appsv1.Deployment :
389+ deployment := testDeployment (certControllerDeploymentAssetName )
390+ deployment .DeepCopyInto (o )
391+ }
392+ return true , nil
393+ })
394+ m .DeleteCalls (func (ctx context.Context , obj client.Object , opts ... client.DeleteOption ) error {
395+ return errors .NewNotFound (schema.GroupResource {}, obj .GetName ())
396+ })
397+ },
398+ updateExternalSecrets : func (i * v1alpha1.ExternalSecrets ) {
399+ if i .Spec .ExternalSecretsConfig == nil {
400+ i .Spec .ExternalSecretsConfig = & v1alpha1.ExternalSecretsConfig {
401+ CertManagerConfig : & v1alpha1.CertManagerConfig {
402+ Enabled : "true" ,
403+ },
404+ }
405+ }
406+ },
407+ },
355408 }
356409
357410 for _ , tt := range tests {
0 commit comments