import com.google.gson.JsonObject;
 import io.vavr.control.Option;
-import java.util.function.Consumer;
 import org.json.JSONObject;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsClientFactory;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsRequests;
 
     private static final Logger log = LoggerFactory.getLogger(CbsConfigResolver.class);
 
-    private final CbsClientConfiguration cbsClientConfiguration;
+    private final CbsClientConfigurationResolver cbsClientConfigurationResolver;
     private final RequestDiagnosticContext diagnosticContext = RequestDiagnosticContext.create();
     private final CbsRequest cbsConfigurationRequest = CbsRequests.getConfiguration(diagnosticContext);
 
-    CbsConfigResolver(CbsClientConfiguration cbsClientConfiguration) {
-        this.cbsClientConfiguration = cbsClientConfiguration;
+    CbsConfigResolver(CbsClientConfigurationResolver cbsClientConfigurationResolver) {
+        this.cbsClientConfigurationResolver = cbsClientConfigurationResolver;
     }
 
     public Option<JSONObject> getAppConfig() {
         JsonObject emptyJson = new JsonObject();
+        CbsClientConfiguration cbsClientConfiguration = cbsClientConfigurationResolver.resolveCbsClientConfiguration();
         JsonObject jsonObject = CbsClientFactory.createCbsClient(cbsClientConfiguration)
             .flatMap(cbsClient -> cbsClient.get(cbsConfigurationRequest))
             .doOnError(error -> log.warn("Failed to fetch configuration from CBS " + error.getMessage()))
 
  */
 package org.onap.dcae.configuration.cbs;
 
-import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.CbsClientConfiguration;
-
 public class CbsConfigResolverFactory {
 
     public CbsConfigResolver create() {
         CbsClientConfigurationResolver resolver = new CbsClientConfigurationResolver();
-        CbsClientConfiguration cbsClientConfiguration = resolver.resolveCbsClientConfiguration();
-        return new CbsConfigResolver(cbsClientConfiguration);
+        return new CbsConfigResolver(resolver);
     }
 }
\ No newline at end of file
 
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.CbsClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.ImmutableCbsClientConfiguration;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class CbsConfigResolverTest {
     public final WireMockRule wireMockRule = new WireMockRule(
             wireMockConfig().dynamicPort().dynamicPort());
 
+    @Mock
+    private CbsClientConfigurationResolver cbsClientConfigurationResolver;
+
+    @InjectMocks
+    private CbsConfigResolver cbsConfigResolver;
+
     @Test
     public void shouldFetchConfigurationFromCBS() {
         // given
-        final int PORT = wireMockRule.port();
         stubCBSToReturnAppConfig();
+        mockCbsClientConfiguration();
 
         // when
-        CbsClientConfiguration cbsClientConfiguration = ImmutableCbsClientConfiguration.builder()
-                .protocol(PROTOCOL)
-                .hostname(HOSTNAME)
-                .port(PORT)
-                .appName(APP_NAME)
-                .build();
-        JSONObject appConfig = new CbsConfigResolver(cbsClientConfiguration).getAppConfig().get();
+        JSONObject appConfig = cbsConfigResolver.getAppConfig().get();
 
         // then
         assertThat(appConfig).isNotNull();
 
     private void stubCBSToReturnAppConfig() {
         stubFor(get(urlEqualTo("/service_component/VESCollector"))
-                .willReturn(aResponse().withBody(CbsConfigResolverTest.VES_CONFIG)));
+            .willReturn(aResponse().withBody(CbsConfigResolverTest.VES_CONFIG)));
+    }
+
+    private void mockCbsClientConfiguration() {
+        final int PORT = wireMockRule.port();
+        CbsClientConfiguration cbsClientConfiguration = ImmutableCbsClientConfiguration.builder()
+            .protocol(PROTOCOL)
+            .hostname(HOSTNAME)
+            .port(PORT)
+            .appName(APP_NAME)
+            .build();
+        when(cbsClientConfigurationResolver.resolveCbsClientConfiguration()).thenReturn(cbsClientConfiguration);
     }
 }
\ No newline at end of file