2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package jtest.org.onap.ccsdk.sli.plugins.restapicall;
24 import java.util.HashMap;
27 import org.junit.Assert;
28 import org.junit.Test;
29 import org.onap.ccsdk.sli.plugins.restapicall.XmlJsonUtil;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
34 public class TestXmlJsonUtil {
36 private static final Logger log = LoggerFactory.getLogger(TestXmlJsonUtil.class);
40 Map<String, String> mm = new HashMap<>();
41 mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].vnf-type", "N-SBG");
42 mm.put("service-data.service-information.service-instance-id", "someinstance001");
43 mm.put("service-data.vnf-config-parameters-list." +
44 "vnf-config-parameters[0].dns-server-ip-address", "10.11.12.13");
45 mm.put("service-data.vnf-config-parameters-list." +
46 "vnf-config-parameters[0].escf-domain-name", "hclab.atttest.com");
47 mm.put("service-data.vnf-config-parameters-list." +
48 "vnf-config-parameters[0].snmp-target-v3_length", "2");
49 mm.put("service-data.vnf-config-parameters-list." +
50 "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-v3-id", "1");
51 mm.put("service-data.vnf-config-parameters-list." +
52 "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-ip-address", "127.0.0.1");
53 mm.put("service-data.vnf-config-parameters-list." +
54 "vnf-config-parameters[0].snmp-target-v3[0].snmp-security-level", "NO_AUTH_NO_PRIV");
55 mm.put("service-data.vnf-config-parameters-list." +
56 "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-v3-id", "2");
57 mm.put("service-data.vnf-config-parameters-list." +
58 "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-ip-address", "192.168.1.8");
59 mm.put("service-data.vnf-config-parameters-list." +
60 "vnf-config-parameters[0].snmp-target-v3[1].snmp-security-level", "NO_AUTH_NO_PRIV");
61 mm.put("service-data.vnf-config-parameters-list." +
62 "vnf-config-parameters[0].dns-ip-address-1", "2001:1890:1001:2224::1");
63 mm.put("service-data.vnf-config-parameters-list." +
64 "vnf-config-parameters[0].dns-ip-address-2", "2001:1890:1001:2424::1");
65 mm.put("service-data.vnf-config-parameters-list." +
66 "vnf-config-parameters[0].diameter-rf-realm-name", "uvp.els-an.att.net");
67 mm.put("service-data.vnf-config-parameters-list." +
68 "vnf-config-parameters[0].diameter-rf-peer-ip-address", "192.168.1.66");
69 mm.put("service-data.vnf-config-parameters-list." +
70 "vnf-config-parameters[0].bgf-controller-ip-address", "192.168.1.186");
71 mm.put("service-data.vnf-config-parameters-list." +
72 "vnf-config-parameters[0].bgf-control-link-name", "mg3/69@192.168.1.226");
73 mm.put("service-data.vnf-config-parameters-list." +
74 "vnf-config-parameters[0].rf-interface-nexthop-ip-address", "10.111.108.150");
75 mm.put("service-data.vnf-config-parameters-list." +
76 "vnf-config-parameters[0].rf-mated-pair-ip-address", "10.111.108.146");
78 mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf_length", "4");
80 mm.put("service-data.vnf-config-parameters-list." +
81 "vnf-config-parameters[0].access-net-pcscf[0].network-name", "UvpbUgnAccess1");
82 mm.put("service-data.vnf-config-parameters-list." +
83 "vnf-config-parameters[0].access-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.146");
85 mm.put("service-data.vnf-config-parameters-list." +
86 "vnf-config-parameters[0].access-net-pcscf[1].network-name", "MIS");
87 mm.put("service-data.vnf-config-parameters-list." +
88 "vnf-config-parameters[0].access-net-pcscf[1].proactive-transcoding-profile",
89 "trinity-transcodingProfile");
90 mm.put("service-data.vnf-config-parameters-list." +
91 "vnf-config-parameters[0].access-net-pcscf[1].next-hop-ip-address", "10.111.108.158");
92 mm.put("service-data.vnf-config-parameters-list." +
93 "vnf-config-parameters[0].access-net-pcscf[1].subnet-mask-length", "10.111.108.154");
95 mm.put("service-data.vnf-config-parameters-list." +
96 "vnf-config-parameters[0].access-net-pcscf[2].network-name", "AVPN1");
97 mm.put("service-data.vnf-config-parameters-list." +
98 "vnf-config-parameters[0].access-net-pcscf[2].proactive-transcoding-profile",
99 "trinity-transcodingProfile");
100 mm.put("service-data.vnf-config-parameters-list." +
101 "vnf-config-parameters[0].access-net-pcscf[2].next-hop-ip-address", "10.111.108.166");
102 mm.put("service-data.vnf-config-parameters-list." +
103 "vnf-config-parameters[0].access-net-pcscf[2].subnet-mask-length", "10.111.108.162");
105 mm.put("service-data.vnf-config-parameters-list." +
106 "vnf-config-parameters[0].access-net-pcscf[3].network-name", "AVPN1");
107 mm.put("service-data.vnf-config-parameters-list." +
108 "vnf-config-parameters[0].access-net-pcscf[3].proactive-transcoding-profile",
109 "trinity-transcodingProfile");
110 mm.put("service-data.vnf-config-parameters-list." +
111 "vnf-config-parameters[0].access-net-pcscf[3].next-hop-ip-address", "10.129.108.166");
112 mm.put("service-data.vnf-config-parameters-list." +
113 "vnf-config-parameters[0].access-net-pcscf[3].subnet-mask-length", "10.129.108.162");
115 mm.put("service-data.vnf-config-parameters-list." +
116 "vnf-config-parameters[0].core-net-pcscf_length", "1");
118 mm.put("service-data.vnf-config-parameters-list." +
119 "vnf-config-parameters[0].core-net-pcscf[0].network-name", "Core");
120 mm.put("service-data.vnf-config-parameters-list." +
121 "vnf-config-parameters[0].core-net-pcscf[0].next-hop-ip-address", "10.111.108.142");
122 mm.put("service-data.vnf-config-parameters-list." +
123 "vnf-config-parameters[0].core-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.138");
125 mm.put("service-data.vnf-config-parameters-list." +
126 "vnf-config-parameters[0].mated-pair-fully-qualified-domain-name",
127 "mt1nj01sbg01pyl-mt1nj01sbg02pyl.ar1ga.uvp.els-an.att.net");
129 mm.put("service-data.appc-request-header.svc-request-id", "SOMESERVICEREQUEST123451000");
130 mm.put("service-data.vnf-config-information.vnf-host-ip-address", "192.168.13.151");
131 mm.put("service-data.vnf-config-information.vendor", "Netconf");
133 mm.put("service-data.vnf-config-information.escape-test",
134 "blah blah \"xxx&nnn<>\\'\"there>blah<&''\"\"123\\\\\\'''blah blah &");
136 String ss = XmlJsonUtil.getXml(mm, "service-data.vnf-config-parameters-list");
139 ss = XmlJsonUtil.getXml(mm, "service-data.vnf-config-information");
142 ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-parameters-list.vnf-config-parameters");
145 ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-information");
148 ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-information.vnf-host-ip-address");
151 ss = XmlJsonUtil.getJson(mm, "\"service-data.vnf-config-information.vnf-host-ip-address");
156 public void testRemoveEmptyStructXml() {
185 " <T18>blah blah</T18>\n" +
188 String xmloutexpected = "" +
193 " <T18>blah blah</T18>\n" +
196 String xmlout = XmlJsonUtil.removeEmptyStructXml(xmlin);
199 Assert.assertEquals(xmloutexpected, xmlout);
203 public void testRemoveEmptyStructJson() {
204 String xmlin = "{\r\n" +
214 " \"T13\":[ ],\r\n" +
233 " \"T10\":\"blah\",\r\n" +
244 String xmloutexpected = "{\r\n" +
249 " \"T10\":\"blah\",\r\n" +
257 String xmlout = XmlJsonUtil.removeEmptyStructJson(xmlin);
260 Assert.assertEquals(xmloutexpected, xmlout);