From ef0641c47e0ffe212f2b850c90069ede7c16e1d7 Mon Sep 17 00:00:00 2001 From: "a.sreekumar" Date: Tue, 30 Jul 2019 11:17:55 +0000 Subject: Passing the updated topic parameters to policy-endpoints Changes to pass the updated parameters from BusTopicParams to PolicyEndpoints. Change-Id: I49d3b9d30a2a4c6b2337d0ab76a61583eb9ef04a Issue-ID: POLICY-1744 Signed-off-by: a.sreekumar --- .../endpoints/parameters/CommonTestData.java | 2 +- .../parameters/TopicParameterGroupTest.java | 14 ++++--- .../common/endpoints/utils/ParameterUtilsTest.java | 49 +++++++++++++++++++--- 3 files changed, 54 insertions(+), 11 deletions(-) (limited to 'policy-endpoints/src/test') diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/CommonTestData.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/CommonTestData.java index 346ac5d6..e3f0878f 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/CommonTestData.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/CommonTestData.java @@ -53,7 +53,7 @@ public class CommonTestData { public static final String TOPIC_INFRA = "dmaap"; public static final String TOPIC_SERVER = "message-router"; - protected static final List TOPIC_PARAMS = + public static final List TOPIC_PARAMS = Arrays.asList(getTopicParameters(TOPIC_NAME, TOPIC_INFRA, TOPIC_SERVER)); protected static final Coder coder = new StandardCoder(); diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java index e288009a..f1507365 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java @@ -26,10 +26,12 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import java.lang.reflect.Method; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Field; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.junit.Test; +import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.parameters.GroupValidationResult; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; @@ -123,12 +125,14 @@ public class TopicParameterGroupTest { */ private boolean checkIfAllParamsNotEmpty(List topicParametersList) throws Exception { for (TopicParameters topicParameters : topicParametersList) { - for (Method m : topicParameters.getClass().getMethods()) { - if (m.getName().startsWith("get") && m.getParameterTypes().length == 0) { - final Object parameter = m.invoke(topicParameters); + Field[] fields = BusTopicParams.class.getDeclaredFields(); + for (Field field : fields) { + if (!field.isSynthetic()) { + Object parameter = new PropertyDescriptor(field.getName(), TopicParameters.class).getReadMethod() + .invoke(topicParameters); if ((parameter instanceof String && StringUtils.isBlank(parameter.toString())) || (parameter instanceof Boolean && !(Boolean) parameter) - || (parameter instanceof Number && ((Number)parameter).longValue() == 0)) { + || (parameter instanceof Number && ((Number) parameter).longValue() == 0)) { return false; } } diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java index 06c16e9c..54a14606 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java @@ -23,12 +23,16 @@ package org.onap.policy.common.endpoints.utils; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; -import java.util.Arrays; import java.util.Properties; import org.junit.Test; import org.onap.policy.common.endpoints.parameters.CommonTestData; import org.onap.policy.common.endpoints.parameters.TopicParameterGroup; +import org.onap.policy.common.parameters.GroupValidationResult; +import org.onap.policy.common.utils.coder.Coder; +import org.onap.policy.common.utils.coder.StandardCoder; /** * Class to perform unit test of {@link ParameterUtils}. @@ -36,7 +40,11 @@ import org.onap.policy.common.endpoints.parameters.TopicParameterGroup; * @author Ajith Sreekumar (ajith.sreekumar@est.tech) */ public class ParameterUtilsTest { + private static final String SOURCE_TOPICS_POLICY_PDP_PAP1 = ".source.topics.POLICY-PDP-PAP1."; + private static final String SINK_TOPICS_POLICY_PDP_PAP1 = ".sink.topics.POLICY-PDP-PAP1."; private static final String SERVERS = ".servers"; + private static CommonTestData testData = new CommonTestData(); + private static final Coder coder = new StandardCoder(); /** * Test getTopicProperties from TopicParameterGroup. @@ -60,17 +68,48 @@ public class ParameterUtilsTest { @Test public void testUpdateTopicProperties() { Properties topicProperties = new Properties(); - ParameterUtils.updateTopicProperties(topicProperties, "source", CommonTestData.TOPIC_INFRA, - CommonTestData.TOPIC_NAME, Arrays.asList(CommonTestData.TOPIC_SERVER)); + ParameterUtils.updateTopicProperties(topicProperties, "source", CommonTestData.TOPIC_PARAMS.get(0)); assertEquals(CommonTestData.TOPIC_NAME, topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".source.topics")); assertEquals(CommonTestData.TOPIC_SERVER, topicProperties .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + SERVERS)); - ParameterUtils.updateTopicProperties(topicProperties, "sink", CommonTestData.TOPIC_INFRA, - CommonTestData.TOPIC_NAME, Arrays.asList(CommonTestData.TOPIC_SERVER)); + ParameterUtils.updateTopicProperties(topicProperties, "sink", CommonTestData.TOPIC_PARAMS.get(0)); assertEquals(CommonTestData.TOPIC_NAME, topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics")); assertEquals(CommonTestData.TOPIC_SERVER, topicProperties .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + SERVERS)); } + + @Test + public void testGetTopicProperties_all_props() throws Exception { + String json = testData.getParameterGroupAsString( + "src/test/resources/org/onap/policy/common/endpoints/parameters/TopicParameters_all_params.json"); + TopicParameterGroup topicParameterGroup = coder.decode(json, TopicParameterGroup.class); + final GroupValidationResult result = topicParameterGroup.validate(); + assertNull(result.getResult()); + assertTrue(result.isValid()); + Properties topicProperties = ParameterUtils.getTopicProperties(topicParameterGroup); + assertEquals("true", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "managed")); + assertEquals("true", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "managed")); + assertEquals("123", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "port")); + assertEquals("123", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "port")); + assertEquals("my-api-key", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "apiKey")); + assertEquals("my-api-key", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "apiKey")); + assertEquals("my-effective-topic", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "effectiveTopic")); + assertEquals("true", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "useHttps")); + assertEquals("username", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "userName")); + assertEquals("password", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "password")); + assertEquals("true", topicProperties.getProperty( + CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "allowSelfSignedCerts")); + } } -- cgit 1.2.3-korg