From 6a738b28ebc558556b8f5777dd367287e16cf3a5 Mon Sep 17 00:00:00 2001 From: Tom Kennedy Date: Thu, 18 May 2023 06:20:47 -0400 Subject: [PATCH] Update tracker tests - Add testing for multiple reconcilers tracking the same kind --- pkg/tracker/tracker_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/tracker/tracker_test.go b/pkg/tracker/tracker_test.go index e3688b19c..969eb4fde 100644 --- a/pkg/tracker/tracker_test.go +++ b/pkg/tracker/tracker_test.go @@ -170,6 +170,34 @@ func testTracker(t *testing.T, when spec.G, it spec.S) { require.Equal(t, wasCalledWith, types.NamespacedName{}) }) + + it("supports multiple reconcilers tracking the same kind", func() { + calledWith := []types.NamespacedName{} + track := tracker.New(func(key types.NamespacedName) { + calledWith = append(calledWith, key) + }, 5*time.Minute) + + builder := &buildapi.Builder{ + ObjectMeta: v1.ObjectMeta{ + Name: "some-name", + }, + TypeMeta: v1.TypeMeta{ + Kind: "Builder", + APIVersion: "kpack.io/v1alpha2", + }, + } + + secondReconciler := types.NamespacedName{Name: "second reconciler", Namespace: "some namespace"} + + track.TrackKind(groupKind, reconcilerName) + track.TrackKind(groupKind, secondReconciler) + + track.OnChanged(builder) + + require.Len(t, calledWith, 2) + require.Contains(t, calledWith, reconcilerName) + require.Contains(t, calledWith, secondReconciler) + }) }) when("tracking expires", func() {