Create an evolution of HTTP Client
[dcaegen2/services/sdk.git] / rest-services / cbs-client / src / test / java / org / onap / dcaegen2 / services / sdk / rest / services / cbs / client / impl / CbsClientImplTest.java
index 617904f..339b1ef 100644 (file)
@@ -22,7 +22,6 @@ package org.onap.dcaegen2.services.sdk.rest.services.cbs.client.impl;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.BDDMockito.given;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -30,7 +29,13 @@ import static org.mockito.Mockito.verify;
 import com.google.gson.JsonObject;
 import java.net.InetSocketAddress;
 import org.junit.jupiter.api.Test;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.CloudHttpClient;
+import org.mockito.Mockito;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.ImmutableHttpRequest;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.ImmutableHttpResponse;
+import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient;
 import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext;
 import reactor.core.publisher.Mono;
 
@@ -39,7 +44,7 @@ import reactor.core.publisher.Mono;
  * @since February 2019
  */
 class CbsClientImplTest {
-    private final CloudHttpClient httpClient = mock(CloudHttpClient.class);
+    private final RxHttpClient httpClient = mock(RxHttpClient.class);
 
     @Test
     void shouldFetchUsingProperUrl() {
@@ -47,8 +52,12 @@ class CbsClientImplTest {
         InetSocketAddress cbsAddress = InetSocketAddress.createUnresolved("cbshost", 6969);
         String serviceName = "dcaegen2-ves-collector";
         final CbsClientImpl cut = CbsClientImpl.create(httpClient, cbsAddress, serviceName);
-        final JsonObject httpResponse = new JsonObject();
-        given(httpClient.get(anyString(), any(RequestDiagnosticContext.class), any(Class.class))).willReturn(Mono.just(httpResponse));
+        final HttpResponse httpResponse = ImmutableHttpResponse.builder()
+                .url("http://xxx")
+                .statusCode(200)
+                .rawBody("{}".getBytes())
+                .build();
+        given(httpClient.call(any(HttpRequest.class))).willReturn(Mono.just(httpResponse));
         RequestDiagnosticContext diagnosticContext = RequestDiagnosticContext.create();
 
         // when
@@ -56,7 +65,11 @@ class CbsClientImplTest {
 
         // then
         final String expectedUrl = "http://cbshost:6969/service_component/dcaegen2-ves-collector";
-        verify(httpClient).get(expectedUrl, diagnosticContext, JsonObject.class);
-        assertThat(result).isSameAs(httpResponse);
+        verify(httpClient).call(ImmutableHttpRequest.builder()
+                .method(HttpMethod.GET)
+                .url(expectedUrl)
+                .diagnosticContext(diagnosticContext)
+                .build());
+        assertThat(result.toString()).isEqualTo(httpResponse.bodyAsString());
     }
 }
\ No newline at end of file