From 2fc20696aeb88b9285be3bfaded7de2e01b01c3f Mon Sep 17 00:00:00 2001 From: Joanna Jeremicz Date: Wed, 19 Feb 2020 13:52:16 +0100 Subject: Improve coverage in sdk cbs-client - Added CloudConfigurationClientTest Issue-ID: DCAEGEN2-2087 Signed-off-by: Joanna Jeremicz Change-Id: Ifb3cb8616717dd01c2f20c9214704ac5b610e02d --- .../providers/CloudConfigurationClientTest.java | 78 ++++++++++++++++++++++ .../CloudConfiguratonProviderWrapperTest.java | 30 --------- 2 files changed, 78 insertions(+), 30 deletions(-) create mode 100644 rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfigurationClientTest.java delete mode 100644 rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfiguratonProviderWrapperTest.java (limited to 'rest-services/cbs-client/src') diff --git a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfigurationClientTest.java b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfigurationClientTest.java new file mode 100644 index 00000000..389e6e8a --- /dev/null +++ b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfigurationClientTest.java @@ -0,0 +1,78 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2020 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.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.CbsClientConfiguration; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +class CloudConfigurationClientTest { + private static final String CONFIGURATION_MOCK = "{\"test\":1}"; + private static final JsonObject CONFIGURATION_JSON_MOCK = new Gson() + .fromJson(CONFIGURATION_MOCK, JsonObject.class); + + private final CloudConfigurationProvider provider = mock(CloudConfigurationProvider.class); + private final CbsClientConfiguration configuration = mock(CbsClientConfiguration.class); + + private CloudConfigurationClient client; + + @BeforeEach + void setUp() { + client = new CloudConfigurationClient(provider); + when(provider.callForServiceConfigurationReactive(any(CbsClientConfiguration.class))) + .thenReturn(Mono.just(CONFIGURATION_JSON_MOCK)); + } + + @Test + void callForServiceConfigurationReactiveWithManyParamsShouldReturnConfigurationObjectMono() { + StepVerifier.create(client.callForServiceConfigurationReactive("hostName", 4444, "cbsName1", "appName1")) + .expectSubscription() + .expectNext(CONFIGURATION_JSON_MOCK).verifyComplete(); + } + + @Test + void callForServiceConfigurationReactiveWithOneParamShouldReturnConfigurationObjectMono() { + StepVerifier.create(client.callForServiceConfigurationReactive(configuration)) + .expectSubscription() + .expectNext(CONFIGURATION_JSON_MOCK).verifyComplete(); + } + + @Test + void callForServiceConfigurationWithManyParamsShouldReturnConfigurationObject() { + JsonObject json = client.callForServiceConfiguration("hostName", 4444, "cbsName1", "appName1"); + assertEquals(CONFIGURATION_JSON_MOCK, json); + } + + @Test + void callForServiceConfigurationWithOneParamShouldReturnConfigurationObject() { + JsonObject json = client.callForServiceConfiguration(configuration); + assertEquals(CONFIGURATION_JSON_MOCK, json); + } +} \ No newline at end of file diff --git a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfiguratonProviderWrapperTest.java b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfiguratonProviderWrapperTest.java deleted file mode 100644 index 746ad43f..00000000 --- a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/providers/CloudConfiguratonProviderWrapperTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 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; - - -/** - * @author Przemysław Wąsala on 11/16/18 - */ -class CloudConfiguratonProviderWrapperTest { - -} \ No newline at end of file -- cgit 1.2.3-korg