From 536f1d1c677dd8cf8d286321417db7c0c67c3a5e Mon Sep 17 00:00:00 2001 From: Alvaro Aleman Date: Fri, 28 Jun 2024 20:08:50 -0400 Subject: [PATCH] Builder: Test happy path for TypedControllerManagedBy --- pkg/builder/controller_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/builder/controller_test.go b/pkg/builder/controller_test.go index 283aa00a45..ec513b7d38 100644 --- a/pkg/builder/controller_test.go +++ b/pkg/builder/controller_test.go @@ -45,6 +45,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" "sigs.k8s.io/controller-runtime/pkg/scheme" + "sigs.k8s.io/controller-runtime/pkg/source" ) var _ untypedWatchesInput = (*WatchesInput[struct{}])(nil) @@ -206,6 +207,27 @@ var _ = Describe("application", func() { Expect(instance).To(BeNil()) }) + It("should build a controller with a custom request type", func() { + By("creating a controller manager") + m, err := manager.New(cfg, manager.Options{}) + Expect(err).NotTo(HaveOccurred()) + + instance, err := TypedControllerManagedBy[empty](m). + Named("my_controller"). + WatchesRawSource( + source.TypedKind( + m.GetCache(), + &appsv1.ReplicaSet{}, + handler.TypedEnqueueRequestsFromMapFunc(func(ctx context.Context, rs *appsv1.ReplicaSet) []empty { + return []empty{{}} + }), + ), + ). + Build(typedNoop) + Expect(err).To(BeNil()) + Expect(instance).NotTo(BeNil()) + }) + It("should return an error if it cannot create the controller", func() { By("creating a controller manager")