From dc35b06ecbff453135aa9c1a557e55995f3e9020 Mon Sep 17 00:00:00 2001 From: "Tej, Tarun" Date: Sat, 16 Sep 2017 12:56:31 -0400 Subject: Adding JUnits for additional coverage PolicyEngine Utils and BRMSGW Junit Issue-Id: POLICY-52 Change-Id: I8e18e8bd6dc5eec0874b9ffe3aebf8e399ff3326 Signed-off-by: Tej, Tarun --- .../java/org/onap/brmsgw/test/BRMSPushTest.java | 234 +++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 BRMSGateway/src/test/java/org/onap/brmsgw/test/BRMSPushTest.java (limited to 'BRMSGateway/src/test/java') diff --git a/BRMSGateway/src/test/java/org/onap/brmsgw/test/BRMSPushTest.java b/BRMSGateway/src/test/java/org/onap/brmsgw/test/BRMSPushTest.java new file mode 100644 index 000000000..aa2574401 --- /dev/null +++ b/BRMSGateway/src/test/java/org/onap/brmsgw/test/BRMSPushTest.java @@ -0,0 +1,234 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP Policy Engine + * ================================================================================ + * Copyright (C) 2017 AT&T 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.brmsgw.test; + +import static org.junit.Assert.assertNotNull; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; + +import org.junit.Test; +import org.onap.policy.api.PolicyException; +import org.onap.policy.brmsInterface.BRMSHandler; + +public class BRMSPushTest { + + private final String VALIDFILE = "src/test/resources/config.properties"; + private final String INVALIDFILE = "src/test/resources/failure.properties"; + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest() throws PolicyException { + new BRMSHandler(null); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest1() throws PolicyException { + new BRMSHandler("src/test/resources/filenotexists.txt"); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest2() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "defaultName"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest3() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "repositoryID"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + prop = new PropertyChange(); + prop.key = "RESOURCE_NAME"; + prop.remove = true; + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest4() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "repositoryURL"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest5() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "repositoryName"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest6() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "repositoryURL"; + prop.value = "http://nexus:8081/nexus/content/repositories/releases, http://nexus:8081/nexus/content/repositories/releases"; + prop.remove = false; + List props = new LinkedList<>(); + props.add(prop); + prop = new PropertyChange(); + prop.key = "repositoryUsername"; + prop.remove = true; + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest7() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "repositoryPassword"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest8() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "policyKeyID"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest9() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "sync"; + prop.value = "true"; + prop.remove = false; + List props = new LinkedList<>(); + props.add(prop); + prop = new PropertyChange(); + prop.key = "brms.dependency.version"; + prop.remove = true; + props.add(prop); + prop = new PropertyChange(); + prop.key = "groupNames"; + prop.remove = true; + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest10() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "groupNames"; + prop.value = ""; + prop.remove = false; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest11() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "default.groupID"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest12() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "default.artifactID"; + prop.remove = true; + List props = new LinkedList<>(); + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test (expected = PolicyException.class) + public void bRMSHandlerFailTest13() throws PolicyException { + PropertyChange prop = new PropertyChange(); + prop.key = "NOTIFICATION_TYPE"; + prop.value = "dmaap"; + prop.remove = false; + List props = new LinkedList<>(); + props.add(prop); + prop = new PropertyChange(); + prop.key = "NOTIFICATION_SERVERS"; + prop.remove = true; + props.add(prop); + setFailureProperties(props); + new BRMSHandler(INVALIDFILE); + } + + @Test + public void BRMSHandlerTest() throws PolicyException { + assertNotNull(new BRMSHandler(VALIDFILE)); + } + + private void setFailureProperties(List properties) throws PolicyException { + Properties validProp = new Properties(); + try { + validProp.load(new FileInputStream(VALIDFILE)); + for (PropertyChange prop: properties) { + if(prop.remove) { + validProp.remove(prop.key); + }else { + validProp.setProperty(prop.key, prop.value); + } + } + validProp.store(new FileOutputStream(INVALIDFILE), null); + } catch (IOException e) { + throw new PolicyException(e); + } + } + + class PropertyChange { + public String key = null; + public String value = null; + public Boolean remove = false; + } +} -- cgit 1.2.3-korg