@@ -28,6 +28,7 @@ import (
2828 ctrl "sigs.k8s.io/controller-runtime"
2929 "sigs.k8s.io/controller-runtime/pkg/client"
3030 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
31+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
3132)
3233
3334func TestReconcile_FinalizerUpdateError (t * testing.T ) {
@@ -79,7 +80,11 @@ func TestReconcile_FinalizerUpdateError(t *testing.T) {
7980 ctx := context .TODO ()
8081 _ , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
8182 if err == nil {
82- t .Fatalf ("expecting an error, got nil" )
83+ t .Fatalf ("expected an error, got nil" )
84+ }
85+
86+ if errors .Is (err , reconcile .TerminalError (nil )) {
87+ t .Fatalf ("expected non-terminal error, got %v" , err )
8388 }
8489
8590 if ! strings .Contains (err .Error (), expectedErrorMsg ) {
@@ -138,8 +143,8 @@ func TestReconcile_HelmValuesLoadError(t *testing.T) {
138143
139144 ctx := context .TODO ()
140145 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
141- if err != nil {
142- t .Errorf ("unexpected error: %v" , err )
146+ if ! errors . Is ( err , reconcile . TerminalError ( nil )) {
147+ t .Errorf ("expected terminal error, got : %v" , err )
143148 }
144149
145150 if rs .RequeueAfter != 0 {
@@ -201,8 +206,8 @@ func TestReconcile_HelmVersionResolutionError(t *testing.T) {
201206
202207 ctx := context .TODO ()
203208 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
204- if err != nil {
205- t .Errorf ("unexpected error: %v" , err )
209+ if ! errors . Is ( err , reconcile . TerminalError ( nil )) {
210+ t .Errorf ("expected terminal error, got : %v" , err )
206211 }
207212
208213 if rs .RequeueAfter != 0 {
@@ -259,8 +264,8 @@ func TestReconcile_TargetsBuildingError(t *testing.T) {
259264
260265 ctx := context .TODO ()
261266 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
262- if err != nil {
263- t .Errorf ("unexpected error: %v" , err )
267+ if ! errors . Is ( err , reconcile . TerminalError ( nil )) {
268+ t .Errorf ("expected terminal error, got : %v" , err )
264269 }
265270
266271 if rs .RequeueAfter != 0 {
@@ -343,8 +348,8 @@ func TestReconcile_StatusResetFromTargetsError(t *testing.T) {
343348
344349 ctx := context .TODO ()
345350 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
346- if err != nil {
347- t .Errorf ("unexpected error: %v" , err )
351+ if ! errors . Is ( err , reconcile . TerminalError ( nil )) {
352+ t .Errorf ("expected terminal error, got : %v" , err )
348353 }
349354
350355 if rs .RequeueAfter != 0 {
@@ -426,7 +431,9 @@ func TestReconcile_ManifestStorageError(t *testing.T) {
426431 ctx := context .TODO ()
427432 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
428433
429- if err != nil {
434+ if c .expectedStatusPatchErrMsg != "" && ! errors .Is (err , reconcile .TerminalError (nil )) {
435+ t .Errorf ("expected terminal error, got: %v" , err )
436+ } else if c .expectedStatusPatchErrMsg == "" && err != nil {
430437 t .Errorf ("unexpected error: %v" , err )
431438 }
432439
@@ -737,7 +744,9 @@ func TestReconcile_OCIReferenceSecretResolutionError(t *testing.T) {
737744 ctx := context .TODO ()
738745 rs , err := r .Reconcile (ctx , ctrl.Request {NamespacedName : namespacedName })
739746
740- if err != nil {
747+ if c .expectStatusUpdate && ! errors .Is (err , reconcile .TerminalError (nil )) {
748+ t .Errorf ("expected terminal error, got: %v" , err )
749+ } else if ! c .expectStatusUpdate && err != nil {
741750 t .Errorf ("unexpected error: %v" , err )
742751 }
743752
0 commit comments