diff options
Diffstat (limited to 'rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java')
-rw-r--r-- | rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java index 94ff53f9..e16605de 100644 --- a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java +++ b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/impl/CbsLookupTest.java @@ -22,8 +22,11 @@ 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.isA; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -31,7 +34,11 @@ import com.google.gson.JsonParser; import java.io.InputStreamReader; import java.net.InetSocketAddress; import org.junit.jupiter.api.Test; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.CloudHttpClient; +import org.mockito.ArgumentCaptor; +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.ImmutableHttpResponse; +import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.exceptions.ServiceLookupException; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.ImmutableEnvProperties; @@ -49,7 +56,7 @@ class CbsLookupTest { .consulHost("consul.local") .consulPort(8050) .appName("whatever").build(); - private final CloudHttpClient httpClient = mock(CloudHttpClient.class); + private final RxHttpClient httpClient = mock(RxHttpClient.class); private final CbsLookup cut = new CbsLookup(httpClient); @Test @@ -63,6 +70,14 @@ class CbsLookupTest { // then assertThat(result.getHostString()).isEqualTo("config-binding-service"); assertThat(result.getPort()).isEqualTo(10000); + + final String url = "http://" + + env.consulHost() + + ":" + + env.consulPort() + + "/v1/catalog/service/" + + env.cbsName(); + verifyHttpGetHasBeenCalled(url); } @Test @@ -82,14 +97,24 @@ class CbsLookupTest { } private void givenConsulResponse(JsonArray jsonArray) { - final String url = "http://" - + env.consulHost() - + ":" - + env.consulPort() - + "/v1/catalog/service/" - + env.cbsName(); - given(httpClient.get(url, JsonArray.class)) - .willReturn(Mono.just(jsonArray)); + given(httpClient.call(any(HttpRequest.class))) + .willReturn(Mono.just(ImmutableHttpResponse.builder() + .url("http://xxx") + .statusCode(200) + .rawBody(jsonArray.toString().getBytes()) + .build())); + } + + private void verifyHttpGetHasBeenCalled(String url) { + final ArgumentCaptor<HttpRequest> httpRequestArgumentCaptor = ArgumentCaptor.forClass(HttpRequest.class); + verify(httpClient).call(httpRequestArgumentCaptor.capture()); + assertThat(httpRequestArgumentCaptor.getValue().url()) + .describedAs("HTTP request URL") + .isEqualTo(url); + assertThat(httpRequestArgumentCaptor.getValue().method()) + .describedAs("HTTP request method") + .isEqualTo(HttpMethod.GET); } + }
\ No newline at end of file |