diff options
author | ramverma <ram.krishna.verma@ericsson.com> | 2018-08-31 17:16:01 +0100 |
---|---|---|
committer | ramverma <ram.krishna.verma@ericsson.com> | 2018-09-04 09:58:38 +0100 |
commit | ecc059f29f8da065356571ef00c6cad595e298b3 (patch) | |
tree | e69272c979178b1d8f17ce7ca0700dc25addd0a0 /plugins/reception-plugins/src/test | |
parent | e705197bb18af558fb7ea853b01e1297521763f2 (diff) |
Adding code for managing life cycle of SDC Client
* Adding init/start/stop methods in SDCReceptionHandler for managing lifecycle of SDC Client.
* Adding a handler status enum to hold all the possible status values.
* Adding test cases to cover code changes fully.
Change-Id: Ib6f370485ff330538bfada6030c592629ed3fd1c
Issue-ID: POLICY-956
Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
Diffstat (limited to 'plugins/reception-plugins/src/test')
-rw-r--r-- | plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcConfiguration.java (renamed from plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/PssdConfigurationTest.java) | 26 | ||||
-rw-r--r-- | plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java | 180 | ||||
-rw-r--r-- | plugins/reception-plugins/src/test/resources/handling-sdc.json | 6 |
3 files changed, 203 insertions, 9 deletions
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/PssdConfigurationTest.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcConfiguration.java index 5c24a792..e1ba00cf 100644 --- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/PssdConfigurationTest.java +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcConfiguration.java @@ -30,19 +30,20 @@ import com.google.gson.GsonBuilder; import java.io.FileReader; import java.io.IOException; +import java.util.Arrays; import org.junit.Test; import org.onap.policy.common.parameters.GroupValidationResult; import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup; -/*- - * Tests for PssdConfiguration class +/** + * Class to perform unit test of {@link SdcConfiguration}. * */ -public class PssdConfigurationTest { +public class TestSdcConfiguration { @Test - public void testPssdConfigurationParametersGroup() throws IOException { + public void testSdcConfiguration() throws IOException { PssdConfigurationParametersGroup configParameters = null; try { final Gson gson = new GsonBuilder().create(); @@ -53,13 +54,26 @@ public class PssdConfigurationTest { } final GroupValidationResult validationResult = configParameters.validate(); assertTrue(validationResult.isValid()); - final PssdConfiguration config = new PssdConfiguration(configParameters); + final SdcConfiguration config = new SdcConfiguration(configParameters); + assertEquals(Arrays.asList("a.com", "b.com", "c.com"), config.getMsgBusAddress()); + assertEquals(Arrays.asList("TOSCA_CSAR", "HEAT"), config.getRelevantArtifactTypes()); + assertEquals("localhost", config.getAsdcAddress()); + assertEquals("policy", config.getUser()); + assertEquals("policy", config.getPassword()); assertEquals(20, config.getPollingInterval()); assertEquals(30, config.getPollingTimeout()); + assertEquals("policy-id", config.getConsumerID()); + assertEquals("policy-group", config.getConsumerGroup()); + assertEquals("TEST", config.getEnvironmentName()); + assertEquals("null", config.getKeyStorePath()); + assertEquals("null", config.getKeyStorePassword()); + assertEquals(false, config.activateServerTLSAuth()); + assertEquals(true, config.isFilterInEmptyResources()); + assertEquals(false, config.isUseHttpsWithDmaap()); } @Test - public void testInvalidPssdConfigurationParametersGroup() throws IOException { + public void testInvalidSdcConfiguration() throws IOException { PssdConfigurationParametersGroup configParameters = null; try { final Gson gson = new GsonBuilder().create(); diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java new file mode 100644 index 00000000..02b83849 --- /dev/null +++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java @@ -0,0 +1,180 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Intel. 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.distribution.reception.handling.sdc; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Matchers.any; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.io.FileReader; +import java.io.IOException; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.common.logging.flexlogger.Logger; +import org.onap.policy.common.parameters.ParameterService; +import org.onap.policy.distribution.reception.decoding.PluginInitializationException; +import org.onap.policy.distribution.reception.decoding.PluginTerminationException; +import org.onap.policy.distribution.reception.parameters.PssdConfigurationParametersGroup; +import org.onap.sdc.api.results.IDistributionClientResult; +import org.onap.sdc.impl.mock.DistributionClientStubImpl; +import org.onap.sdc.utils.DistributionActionResultEnum; + +/** + * Class to perform unit test of {@link SdcReceptionHandler}. + * + * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) + */ +@RunWith(MockitoJUnitRunner.class) +public class TestSdcReceptionHandler { + + private static final Logger LOGGER = FlexLogger.getLogger(TestSdcReceptionHandler.class); + + @Mock + private IDistributionClientResult successfulClientInitResult; + @Mock + private IDistributionClientResult failureClientInitResult; + @Mock + private DistributionClientStubImpl distributionClient; + + private PssdConfigurationParametersGroup pssdConfigParameters; + private SdcReceptionHandler sypHandler; + + /** + * Setup for the test cases. + * + * @throws IOException if it occurs + */ + @Before + public final void init() throws IOException { + final Gson gson = new GsonBuilder().create(); + pssdConfigParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"), + PssdConfigurationParametersGroup.class); + ParameterService.register(pssdConfigParameters); + final SdcReceptionHandler sdcHandler = new SdcReceptionHandler(); + sypHandler = Mockito.spy(sdcHandler); + Mockito.when(sypHandler.createSdcDistributionClient()).thenReturn(distributionClient); + Mockito.when(distributionClient.init(any(), any())).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.stop()).thenReturn(successfulClientInitResult); + Mockito.when(successfulClientInitResult.getDistributionActionResult()) + .thenReturn(DistributionActionResultEnum.SUCCESS); + } + + @After + public void teardown() { + ParameterService.deregister(pssdConfigParameters); + } + + @Test + public final void testInitializeSdcClient() { + try { + sypHandler.initializeReception(pssdConfigParameters.getName()); + } catch (final PluginInitializationException exp) { + LOGGER.error(exp); + fail("Test should not throw any exception"); + } + } + + @Test + public final void testInitializeSdcClient_Again() throws PluginInitializationException { + sypHandler.initializeReception(pssdConfigParameters.getName()); + try { + sypHandler.initializeReception(pssdConfigParameters.getName()); + fail("Test must throw an exception here"); + } catch (final Exception exp) { + assertTrue(exp.getMessage().startsWith("The SDC Client is already initialized")); + } + } + + @Test + public final void testInitializeSdcClient_Failure() throws PluginInitializationException { + + Mockito.when(successfulClientInitResult.getDistributionActionResult()) + .thenReturn(DistributionActionResultEnum.FAIL); + try { + sypHandler.initializeReception(pssdConfigParameters.getName()); + fail("Test must throw an exception here"); + } catch (final Exception exp) { + assertTrue(exp.getMessage().startsWith("SDC client initialization failed with reason")); + } + } + + @Test + public final void testStartSdcClient_Failure() throws PluginInitializationException { + try { + Mockito.when(distributionClient.start()).thenReturn(failureClientInitResult); + Mockito.when(failureClientInitResult.getDistributionActionResult()) + .thenReturn(DistributionActionResultEnum.FAIL); + sypHandler.initializeReception(pssdConfigParameters.getName()); + + fail("Test must throw an exception here"); + } catch (final Exception exp) { + assertTrue(exp.getMessage().startsWith("SDC client start failed with reason")); + } + } + + @Test + public final void testStopSdcClient() { + try { + sypHandler.initializeReception(pssdConfigParameters.getName()); + sypHandler.destroy(); + } catch (final PluginInitializationException | PluginTerminationException exp) { + LOGGER.error(exp); + fail("Test should not throw any exception"); + } + + } + + @Test + public final void testStopSdcClientWithoutStart() { + try { + sypHandler.destroy(); + } catch (final PluginTerminationException exp) { + LOGGER.error(exp); + fail("Test should not throw any exception"); + } + + } + + @Test + public final void testStopSdcClient_Failure() throws PluginInitializationException { + + sypHandler.initializeReception(pssdConfigParameters.getName()); + Mockito.when(successfulClientInitResult.getDistributionActionResult()) + .thenReturn(DistributionActionResultEnum.FAIL); + try { + sypHandler.destroy(); + fail("Test must throw an exception here"); + } catch (final Exception exp) { + assertTrue(exp.getMessage().startsWith("SDC client stop failed with reason")); + } + } +} diff --git a/plugins/reception-plugins/src/test/resources/handling-sdc.json b/plugins/reception-plugins/src/test/resources/handling-sdc.json index c1ca23aa..b9e63fe0 100644 --- a/plugins/reception-plugins/src/test/resources/handling-sdc.json +++ b/plugins/reception-plugins/src/test/resources/handling-sdc.json @@ -6,8 +6,8 @@ "b.com", "c.com" ], - "user": "tbdsdc-1480", - "password": "tbdsdc-1480", + "user": "policy", + "password": "policy", "pollingInterval":20, "pollingTimeout":30, "consumerId": "policy-id", @@ -16,7 +16,7 @@ "HEAT" ], "consumerGroup": "policy-group", - "environmentName": "environmentName", + "environmentName": "TEST", "keystorePath": "null", "keystorePassword": "null", "activeserverTlsAuth": false, |