@@ -1968,20 +1968,49 @@ func TestPromClientControllerSync_ClientCreation(t *testing.T) {
19681968
19691969 for _ , tc := range testCases {
19701970 t .Run (tc .name , func (t * testing.T ) {
1971+ for _ , setupMode := range []struct {
1972+ name string
1973+ setupFn func (context.Context , * testing.T , []runtime.Object ) * promClientController
1974+ }{
1975+ {
1976+ name : "running with prom reconciler directly" ,
1977+ setupFn : func (ctx context.Context , t * testing.T , objects []runtime.Object ) * promClientController {
1978+ setup := setupPromClientControllerTest (ctx , objects , newPrometheusConfig ())
1979+ return setup .ctrl
1980+ },
1981+ },
1982+ {
1983+ name : "running with full descheduler" ,
1984+ setupFn : func (ctx context.Context , t * testing.T , objects []runtime.Object ) * promClientController {
1985+ deschedulerPolicy := & api.DeschedulerPolicy {
1986+ MetricsProviders : []api.MetricsProvider {
1987+ {
1988+ Source : api .PrometheusMetrics ,
1989+ Prometheus : newPrometheusConfig (),
1990+ },
1991+ },
1992+ }
1993+ _ , descheduler , _ , _ := initDescheduler (t , ctx , initFeatureGates (), deschedulerPolicy , nil , false , objects ... )
1994+ return descheduler .promClientCtrl
1995+ },
1996+ },
1997+ } {
1998+ t .Run (setupMode .name , func (t * testing.T ) {
19711999 ctx , cancel := context .WithCancel (context .TODO ())
19722000 defer cancel ()
1973- setup := setupPromClientControllerTest (ctx , tc .objects , newPrometheusConfig ())
2001+
2002+ ctrl := setupMode .setupFn (ctx , t , tc .objects )
19742003
19752004 // Set additional test-specific fields
1976- setup . ctrl .currentPrometheusAuthToken = tc .currentAuthToken
2005+ ctrl .currentPrometheusAuthToken = tc .currentAuthToken
19772006 if tc .currentAuthToken != "" {
1978- setup . ctrl .previousPrometheusClientTransport = & http.Transport {}
2007+ ctrl .previousPrometheusClientTransport = & http.Transport {}
19792008 }
19802009
19812010 // Mock createPrometheusClient
19822011 clientCreated := false
19832012 if tc .createPrometheusClientFunc != nil {
1984- setup . ctrl .createPrometheusClient = func (url , token string ) (promapi.Client , * http.Transport , error ) {
2013+ ctrl .createPrometheusClient = func (url , token string ) (promapi.Client , * http.Transport , error ) {
19852014 client , transport , err := tc .createPrometheusClientFunc (url , token )
19862015 if err == nil {
19872016 clientCreated = true
@@ -1991,7 +2020,7 @@ func TestPromClientControllerSync_ClientCreation(t *testing.T) {
19912020 }
19922021
19932022 // Call sync
1994- err := setup . ctrl .sync ()
2023+ err := ctrl .sync ()
19952024
19962025 // Verify error expectations
19972026 if tc .expectedErr != nil {
@@ -2015,29 +2044,31 @@ func TestPromClientControllerSync_ClientCreation(t *testing.T) {
20152044 }
20162045
20172046 // Verify token cleared expectations
2018- if tc .expectCurrentTokenCleared && setup . ctrl .currentPrometheusAuthToken != "" {
2047+ if tc .expectCurrentTokenCleared && ctrl .currentPrometheusAuthToken != "" {
20192048 t .Errorf ("Expected current auth token to be cleared but it wasn't" )
20202049 }
20212050
20222051 // Verify previous transport cleared expectations
2023- if tc .expectPreviousTransportCleared && setup . ctrl .previousPrometheusClientTransport != nil {
2052+ if tc .expectPreviousTransportCleared && ctrl .previousPrometheusClientTransport != nil {
20242053 t .Errorf ("Expected previous transport to be cleared but it wasn't" )
20252054 }
20262055
20272056 // Verify promClient cleared when secret not found
2028- if tc .expectPreviousTransportCleared && setup . ctrl .promClient != nil {
2057+ if tc .expectPreviousTransportCleared && ctrl .promClient != nil {
20292058 t .Errorf ("Expected promClient to be cleared but it wasn't" )
20302059 }
20312060
20322061 // Verify token updated when client created
20332062 if tc .expectClientCreated && len (tc .objects ) > 0 {
20342063 if secret , ok := tc .objects [0 ].(* v1.Secret ); ok && secret .Data != nil {
20352064 expectedToken := string (secret .Data [prometheusAuthTokenSecretKey ])
2036- if setup . ctrl .currentPrometheusAuthToken != expectedToken {
2037- t .Errorf ("Expected current auth token to be %q but got %q" , expectedToken , setup . ctrl .currentPrometheusAuthToken )
2065+ if ctrl .currentPrometheusAuthToken != expectedToken {
2066+ t .Errorf ("Expected current auth token to be %q but got %q" , expectedToken , ctrl .currentPrometheusAuthToken )
20382067 }
20392068 }
20402069 }
2070+ })
2071+ }
20412072 })
20422073 }
20432074}
0 commit comments