Skip to content

Commit aa21eed

Browse files
committed
refactor(setupPromClientControllerTest): inject context instead of creating a stop channel
1 parent 8849882 commit aa21eed

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

pkg/descheduler/descheduler_test.go

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1788,11 +1788,10 @@ type promClientControllerTestSetup struct {
17881788
namespacedInformerFactory informers.SharedInformerFactory
17891789
metricsProviders map[api.MetricsSource]*api.MetricsProvider
17901790
ctrl *promClientController
1791-
stopCh chan struct{}
17921791
namespace string
17931792
}
17941793

1795-
func setupPromClientControllerTest(objects []runtime.Object, prometheusConfig *api.Prometheus) *promClientControllerTestSetup {
1794+
func setupPromClientControllerTest(ctx context.Context, objects []runtime.Object, prometheusConfig *api.Prometheus) *promClientControllerTestSetup {
17961795
fakeClient := fakeclientset.NewSimpleClientset(objects...)
17971796

17981797
namespace := "default"
@@ -1814,16 +1813,14 @@ func setupPromClientControllerTest(objects []runtime.Object, prometheusConfig *a
18141813
namespacedInformerFactory.Core().V1().Secrets().Informer().AddEventHandler(ctrl.eventHandler())
18151814
}
18161815

1817-
stopCh := make(chan struct{})
1818-
namespacedInformerFactory.Start(stopCh)
1819-
namespacedInformerFactory.WaitForCacheSync(stopCh)
1816+
namespacedInformerFactory.Start(ctx.Done())
1817+
namespacedInformerFactory.WaitForCacheSync(ctx.Done())
18201818

18211819
return &promClientControllerTestSetup{
18221820
fakeClient: fakeClient,
18231821
namespacedInformerFactory: namespacedInformerFactory,
18241822
metricsProviders: metricsProviders,
18251823
ctrl: ctrl,
1826-
stopCh: stopCh,
18271824
namespace: namespace,
18281825
}
18291826
}
@@ -1895,8 +1892,9 @@ func TestPromClientControllerSync_InvalidConfig(t *testing.T) {
18951892

18961893
for _, tc := range testCases {
18971894
t.Run(tc.name, func(t *testing.T) {
1898-
setup := setupPromClientControllerTest(tc.objects, tc.prometheusConfig)
1899-
defer close(setup.stopCh)
1895+
ctx, cancel := context.WithCancel(context.TODO())
1896+
defer cancel()
1897+
setup := setupPromClientControllerTest(ctx, tc.objects, tc.prometheusConfig)
19001898

19011899
// Call sync
19021900
err := setup.ctrl.sync()
@@ -1970,8 +1968,9 @@ func TestPromClientControllerSync_ClientCreation(t *testing.T) {
19701968

19711969
for _, tc := range testCases {
19721970
t.Run(tc.name, func(t *testing.T) {
1973-
setup := setupPromClientControllerTest(tc.objects, newPrometheusConfig())
1974-
defer close(setup.stopCh)
1971+
ctx, cancel := context.WithCancel(context.TODO())
1972+
defer cancel()
1973+
setup := setupPromClientControllerTest(ctx, tc.objects, newPrometheusConfig())
19751974

19761975
// Set additional test-specific fields
19771976
setup.ctrl.currentPrometheusAuthToken = tc.currentAuthToken
@@ -2050,8 +2049,7 @@ func TestPromClientControllerSync_EventHandler(t *testing.T) {
20502049
prometheusConfig := newPrometheusConfig()
20512050
secretName := prometheusConfig.AuthToken.SecretReference.Name
20522051

2053-
setup := setupPromClientControllerTest(nil, prometheusConfig)
2054-
defer close(setup.stopCh)
2052+
setup := setupPromClientControllerTest(ctx, nil, prometheusConfig)
20552053

20562054
// Track created clients to verify different instances
20572055
var createdClients []promapi.Client

0 commit comments

Comments
 (0)