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