diff --git a/controllers/remote/cluster_cache_tracker_test.go b/controllers/remote/cluster_cache_tracker_test.go index bd73559feefc..be98a089167f 100644 --- a/controllers/remote/cluster_cache_tracker_test.go +++ b/controllers/remote/cluster_cache_tracker_test.go @@ -85,7 +85,7 @@ func TestClusterCacheTracker(t *testing.T) { spew.Dump(err) g.Expect(err).ToNot(HaveOccurred()) }() - <-env.Manager.Elected() + <-mgr.Elected() k8sClient = mgr.GetClient() @@ -119,11 +119,16 @@ func TestClusterCacheTracker(t *testing.T) { teardown := func(t *testing.T, g *WithT, ns *corev1.Namespace) { t.Helper() + defer close(c.ch) t.Log("Deleting any Secrets") g.Expect(cleanupTestSecrets(ctx, k8sClient)).To(Succeed()) t.Log("Deleting any Clusters") g.Expect(cleanupTestClusters(ctx, k8sClient)).To(Succeed()) + g.Expect(<-c.ch).To(Equal("mapped-" + clusterA.Name)) + g.Consistently(func() int { + return len(c.ch) + }).Should(Equal(0)) t.Log("Deleting Namespace") g.Expect(env.Delete(ctx, ns)).To(Succeed()) t.Log("Stopping the manager") @@ -200,7 +205,11 @@ type testController struct { } func (c *testController) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error) { - c.ch <- req.Name + spew.Dump(req) + select { + case <-ctx.Done(): + case c.ch <- req.Name: + } return ctrl.Result{}, nil } diff --git a/internal/envtest/environment.go b/internal/envtest/environment.go index 8aa027b117cc..119635e275df 100644 --- a/internal/envtest/environment.go +++ b/internal/envtest/environment.go @@ -274,7 +274,7 @@ func (e *Environment) start(ctx context.Context) { panic(fmt.Sprintf("Failed to start the test environment manager: %v", err)) } }() - e.Manager.Elected() + <-e.Manager.Elected() e.WaitForWebhooks() }