package org.onap.ccsdk.sli.plugins.restapicall;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
+import static org.junit.Assert.assertEquals;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
-
import org.junit.Test;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.plugins.restapicall.XmlParser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class TestXmlParser {
- private static final Logger log = LoggerFactory.getLogger(TestXmlParser.class);
-
@Test
public void test() throws Exception {
- BufferedReader in = new BufferedReader(
- new InputStreamReader(ClassLoader.getSystemResourceAsStream("test3.xml"))
- );
- StringBuilder b = new StringBuilder();
- String line;
- while ((line = in.readLine()) != null)
- b.append(line).append('\n');
-
+ String path = "src/test/resources/test3.xml";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
Set<String> listNameList = new HashSet<String>();
listNameList.add("project.dependencies.dependency");
listNameList.add("project.build.plugins.plugin");
listNameList.add("project.build.pluginManagement." +
"plugins.plugin.configuration.lifecycleMappingMetadata.pluginExecutions.pluginExecution");
- Map<String, String> mm = XmlParser.convertToProperties(b.toString(), listNameList);
- logProperties(mm);
- in.close();
+ Map<String, String> mm = XmlParser.convertToProperties(content, listNameList);
+ assertEquals("811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VpnId"));
+ assertEquals("v6", mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.Family"));
+ assertEquals("SET6_BVOIP_IN", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport"));
+ assertEquals("AG_MAX_MCASTROUTES",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.ApplyGroup.ApplyGroup"));
+ assertEquals("ICOREPVC-81114561", mm.get("ApplyGroupResponse.ApplyGroupResponseData.ServiceInstanceId"));
+ assertEquals("SET_RESET_LP", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport"));
+ assertEquals("21302:811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfName"));
+ assertEquals("BGP4_PROTOCOL",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.RoutingProtocol"));
+ assertEquals("AG6_MAX_PREFIX",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.ApplyGroupPeer.ApplyGroup"));
+ assertEquals("VPNL811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.End2EndVpnKey"));
+ assertEquals("AG6_BFD_BGP_3000",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.ApplyGroupNeighbour.ApplyGroup"));
+ assertEquals("200", mm.get("ApplyGroupResponse.response-code"));
+ assertEquals("gp6_21302:811182",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.PeerGroupName"));
+ assertEquals("Y", mm.get("ApplyGroupResponse.ack-final-indicator"));
+ assertEquals("Success", mm.get("ApplyGroupResponse.response-message"));
}
@Test
public void testValidLength() throws Exception {
- BufferedReader in = new BufferedReader(
- new InputStreamReader(ClassLoader.getSystemResourceAsStream("test3.xml"))
- );
- StringBuilder b = new StringBuilder();
- String line;
- while ((line = in.readLine()) != null)
- b.append(line).append('\n');
-
+ String path = "src/test/resources/test3.xml";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
Set<String> listNameList = new HashSet<String>();
listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport");
listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport");
- Map<String, String> mm = XmlParser.convertToProperties(b.toString(), listNameList);
-
- assertThat(mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[5]"), is("SET_RESET_LP"));
- assertThat(mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport[0]"), is("SET_BVOIP_IN"));
-
- logProperties(mm);
- in.close();
+ Map<String, String> mm = XmlParser.convertToProperties(content, listNameList);
+ assertEquals("AG6_BFD_BGP_3000",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.ApplyGroupNeighbour.ApplyGroup"));
+ assertEquals("AG6_MAX_PREFIX",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.ApplyGroupPeer.ApplyGroup"));
+ assertEquals("v6", mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.Family"));
+ assertEquals("gp6_21302:811182",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.PeerGroupName"));
+ assertEquals("BGP4_PROTOCOL",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.RoutingApplyGroups.RoutingProtocol"));
+ assertEquals("ICOREPVC-81114561", mm.get("ApplyGroupResponse.ApplyGroupResponseData.ServiceInstanceId"));
+ assertEquals("AG_MAX_MCASTROUTES",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.ApplyGroup.ApplyGroup"));
+ assertEquals("VPNL811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.End2EndVpnKey"));
+ assertEquals("811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VpnId"));
+ assertEquals("SET6_DSU", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[0]"));
+ assertEquals("SET_DSU", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[1]"));
+ assertEquals("SET6_MANAGED", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[2]"));
+ assertEquals("SET_MANAGED", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[3]"));
+ assertEquals("SET_LOVRF_COMMUNITY",
+ mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[4]"));
+ assertEquals("SET_RESET_LP", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[5]"));
+ assertEquals("6", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport_length"));
+ assertEquals("SET_BVOIP_IN", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport[0]"));
+ assertEquals("SET6_BVOIP_IN", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport[1]"));
+ assertEquals("2", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport_length"));
+ assertEquals("21302:811182", mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfName"));
+ assertEquals("Y", mm.get("ApplyGroupResponse.ack-final-indicator"));
+ assertEquals("200", mm.get("ApplyGroupResponse.response-code"));
+ assertEquals("Success", mm.get("ApplyGroupResponse.response-message"));
}
@Test(expected = SvcLogicException.class)
public void testInvalidLength() throws Exception {
- BufferedReader in = new BufferedReader(
- new InputStreamReader(ClassLoader.getSystemResourceAsStream("invalidlength.xml"))
- );
- StringBuilder b = new StringBuilder();
- String line;
- while ((line = in.readLine()) != null)
- b.append(line).append('\n');
-
+ String path = "src/test/resources/invalidlength.xml";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
Set<String> listNameList = new HashSet<String>();
listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport");
listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport");
-
- Map<String, String> mm = XmlParser.convertToProperties(b.toString(), listNameList);
- logProperties(mm);
- in.close();
+ XmlParser.convertToProperties(content, listNameList); // throws an exception because the length in the xml is
+ // not a valid number
}
- private void logProperties(Map<String, String> mm) {
- List<String> ll = new ArrayList<>();
- for (Object o : mm.keySet())
- ll.add((String) o);
- Collections.sort(ll);
-
- log.info("Properties:");
- for (String name : ll)
- log.info("--- " + name + ": " + mm.get(name));
- }
}