From f0944b0dffa4904161cf40d5da13d5d2d34b0cbe Mon Sep 17 00:00:00 2001 From: liboNet Date: Wed, 27 Mar 2019 00:49:32 +0800 Subject: add SDC client and reception handle . add reception framework wraps handle and subplug interface . add plugins include sdc handler now. . add forward acts the post interface for specified item like artifact . add model acts for the sepcifeid item like CSAR . update pom.xml and package/pom.xml to includes all submodules . Fix the compile issue by typo and change groupid to framework Change-Id: Idbff0ca612045c6ee52ba23cd305f2764c9600f8 Issue-ID: MULTICLOUD-514 Signed-off-by: liboNet --- ...eceptionHandlerConfigurationParameterGroup.java | 160 +++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java (limited to 'artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java') diff --git a/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java b/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java new file mode 100644 index 0000000..f9a65c5 --- /dev/null +++ b/artifactbroker/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java @@ -0,0 +1,160 @@ +/*- + * ============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.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import com.google.gson.Gson; +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; + +/** + * Class to perform unit test of {@link SdcConfiguration}. + * + */ +public class TestSdcReceptionHandlerConfigurationParameterGroup { + + @Test + public void testSdcConfiguration() throws IOException { + SdcReceptionHandlerConfigurationParameterGroup configParameters = null; + try { + final Gson gson = new GsonBuilder().create(); + configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"), + SdcReceptionHandlerConfigurationParameterGroup.class); + } catch (final Exception e) { + fail("test should not thrown an exception here: " + e.getMessage()); + } + final GroupValidationResult validationResult = configParameters.validate(); + assertTrue(validationResult.isValid()); + 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 testInvalidSdcConfiguration() throws IOException { + SdcReceptionHandlerConfigurationParameterGroup configParameters = null; + try { + final Gson gson = new GsonBuilder().create(); + configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdcInvalid.json"), + SdcReceptionHandlerConfigurationParameterGroup.class); + } catch (final Exception e) { + fail("test should not thrown an exception here: " + e.getMessage()); + } + final GroupValidationResult validationResult = configParameters.validate(); + assertFalse(validationResult.isValid()); + } + + @Test + public void testSdcConfigurationBuilder() { + + final SdcReceptionHandlerConfigurationParameterBuilder builder = + new SdcReceptionHandlerConfigurationParameterBuilder().setAsdcAddress("localhost") + .setConsumerGroup("policy-group").setConsumerId("policy-id").setEnvironmentName("TEST") + .setKeystorePassword("password").setKeystorePath("dummyPath").setPassword("policy") + .setPollingInterval(10).setPollingTimeout(20).setRetryDelay(30).setUser("policy") + .setUseHttpsWithDmaap(false).setActiveserverTlsAuth(false).setFilterinEmptyResources(true) + .setArtifactTypes(Arrays.asList("TOSCA_CSAR")).setMessageBusAddress(Arrays.asList("localhost")); + final SdcReceptionHandlerConfigurationParameterGroup configParameters = + new SdcReceptionHandlerConfigurationParameterGroup(builder); + configParameters.setName("SDCConfiguration"); + + assertEquals(Arrays.asList("localhost"), configParameters.getMessageBusAddress()); + assertEquals(Arrays.asList("TOSCA_CSAR"), configParameters.getArtifactTypes()); + assertEquals("localhost", configParameters.getAsdcAddress()); + assertEquals("policy", configParameters.getUser()); + assertEquals("policy", configParameters.getPassword()); + assertEquals(10, configParameters.getPollingInterval()); + assertEquals(20, configParameters.getPollingTimeout()); + assertEquals(30, configParameters.getRetryDelay()); + assertEquals("policy-id", configParameters.getConsumerId()); + assertEquals("policy-group", configParameters.getConsumerGroup()); + assertEquals("TEST", configParameters.getEnvironmentName()); + assertEquals("dummyPath", configParameters.getKeyStorePath()); + assertEquals("password", configParameters.getKeyStorePassword()); + assertEquals(false, configParameters.isActiveServerTlsAuth()); + assertEquals(true, configParameters.isFilterInEmptyResources()); + assertEquals(false, configParameters.isUseHttpsWithDmaap()); + } + + @Test + public void testSdcConfigurationWithNullList() { + + final SdcReceptionHandlerConfigurationParameterBuilder builder = + new SdcReceptionHandlerConfigurationParameterBuilder().setAsdcAddress("localhost") + .setConsumerGroup("policy-group").setConsumerId("policy-id").setEnvironmentName("TEST") + .setKeystorePassword("password").setKeystorePath("dummyPath").setPassword("policy") + .setPollingInterval(10).setPollingTimeout(20).setUser("policy").setUseHttpsWithDmaap(false) + .setActiveserverTlsAuth(false).setFilterinEmptyResources(true) + .setArtifactTypes(Arrays.asList("TOSCA_CSAR")).setMessageBusAddress(null); + final SdcReceptionHandlerConfigurationParameterGroup configParameters = + new SdcReceptionHandlerConfigurationParameterGroup(builder); + configParameters.setName("SDCConfiguration"); + + try { + configParameters.validate(); + fail("Test must throw an exception"); + } catch (final Exception exp) { + assertTrue(exp.getMessage().contains("collection parameter \"messageBusAddress\" is null")); + } + } + + @Test + public void testSdcConfigurationWithEmptyStringList() { + + final SdcReceptionHandlerConfigurationParameterBuilder builder = + new SdcReceptionHandlerConfigurationParameterBuilder().setAsdcAddress("localhost") + .setConsumerGroup("policy-group").setConsumerId("policy-id").setEnvironmentName("TEST") + .setKeystorePassword("password").setKeystorePath("dummyPath").setPassword("policy") + .setPollingInterval(10).setPollingTimeout(20).setUser("policy").setUseHttpsWithDmaap(false) + .setActiveserverTlsAuth(false).setFilterinEmptyResources(true) + .setArtifactTypes(Arrays.asList("")).setMessageBusAddress(Arrays.asList("localhost")); + final SdcReceptionHandlerConfigurationParameterGroup configParameters = + new SdcReceptionHandlerConfigurationParameterGroup(builder); + configParameters.setName("SDCConfiguration"); + + final GroupValidationResult validationResult = configParameters.validate(); + assertFalse(validationResult.isValid()); + assertTrue(validationResult.getResult().contains("must be a non-blank string")); + } +} -- cgit 1.2.3-korg