Sfoglia il codice sorgente

All events in Reconcile method tested

Co-authored-by: James Cleveland <james.cleveland@engineerbetter.com>
Dominic Meddick 4 anni fa
parent
commit
cd75c8c0ae

+ 3 - 1
pkg/controllers/pushsecret/pushsecret_controller.go

@@ -61,7 +61,9 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
 	if apierrors.IsNotFound(err) {
 		return ctrl.Result{}, nil
 	} else if err != nil {
-		log.Error(err, "unable to get PushSecret")
+		msg := "unable to get PushSecret"
+		r.recorder.Event(&ps, v1.EventTypeWarning, esapi.ReasonErrored, msg)
+		log.Error(err, msg)
 		return ctrl.Result{}, fmt.Errorf("get resource: %w", err)
 	}
 

+ 12 - 0
pkg/controllers/pushsecret/pushsecret_controller_test.go

@@ -87,6 +87,9 @@ var _ = Describe("pushsecret", func() {
 				Expect(err).To(MatchError("get resource: UnknownError"))
 				Expect(client.GetCallCount()).To(Equal(1))
 				Expect(client.StatusCallCount()).To(Equal(0))
+				_, _, reason, message := recorder.EventArgsForCall(0)
+				Expect(reason).To(Equal(esapi.ReasonErrored))
+				Expect(message).To(Equal("unable to get PushSecret"))
 			})
 		})
 		When("an error returns in get secret", func() {
@@ -106,6 +109,9 @@ var _ = Describe("pushsecret", func() {
 				_, err := reconciler.Reconcile(context.Background(), ctrl.Request{NamespacedName: namspacedName})
 
 				Expect(err).To(MatchError("GetSecretError"))
+				_, _, reason, message := recorder.EventArgsForCall(0)
+				Expect(reason).To(Equal(esapi.ReasonErrored))
+				Expect(message).To(Equal(errFailedGetSecret))
 			})
 		})
 
@@ -133,6 +139,9 @@ var _ = Describe("pushsecret", func() {
 				_, err := reconciler.Reconcile(context.Background(), ctrl.Request{NamespacedName: namspacedName})
 
 				Expect(err).To(MatchError("could not get SecretStore \"a\", BORK"))
+				_, _, reason, message := recorder.EventArgsForCall(0)
+				Expect(reason).To(Equal(esapi.ReasonErrored))
+				Expect(message).To(Equal("could not get SecretStore \"a\", BORK"))
 			})
 		})
 
@@ -160,6 +169,9 @@ var _ = Describe("pushsecret", func() {
 				_, err := reconciler.Reconcile(context.Background(), ctrl.Request{NamespacedName: namspacedName})
 
 				Expect(err).To(MatchError("could not start provider"))
+				_, _, reason, message := recorder.EventArgsForCall(0)
+				Expect(reason).To(Equal(esapi.ReasonErrored))
+				Expect(message).To(Equal("set secret failed: could not start provider"))
 			})
 		})