diff options
Diffstat (limited to 'rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/ReactiveCloudConfigurationProviderTest.java')
-rw-r--r-- | rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/ReactiveCloudConfigurationProviderTest.java | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/ReactiveCloudConfigurationProviderTest.java b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/ReactiveCloudConfigurationProviderTest.java deleted file mode 100644 index de0870d0..00000000 --- a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/ReactiveCloudConfigurationProviderTest.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.dcaegen2.services.sdk.rest.services.cbs.client.providers; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.io.IOException; -import java.util.List; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -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.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.impl.streams.gson.GsonUtils; -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 reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -/** - * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 11/15/18 - */ -class ReactiveCloudConfigurationProviderTest { - - private static final Gson gson = new Gson(); - private static final String CONFIGURATION_MOCK = "{\"test\":1}"; - private static final JsonObject CONFIGURATION_JSON_MOCK = gson - .fromJson(CONFIGURATION_MOCK, JsonObject.class); - - private final RxHttpClient httpClient = mock(RxHttpClient.class); - private final JsonArray configBindingService = GsonUtils.readObjectArrayFromResource("/sample_config_binding_service.json"); - - private CbsClientConfiguration cbsClientConfiguration = ImmutableCbsClientConfiguration.builder() - .appName("dcae-prh") - .cbsName("config-binding-service") - .consulHost("consul") - .consulPort(8500) - .build(); - - private HttpResponse response; - private ReactiveCloudConfigurationProvider provider; - - ReactiveCloudConfigurationProviderTest() throws IOException { - } - - - @BeforeEach - void setUp() { - response = mock(HttpResponse.class); - provider = new ReactiveCloudConfigurationProvider(httpClient); - } - - @Test - void shouldReturnPrhConfiguration(){ - //when - when(httpClient.call(any(HttpRequest.class))).thenReturn(Mono.just(response)); - when(response.bodyAsJson(JsonArray.class)).thenReturn(configBindingService); - when(response.bodyAsJson(JsonObject.class)).thenReturn(CONFIGURATION_JSON_MOCK); - - - //then - StepVerifier.create(provider.callForServiceConfigurationReactive(cbsClientConfiguration)) - .expectSubscription() - .expectNext(CONFIGURATION_JSON_MOCK).verifyComplete(); - } - - @Test - void shouldRequestCorrectUrl(){ - // given - String consulRequestUrl = "http://consul:8500/v1/catalog/service/config-binding-service"; - String configRequestUrl = "http://config-binding-service:10000/service_component/dcae-prh"; - - //when - when(httpClient.call(any(HttpRequest.class))).thenReturn(Mono.just(response)); - when(response.bodyAsJson(JsonArray.class)).thenReturn(configBindingService); - when(response.bodyAsJson(JsonObject.class)).thenReturn(CONFIGURATION_JSON_MOCK); - - - //then - StepVerifier.create(provider.callForServiceConfigurationReactive(cbsClientConfiguration)) - .expectSubscription() - .expectNext(CONFIGURATION_JSON_MOCK).verifyComplete(); - - - ArgumentCaptor<HttpRequest> httpReq = ArgumentCaptor - .forClass(HttpRequest.class); - verify(httpClient, times(2)).call(httpReq.capture()); - - List<HttpRequest> allRequests = httpReq.getAllValues(); - assertThat(allRequests.get(0).url()).isEqualTo(consulRequestUrl); - assertThat(allRequests.get(1).url()).isEqualTo(configRequestUrl); - } - - @Test - void shouldReturnMonoErrorWhenConsuleDoesntHaveConfigBindingServiceEntry() { - // given - JsonArray emptyArray = gson.fromJson("[]", JsonArray.class); - - //when - when(httpClient.call(any(HttpRequest.class))).thenReturn(Mono.just(response)); - when(response.bodyAsJson(JsonArray.class)).thenReturn(emptyArray); - - - //then - StepVerifier.create(provider.callForServiceConfigurationReactive(cbsClientConfiguration)) - .expectSubscription() - .expectError(IllegalStateException.class).verify(); - } -}
\ No newline at end of file |