From 96a9aafdff7813324bc8a8ba1e743683e251dde6 Mon Sep 17 00:00:00 2001 From: Jessica Wagantall Date: Tue, 1 Dec 2020 11:33:35 -0800 Subject: Migrate files from sli-plugins Migrate sli-plugins repo into new directory "plugins". Signed-off-by: Jessica Wagantall --- .../plugins/restapicall/MockCookieAuthServer.java | 40 -- .../plugins/restapicall/MultipartServerMock.java | 44 -- .../sli/plugins/restapicall/TestJsonParser.java | 259 --------- .../plugins/restapicall/TestRestapiCallNode.java | 604 --------------------- .../sli/plugins/restapicall/TestXmlJsonUtil.java | 321 ----------- .../sli/plugins/restapicall/TestXmlParser.java | 121 ----- 6 files changed, 1389 deletions(-) delete mode 100644 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MockCookieAuthServer.java delete mode 100644 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MultipartServerMock.java delete mode 100644 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestJsonParser.java delete mode 100755 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java delete mode 100644 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlJsonUtil.java delete mode 100644 restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlParser.java (limited to 'restapi-call-node/provider/src/test/java/org/onap') diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MockCookieAuthServer.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MockCookieAuthServer.java deleted file mode 100644 index 7e1e0d505..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MockCookieAuthServer.java +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.sli.plugins.restapicall; - -import javax.ws.rs.Consumes; -import javax.ws.rs.Produces; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.NewCookie; -import javax.ws.rs.core.Response; - -@Path("get-cookie") -public class MockCookieAuthServer { - @GET - @Path("cookie") - @Produces(MediaType.APPLICATION_JSON) - @Consumes(MediaType.APPLICATION_JSON) - public Response getCookie() { - return Response.status(200).entity("success").cookie(new NewCookie("cookieResponse", "cookieValueInReturn")).build(); - } -} diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MultipartServerMock.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MultipartServerMock.java deleted file mode 100644 index 00b5c324d..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/MultipartServerMock.java +++ /dev/null @@ -1,44 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - CCSDK - * ================================================================================ - * Copyright (C) 2019 Huawei Technologies Co., Ltd. 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.ccsdk.sli.plugins.restapicall; - -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataParam; - -import javax.ws.rs.Consumes; - -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import java.io.InputStream; - -@Path("file-upload") -public class MultipartServerMock { - - @POST - @Path("upload") - @Consumes(MediaType.MULTIPART_FORM_DATA) - public Response uploadFile( - @FormDataParam("file") InputStream inputStream, - @FormDataParam("file") FormDataContentDisposition fileDetail) { - return Response.status(200).entity(fileDetail.getFileName()).build(); - } -} diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestJsonParser.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestJsonParser.java deleted file mode 100644 index cdffd4576..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestJsonParser.java +++ /dev/null @@ -1,259 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * 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.ccsdk.sli.plugins.restapicall; - -import static org.junit.Assert.assertEquals; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Map; -import org.junit.Test; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; - -public class TestJsonParser { - - @Test - public void test() throws SvcLogicException, IOException { - String path = "src/test/resources/test.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - assertEquals("Server1", mm.get("equipment-data[0].equipment-id")); - assertEquals("1600000", mm.get("equipment-data[0].max-server-speed")); - assertEquals("2", mm.get("equipment-data[0].number-primary-servers")); - assertEquals("4", mm.get("equipment-data[0].server-count")); - assertEquals("Server1", mm.get("equipment-data[0].server-id")); - assertEquals("Unknown", mm.get("equipment-data[0].server-model")); - assertEquals("Test-Value", mm.get("equipment-data[0].test-node.test-inner-node")); - assertEquals("1", mm.get("equipment-data_length")); - assertEquals("The provisioned access bandwidth is at or exceeds 50% of the total server capacity.", - mm.get("message")); - assertEquals("VCE-Cust", mm.get("resource-rule.endpoint-position")); - assertEquals("Server", mm.get("resource-rule.equipment-level")); - assertEquals("max-server-speed * number-primary-servers", mm.get("resource-rule.hard-limit-expression")); - assertEquals("Bandwidth", mm.get("resource-rule.resource-name")); - assertEquals("DUMMY", mm.get("resource-rule.service-model")); - assertEquals("0.6 * max-server-speed * number-primary-servers", mm.get("resource-rule.soft-limit-expression")); - assertEquals("1605000", mm.get("resource-state.last-added")); - assertEquals("1920000", mm.get("resource-state.limit-value")); - assertEquals("1600000", mm.get("resource-state.threshold-value")); - assertEquals("1605000", mm.get("resource-state.used")); - } - - @Test(expected = NullPointerException.class) - public void testNullString() throws SvcLogicException { - JsonParser.convertToProperties(null); - } - - @Test - public void testJsonStringToCtxToplevelArray() throws Exception { - String path = "src/test/resources/ArrayMenu.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - - assertEquals("1000", mm.get("[0].calories")); - assertEquals("1", mm.get("[0].id")); - assertEquals("plain", mm.get("[0].name")); - assertEquals("pizza", mm.get("[0].type")); - assertEquals("true", mm.get("[0].vegetarian")); - assertEquals("2000", mm.get("[1].calories")); - assertEquals("2", mm.get("[1].id")); - assertEquals("Tuesday Special", mm.get("[1].name")); - assertEquals("1", mm.get("[1].topping[0].id")); - assertEquals("onion", mm.get("[1].topping[0].name")); - assertEquals("2", mm.get("[1].topping[1].id")); - assertEquals("pepperoni", mm.get("[1].topping[1].name")); - assertEquals("2", mm.get("[1].topping_length")); - assertEquals("pizza", mm.get("[1].type")); - assertEquals("false", mm.get("[1].vegetarian")); - assertEquals("1500", mm.get("[2].calories")); - assertEquals("3", mm.get("[2].id")); - assertEquals("House Special", mm.get("[2].name")); - assertEquals("3", mm.get("[2].topping[0].id")); - assertEquals("basil", mm.get("[2].topping[0].name")); - assertEquals("4", mm.get("[2].topping[1].id")); - assertEquals("fresh mozzarella", mm.get("[2].topping[1].name")); - assertEquals("5", mm.get("[2].topping[2].id")); - assertEquals("tomato", mm.get("[2].topping[2].name")); - assertEquals("3", mm.get("[2].topping_length")); - assertEquals("pizza", mm.get("[2].type")); - assertEquals("true", mm.get("[2].vegetarian")); - assertEquals("3", mm.get("_length")); - } - - @Test - public void testJsonStringToCtx() throws Exception { - String path = "src/test/resources/ObjectMenu.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - assertEquals("1000", mm.get("menu[0].calories")); - assertEquals("1", mm.get("menu[0].id")); - assertEquals("plain", mm.get("menu[0].name")); - assertEquals("pizza", mm.get("menu[0].type")); - assertEquals("true", mm.get("menu[0].vegetarian")); - assertEquals("2000", mm.get("menu[1].calories")); - assertEquals("2", mm.get("menu[1].id")); - assertEquals("Tuesday Special", mm.get("menu[1].name")); - assertEquals("1", mm.get("menu[1].topping[0].id")); - assertEquals("onion", mm.get("menu[1].topping[0].name")); - assertEquals("2", mm.get("menu[1].topping[1].id")); - assertEquals("pepperoni", mm.get("menu[1].topping[1].name")); - assertEquals("2", mm.get("menu[1].topping_length")); - assertEquals("pizza", mm.get("menu[1].type")); - assertEquals("false", mm.get("menu[1].vegetarian")); - assertEquals("1500", mm.get("menu[2].calories")); - assertEquals("3", mm.get("menu[2].id")); - assertEquals("House Special", mm.get("menu[2].name")); - assertEquals("3", mm.get("menu[2].topping[0].id")); - assertEquals("basil", mm.get("menu[2].topping[0].name")); - assertEquals("4", mm.get("menu[2].topping[1].id")); - assertEquals("fresh mozzarella", mm.get("menu[2].topping[1].name")); - assertEquals("5", mm.get("menu[2].topping[2].id")); - assertEquals("tomato", mm.get("menu[2].topping[2].name")); - assertEquals("3", mm.get("menu[2].topping_length")); - assertEquals("pizza", mm.get("menu[2].type")); - assertEquals("true", mm.get("menu[2].vegetarian")); - assertEquals("3", mm.get("menu_length")); - } - - @Test - public void test1dJsonStringToCtx() throws Exception { - String path = "src/test/resources/1dArray.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - - System.out.println(mm); - assertEquals("6", mm.get("_length")); - assertEquals("apple", mm.get("[0]")); - assertEquals("orange", mm.get("[1]")); - assertEquals("banana", mm.get("[2]")); - assertEquals("squash", mm.get("[3]")); - assertEquals("broccoli", mm.get("[4]")); - assertEquals("cauliflower", mm.get("[5]")); - } - - @Test - public void test2dJsonStringToCtx() throws Exception { - String path = "src/test/resources/2dArray.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - - // code will crash before these tests - assertEquals("apple", mm.get("[0][0]")); - assertEquals("orange", mm.get("[0][1]")); - assertEquals("banana", mm.get("[0][2]")); - assertEquals("3", mm.get("[0]_length")); - - assertEquals("squash", mm.get("[1][0]")); - assertEquals("broccoli", mm.get("[1][1]")); - assertEquals("cauliflower", mm.get("[1][2]")); - assertEquals("3", mm.get("[1]_length")); - assertEquals("2", mm.get("_length")); - } - - @Test - public void test3dJsonStringToCtx() throws Exception { - String path = "src/test/resources/3dArray.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - - assertEquals("3", mm.get("_length")); - assertEquals("1", mm.get("[0]_length")); - assertEquals("3", mm.get("[0][0]_length")); - - assertEquals("2", mm.get("[1]_length")); - assertEquals("3", mm.get("[1][0]_length")); - assertEquals("3", mm.get("[1][1]_length")); - - assertEquals("3", mm.get("[2]_length")); - assertEquals("3", mm.get("[2][0]_length")); - assertEquals("3", mm.get("[2][1]_length")); - assertEquals("3", mm.get("[2][2]_length")); - - assertEquals("x", mm.get("[0][0][0]")); - assertEquals("y", mm.get("[0][0][1]")); - assertEquals("z", mm.get("[0][0][2]")); - - assertEquals("abc", mm.get("[1][0][0]")); - assertEquals("def", mm.get("[1][0][1]")); - assertEquals("xyz", mm.get("[1][0][2]")); - - assertEquals("123", mm.get("[1][1][0]")); - assertEquals("456", mm.get("[1][1][1]")); - assertEquals("789", mm.get("[1][1][2]")); - - assertEquals("a", mm.get("[2][0][0]")); - assertEquals("b", mm.get("[2][0][1]")); - assertEquals("c", mm.get("[2][0][2]")); - - assertEquals("d", mm.get("[2][1][0]")); - assertEquals("e", mm.get("[2][1][1]")); - assertEquals("f", mm.get("[2][1][2]")); - - assertEquals("1", mm.get("[2][2][0]")); - assertEquals("2", mm.get("[2][2][1]")); - assertEquals("3", mm.get("[2][2][2]")); - } - - @Test - public void testJsonWidgetStringToCtx() throws Exception { - String path = "src/test/resources/Widget.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - assertEquals("false", mm.get("widget.debug")); - assertEquals("center", mm.get("widget.image.alignment")); - assertEquals("150", mm.get("widget.image.hOffset")); - assertEquals("moon", mm.get("widget.image.name")); - assertEquals("images/moon.png", mm.get("widget.image.src")); - assertEquals("150", mm.get("widget.image.vOffset")); - assertEquals("center", mm.get("widget.text.alignment")); - assertEquals("Click Me", mm.get("widget.text.data")); - assertEquals("350", mm.get("widget.text.hOffset")); - assertEquals("text1", mm.get("widget.text.name")); - assertEquals("21", mm.get("widget.text.size")); - assertEquals("bold", mm.get("widget.text.style")); - assertEquals("200", mm.get("widget.text.vOffset")); - assertEquals("300", mm.get("widget.window.height")); - assertEquals("main_window", mm.get("widget.window.name")); - assertEquals("ONAP Widget", mm.get("widget.window.title")); - assertEquals("200", mm.get("widget.window.width")); - } - - @Test - public void testEmbeddedEscapedJsonJsonStringToCtx() throws Exception { - String path = "src/test/resources/EmbeddedEscapedJson.json"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Map mm = JsonParser.convertToProperties(content); - assertEquals("escapedJsonObject", mm.get("input.parameters[0].name")); - assertEquals("[{\"id\":\"0.2.0.0/16\"},{\"id\":\"ge04::/64\"}]", mm.get("input.parameters[0].value")); - assertEquals("Hello/World", mm.get("input.parameters[1].value")); - assertEquals("resourceName", mm.get("input.parameters[2].name")); - assertEquals("The\t\"Best\"\tName", mm.get("input.parameters[2].value")); - assertEquals("3", mm.get("input.parameters_length")); - - // Break the embedded json object into properties - mm = JsonParser.convertToProperties(mm.get("input.parameters[0].value")); - assertEquals("0.2.0.0/16", mm.get("[0].id")); - assertEquals("ge04::/64", mm.get("[1].id")); - assertEquals("2", mm.get("_length")); - } - -} diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java deleted file mode 100755 index a993bb946..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java +++ /dev/null @@ -1,604 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * 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.ccsdk.sli.plugins.restapicall; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.util.HashMap; -import java.util.Map; -import org.codehaus.jettison.json.JSONObject; -import org.junit.Before; -import org.junit.Test; -import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class TestRestapiCallNode { - - @SuppressWarnings("unused") - private static final Logger log = LoggerFactory.getLogger(TestRestapiCallNode.class); - - @Before - public void init() { - System.setProperty("SDNC_CONFIG_DIR", "src/test/resources"); - } - - @Test - public void testDelete() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - - Map p = new HashMap<>(); - p.put("restapiUrl", "https://echo.getpostman.com/delete"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "pwd1"); - p.put("httpMethod", "delete"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testDeleteWithPayload() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - - ctx.setAttribute("prop.name", "site1"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/sdwan-site.json"); - p.put("restapiUrl", "https://echo.getpostman.com/delete"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "pwd1"); - p.put("httpMethod", "delete"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testSendFile() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - - Map p = new HashMap<>(); - p.put("fileName", "src/test/resources/test_file.txt"); - p.put("url", "https://testurl.test"); - p.put("user", "user"); - p.put("password", "*******"); - p.put("skipSending", "true"); // Set real url, user, password, when testing actual sending - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendFile(p, ctx); - } - - @Test - public void testJsonTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("tmp.sdn-circuit-req-row_length", "3"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[1].clci", "clci"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[2].clci", "clci"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/test-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testInvalidRepeatTimes() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("tmp.sdn-circuit-req-row_length", "a"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/test-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test(expected = SvcLogicException.class) - public void testInvalidTemplatePath() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("tmp.sdn-circuit-req-row_length", "1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resourcess/test-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test(expected = SvcLogicException.class) - public void testWithoutSkipSending() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("tmp.sdn-circuit-req-row_length", "1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/test-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "false"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - - @Test(expected = SvcLogicException.class) - public void testWithInvalidURI() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("tmp.sdn-circuit-req-row_length", "1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].source-uid", "APIDOC-123"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].action", "delete"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-timestamp", "2016-09-09 16:30:35.0"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].request-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].processing-status", "New"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].service-clfi", "testClfi1"); - ctx.setAttribute("tmp.sdn-circuit-req-row[0].clci", "clci"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/test-template.json"); - p.put("restapiUrl", "http://echo. getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "false"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testVpnJsonTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001"); - ctx.setAttribute("prop.l3vpn.topology", "point_to_point"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l3smvpntemplate.json"); - p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services"); - p.put("restapiUser", "admin"); - p.put("restapiPassword", "admin123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testSiteJsonTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001"); - ctx.setAttribute("prop.l3vpn.topology", "point_to_point"); - - ctx.setAttribute("prop.l3vpn.site1_name", "10000000-0000-0000-0000-000000000002"); - ctx.setAttribute("prop.l3vpn.vpn-policy1-id", "10000000-0000-0000-0000-000000000003"); - ctx.setAttribute("prop.l3vpn.entry1-id", "1"); - ctx.setAttribute("prop.l3vpn.sna1_name", "10000000-0000-0000-0000-000000000004"); - ctx.setAttribute("prop.l3vpn.pe1_id", "a8098c1a-f86e-11da-bd1a-00112444be1e"); - ctx.setAttribute("prop.l3vpn.ac1_id", "a8098c1a-f86e-11da-bd1a-00112444be1b"); - ctx.setAttribute("prop.l3vpn.ac1-peer-ip", "192.168.1.1"); - ctx.setAttribute("prop.l3vpn.ac1-ip", "192.168.1.2"); - ctx.setAttribute("prop.l3vpn.sna1_svlan", "100"); - ctx.setAttribute("prop.l3vpn.ac1_protocol", "static"); - ctx.setAttribute("prop.l3vpn.sna1-route.ip-prefix", "192.168.1.1/24"); - ctx.setAttribute("prop.l3vpn.sna1-route.next-hop", "192.168.1.4"); - - ctx.setAttribute("prop.l3vpn.site2_name", "10000000-0000-0000-0000-000000000005"); - ctx.setAttribute("prop.l3vpn.vpn-policy2-id", "10000000-0000-0000-0000-000000000006"); - ctx.setAttribute("prop.l3vpn.entry2-id", "1"); - ctx.setAttribute("prop.l3vpn.sna2_name", "10000000-0000-0000-0000-000000000007"); - ctx.setAttribute("prop.l3vpn.pe2_id", "a8098c1a-f86e-11da-bd1a-00112444be1a"); - ctx.setAttribute("prop.l3vpn.ac2_id", "a8098c1a-f86e-11da-bd1a-00112444be1c"); - ctx.setAttribute("prop.l3vpn.ac2-peer-ip", "192.168.1.6"); - ctx.setAttribute("prop.l3vpn.ac2-ip", "192.168.1.5"); - ctx.setAttribute("prop.l3vpn.sna2_svlan", "200"); - ctx.setAttribute("prop.l3vpn.ac2_protocol", "bgp"); - ctx.setAttribute("prop.l3vpn.peer2-ip", "192.168.1.7"); - ctx.setAttribute("prop.l3vpn.ac2_protocol_bgp_as", "200"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l3smsitetemplate.json"); - p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites"); - p.put("restapiUser", "admin"); - p.put("restapiPassword", "admin123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testVrfJsonTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.l3vpn.vrf1-id", "10000000-0000-0000-0000-000000000007"); - ctx.setAttribute("prop.l3vpn.vpn-policy1-id", "10000000-0000-0000-0000-000000000003"); - ctx.setAttribute("prop.l3vpn.pe1_id", "a8098c1a-f86e-11da-bd1a-00112444be1e"); - ctx.setAttribute("prop.l3vpn.vrf2-id", "10000000-0000-0000-0000-000000000009"); - ctx.setAttribute("prop.l3vpn.vpn-policy2-id", "10000000-0000-0000-0000-000000000006"); - ctx.setAttribute("prop.l3vpn.pe2_id", "a8098c1a-f86e-11da-bd1a-00112444be1a"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l3smvrftemplate.json"); - p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vrf-attributes"); - p.put("restapiUser", "admin"); - p.put("restapiPassword", "admin123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testDeleteVpnJsonTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001"); - ctx.setAttribute("prop.l3vpn.topology", "point_to_point"); - - Map p = new HashMap<>(); - //p.put("templateFileName", "src/test/resources/l3smvpntemplate.json"); - p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services" - + "/vpnservice=10000000-0000-0000-0000-000000000001"); - p.put("restapiUser", "admin"); - p.put("restapiPassword", "admin123"); - p.put("format", "json"); - p.put("httpMethod", "delete"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testL2DciTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.dci-connects.id", "Id1"); - ctx.setAttribute("prop.dci-connects.name", "Name1"); - ctx.setAttribute("prop.dci-connects.local_networks[0]", "NetId1"); - ctx.setAttribute("prop.dci-connects.local_networks[1]", "NetId2"); - ctx.setAttribute("prop.dci-connects.evpn_irts[0]", "100:1"); - ctx.setAttribute("prop.dci-connects.evpn_erts[0]", "100:2"); - ctx.setAttribute("prop.dci-connects.evpn_irts[1]", "200:1"); - ctx.setAttribute("prop.dci-connects.evpn_erts[1]", "200:2"); - ctx.setAttribute("prop.dci-connects.vni", "1"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l2-dci-connects-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testL3DciTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.dci-connects.id", "Id1"); - ctx.setAttribute("prop.dci-connects.name", "Name1"); - ctx.setAttribute("prop.dci-connects.local_networks_length", "2"); - ctx.setAttribute("prop.dci-connects.local_networks[0]", "NetId1"); - ctx.setAttribute("prop.dci-connects.local_networks[1]", "NetId2"); - ctx.setAttribute("prop.dci-connects.evpn_irts[0]", "100:1"); - ctx.setAttribute("prop.dci-connects.evpn_erts[0]", "100:2"); - ctx.setAttribute("prop.dci-connects.evpn_irts[1]", "200:1"); - ctx.setAttribute("prop.dci-connects.evpn_erts[1]", "200:2"); - ctx.setAttribute("prop.dci-connects.vni", "1"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l3-dci-connects-template.json"); - p.put("restapiUrl", "http://echo.getpostman.com"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "abc123"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "response"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - - } - - @Test - public void testControllerTokenTemplate() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.sdncRestApi.thirdpartySdnc.user", "admin"); - ctx.setAttribute("prop.sdncRestApi.thirdpartySdnc.password", "admin123"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/actokentemplate.json"); - p.put("restapiUrl", "https://ipwan:18002/controller/v2/tokens"); - p.put("format", "json"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - - @Test - public void testDeleteNoneAsContentType() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - - Map p = new HashMap<>(); - p.put("restapiUrl", "https://echo.getpostman.com/delete"); - p.put("restapiUser", "user1"); - p.put("restapiPassword", "pwd1"); - p.put("httpMethod", "delete"); - p.put("format", "none"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - - @Test - public void testPostNoneAsContentType() throws SvcLogicException { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001"); - ctx.setAttribute("prop.l3vpn.topology", "point_to_point"); - - Map p = new HashMap<>(); - p.put("templateFileName", "src/test/resources/l3smvpntemplate.json"); - p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services"); - p.put("restapiUser", "admin"); - p.put("restapiPassword", "admin123"); - p.put("format", "none"); - p.put("httpMethod", "post"); - p.put("responsePrefix", "restapi-result"); - p.put("skipSending", "true"); - - RestapiCallNode rcn = new RestapiCallNode(); - rcn.sendRequest(p, ctx); - } - /* - * { - "partnerOne": { - "url": "http://localhost:7001" 4 http://uebsb93kcdc.it.att.com:3904", - "test": "/metrics" - }, - "partnerTwo": { - "url": "http://localhost:7002", - "user": "controller_user", - "password": "P@ssword", - "test": "/metrics" - }, - "partnerThree": { - "url": "http://localhost:7003", - "user": "controller_admin" - } -} - */ - @Test - public void testPartners() throws Exception{ - String partnerTwoKey = "partnerTwo"; - String partnerTwoUsername = "controller_user"; - String partnerTwoPassword = "P@ssword"; - - System.setProperty("SDNC_CONFIG_DIR", "src/test/resources"); - RestapiCallNode rcn = new RestapiCallNode(); - assertNull(rcn.partnerStore.get("partnerOne")); - PartnerDetails details = rcn.partnerStore.get(partnerTwoKey); - assertEquals(partnerTwoUsername,details.username); - assertEquals(partnerTwoPassword,details.password); - assertNull(rcn.partnerStore.get("partnerThree")); - - //In this scenario the caller expects username, password and url to be picked up from the partners json - Map paramMap = new HashMap<>(); - paramMap.put("partner", partnerTwoKey); - rcn.handlePartner(paramMap ); - assertEquals(partnerTwoUsername,paramMap.get(RestapiCallNode.restapiUserKey)); - assertEquals(partnerTwoPassword,paramMap.get(RestapiCallNode.restapiPasswordKey)); - assertEquals("http://localhost:7002",paramMap.get(RestapiCallNode.restapiUrlString)); - - //In this scenario the caller expects username, password and url to be picked up from the partners json - //the provided suffix will be appended to the default url from the partners json - paramMap = new HashMap<>(); - paramMap.put("partner", partnerTwoKey); - paramMap.put("restapiUrlSuffix", "/networking/v1/instance/3"); - rcn.handlePartner(paramMap); - Parameters p = new Parameters(); - RestapiCallNode.getParameters(paramMap, p); - assertEquals(partnerTwoUsername,p.restapiUser); - assertEquals(partnerTwoPassword,p.restapiPassword); - assertEquals("http://localhost:7002/networking/v1/instance/3",p.restapiUrl); - } - - @Test - public void retryPolicyBean() throws Exception { - Integer retries = 3; - String first = "http://localhost:7001"; - String second = "http://localhost:7001"; - - RetryPolicy p = new RetryPolicy(new String[] {first,second}, retries); - assertEquals(retries,p.getMaximumRetries()); - assertNotNull(p.getRetryMessage()); - String next = p.getNextHostName(); - assertEquals(second,next); - assertEquals(1,p.getRetryCount()); - next = p.getNextHostName(); - assertEquals(first,next); - assertEquals(2,p.getRetryCount()); - } - - @Test - public void testEmbeddedJsonTemplate() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - String complexObj = "{\"image_name\":\"Ubuntu 14.04\",\"service-instance-id\":\"1\",\"vnf-model-customization-uuid\":\"2f\",\"vnf-id\":\"3b\"}"; - ctx.setAttribute("reqId", "1235"); - ctx.setAttribute("subReqId", "054243"); - ctx.setAttribute("actionName", "CREATE"); - ctx.setAttribute("myPrefix", "2016-09-09 16:30:35.0"); - ctx.setAttribute("complexObj", complexObj); - RestapiCallNode rcn = new RestapiCallNode(); - String request = rcn.buildXmlJsonRequest(ctx, rcn.readFile("src/test/resources/testEmbeddedTemplate.json"), Format.JSON); - //This will throw a JSONException and fail the test case if rest api call node doesn't form valid JSON - assertNotNull(new JSONObject(request)); - } - - @Test - public void testMultiLineEmbeddedJsonTemplate() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - String complexObj = "{\n" - + " \"image_name\": \"Ubuntu 14.04\",\n" - + " \"service-instance-id\": \"1\",\n" - + " \"vnf-model-customization-uuid\": \"2f\",\n" - + " \"vnf-id\": \"3b\"\n" - + "}"; - ctx.setAttribute("reqId", "1235"); - ctx.setAttribute("subReqId", "054243"); - ctx.setAttribute("actionName", "CREATE"); - ctx.setAttribute("myPrefix", "2016-09-09 16:30:35.0"); - ctx.setAttribute("complexObj", complexObj); - RestapiCallNode rcn = new RestapiCallNode(); - String request = rcn.buildXmlJsonRequest(ctx, rcn.readFile("src/test/resources/testMultiLineEmbeddedTemplate.json"), Format.JSON); - //This will throw a JSONException and fail the test case if rest api call node doesn't form valid JSON - assertNotNull(new JSONObject(request)); - } - - @Test - public void testGetMultipleUrls() throws Exception{ - String[] urls = RestapiCallNode.getMultipleUrls("http://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Banana,https://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Potato"); - assertEquals("http://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Banana",urls[0]); - assertEquals("https://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Potato",urls[1]); - - urls = RestapiCallNode.getMultipleUrls("https://wiki.onap.org/,http://localhost:7001/,http://wiki.onap.org/"); - assertEquals("https://wiki.onap.org/",urls[0]); - assertEquals("http://localhost:7001/",urls[1]); - assertEquals("http://wiki.onap.org/",urls[2]); - - urls = RestapiCallNode.getMultipleUrls("https://wiki.onap.org/test=4,5,6,http://localhost:7001/test=1,2,3,http://wiki.onap.org/test=7,8,9,10"); - assertEquals("https://wiki.onap.org/test=4,5,6",urls[0]); - assertEquals("http://localhost:7001/test=1,2,3",urls[1]); - assertEquals("http://wiki.onap.org/test=7,8,9,10",urls[2]); - - urls = RestapiCallNode.getMultipleUrls("https://wiki.onap.org/,https://readthedocs.org/projects/onap/"); - assertEquals("https://wiki.onap.org/",urls[0]); - assertEquals("https://readthedocs.org/projects/onap/",urls[1]); - } - - @Test - public void testContainsMultipleUrls() throws Exception{ - assertFalse(RestapiCallNode.containsMultipleUrls("https://wiki.onap.org/")); - assertFalse(RestapiCallNode.containsMultipleUrls("http://wiki.onap.org/")); - assertFalse(RestapiCallNode.containsMultipleUrls("http://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Banana")); - assertFalse(RestapiCallNode.containsMultipleUrls("https://localhost:8008/params=1,2,3,4,5,6")); - - assertTrue(RestapiCallNode.containsMultipleUrls("https://wiki.onap.org/,https://readthedocs.org/projects/onap/")); - assertTrue(RestapiCallNode.containsMultipleUrls("http://localhost:7001/,http://localhost:7002")); - assertTrue(RestapiCallNode.containsMultipleUrls("http://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Banana,https://localhost:8008/rest/restconf/data/abc:def/abc:action=Create,deviceType=Potato")); - assertTrue(RestapiCallNode.containsMultipleUrls("https://wiki.onap.org/,http://localhost:7001/,http://wiki.onap.org/")); - assertTrue(RestapiCallNode.containsMultipleUrls("https://wiki.onap.org/test=4,5,6,http://localhost:7001/test=1,2,3,http://wiki.onap.org/test=7,8,9,10")); - } - -} diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlJsonUtil.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlJsonUtil.java deleted file mode 100644 index ac6d3b78b..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlJsonUtil.java +++ /dev/null @@ -1,321 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * 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.ccsdk.sli.plugins.restapicall; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; -import org.onap.ccsdk.sli.plugins.restapicall.XmlJsonUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class TestXmlJsonUtil { - - private static final Logger log = LoggerFactory.getLogger(TestXmlJsonUtil.class); - - @Test - public void test() { - Map mm = new HashMap<>(); - mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].vnf-type", "N-SBG"); - mm.put("service-data.service-information.service-instance-id", "someinstance001"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].dns-server-ip-address", "10.11.12.13"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].escf-domain-name", "hclab.atttest.com"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3_length", "2"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-v3-id", "1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[0].snmp-target-ip-address", "127.0.0.1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[0].snmp-security-level", "NO_AUTH_NO_PRIV"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-v3-id", "2"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[1].snmp-target-ip-address", "192.168.1.8"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].snmp-target-v3[1].snmp-security-level", "NO_AUTH_NO_PRIV"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].dns-ip-address-1", "2001:1890:1001:2224::1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].dns-ip-address-2", "2001:1890:1001:2424::1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].diameter-rf-realm-name", "uvp.els-an.att.net"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].diameter-rf-peer-ip-address", "192.168.1.66"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].bgf-controller-ip-address", "192.168.1.186"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].bgf-control-link-name", "mg3/69@192.168.1.226"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].rf-interface-nexthop-ip-address", "10.111.108.150"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].rf-mated-pair-ip-address", "10.111.108.146"); - - mm.put("service-data.vnf-config-parameters-list.vnf-config-parameters[0].access-net-pcscf_length", "4"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[0].network-name", "UvpbUgnAccess1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.146"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[1].network-name", "MIS"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[1].proactive-transcoding-profile", - "trinity-transcodingProfile"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[1].next-hop-ip-address", "10.111.108.158"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[1].subnet-mask-length", "10.111.108.154"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[2].network-name", "AVPN1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[2].proactive-transcoding-profile", - "trinity-transcodingProfile"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[2].next-hop-ip-address", "10.111.108.166"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[2].subnet-mask-length", "10.111.108.162"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[3].network-name", "AVPN1"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[3].proactive-transcoding-profile", - "trinity-transcodingProfile"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[3].next-hop-ip-address", "10.129.108.166"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].access-net-pcscf[3].subnet-mask-length", "10.129.108.162"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].core-net-pcscf_length", "1"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].core-net-pcscf[0].network-name", "Core"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].core-net-pcscf[0].next-hop-ip-address", "10.111.108.142"); - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].core-net-pcscf[0].sip-pa-termination-ip-address", "10.111.108.138"); - - mm.put("service-data.vnf-config-parameters-list." + - "vnf-config-parameters[0].mated-pair-fully-qualified-domain-name", - "mt1nj01sbg01pyl-mt1nj01sbg02pyl.ar1ga.uvp.els-an.att.net"); - - mm.put("service-data.appc-request-header.svc-request-id", "SOMESERVICEREQUEST123451000"); - mm.put("service-data.vnf-config-information.vnf-host-ip-address", "192.168.13.151"); - mm.put("service-data.vnf-config-information.vendor", "Netconf"); - - mm.put("service-data.vnf-config-information.escape-test", - "blah blah \"xxx&nnn<>\\'\"there>blah<&''\"\"123\\\\\\'''blah blah &"); - - String ss = XmlJsonUtil.getXml(mm, "service-data.vnf-config-parameters-list"); - log.info(ss); - - ss = XmlJsonUtil.getXml(mm, "service-data.vnf-config-information"); - log.info(ss); - - ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-parameters-list.vnf-config-parameters"); - log.info(ss); - - ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-information"); - log.info(ss); - - ss = XmlJsonUtil.getJson(mm, "service-data.vnf-config-information.vnf-host-ip-address"); - log.info(ss); - - ss = XmlJsonUtil.getJson(mm, "\"service-data.vnf-config-information.vnf-host-ip-address"); - log.info(ss); - } - - public void testRemoveEmptyStructJson1() { - String xmlin = "{\n" + - " \"policyName\" : \"default-domain.ECOM_Tenant_DND.ECOM_Tenant_DND_mtn6_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_landing-network-role_policy_05\",\n" + - " \"policyConfigType\": \"MicroService\",\n" + - " \"ecompName\": \"SDNC\",\n" + - " \"configBody\": \"{\\\"service\\\": \\\"NetworkPolicy\\\"," + - "\\\"location\\\": \\\"Search\\\",\\\"uuid\\\": \\\"Search\\\"," + - "\\\"policyName\\\": \\\"default-domain.ECOM_Tenant_DND.ECOM_Tenant_DND_mtn6_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_landing-network-role_policy_05\\\"," + - "\\\"description\\\": \\\"default-domain.ECOM_Tenant_DND.ECOM_Tenant_DND_mtn6_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_landing-network-role_policy_05\\\",\\\"configName\\\": \\\"Search\\\"," + - "\\\"templateVersion\\\": \\\"1607\\\",\\\"version\\\": \\\"1.3.0.1\\\"," + - "\\\"priority\\\": \\\"2\\\",\\\"policyScope\\\": \\\"SDNC\\\",\\\"riskType\\\": \\\"low\\\"," + - "\\\"riskLevel\\\": \\\"2\\\",\\\"guard\\\": \\\"True\\\",\\\"content\\\":{ " + - "\\\"network-policy\\\": { \\\"display_name\\\": \\\"default-domain.ECOM_Tenant_DND." + - "ECOM_Tenant_DND_mtn6_HngwOamNetVto.HNGWOAMNETVTO.OAM_landing-network-role_policy_05\\\", " + - "\\\"fq_name\\\": [ \\\"default-domain\\\", " + - "\\\"ECOM_Tenant_DND\\\", \\\"default-domain." + - "ECOM_Tenant_DND.ECOM_Tenant_DND_mtn6_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_landing-network-role_policy_05\\\" ], " + - "\\\"id_perms\\\": { \\\"user_visible\\\": true }, " + - "\\\"parent_type\\\": \\\"project\\\", \\\"network_policy_entries\\\": { " + - "\\\"policy_rule\\\": [ { " + - "\\\"action_list\\\": { \\\"apply_service\\\": [ " + - "\\\"testfqdn\\\" ], " + - "\\\"gateway_name\\\": null, \\\"qos_action\\\": null, " + - "\\\"log\\\": false , \\\"mirror_to\\\": null, " + - "\\\"simple_action\\\": null }, " + - "\\\"ethertype\\\": null, \\\"application\\\": [], " + - "\\\"direction\\\": \\\"<>\\\", \\\"dst_addresses\\\": [ " + - "{ \\\"network_policy\\\": null, " + - "\\\"security_group\\\": null, " + - "\\\"subnet\\\": null, \\\"virtual_network\\\": " + - "\\\"default-domain:ECOM_Tenant_DND:ECOM_Tenant_DND_int_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_net_10\\\" } ], " + - "\\\"dst_ports\\\": [ { " + - "\\\"end_port\\\": -1, \\\"start_port\\\": -1 " + - "} ], \\\"protocol\\\": \\\"any\\\", " + - "\\\"src_addresses\\\": [ { " + - "\\\"network_policy\\\": null, " + - "\\\"security_group\\\": null, " + - "\\\"subnet\\\": null, \\\"virtual_network\\\": " + - "\\\"default-domain:ECOM_Tenant_DND:ECOM_Tenant_DND_int_HngwOamNetVto." + - "HNGWOAMNETVTO.OAM_net_9\\\" } ], " + - "\\\"src_ports\\\": [ { " + - "\\\"end_port\\\": -1, " + - "\\\"start_port\\\": -1 } ] } " + - "] } }}}\"\n" + - "}"; - - String xmloutexpected = xmlin; - - String xmlout = XmlJsonUtil.removeEmptyStructJson(null, xmlin); - log.info(xmlout); - - Assert.assertEquals(xmloutexpected, xmlout); - } - - @Test - public void testRemoveEmptyStructXml() { - String xmlin = "" + - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " blah\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " blah blah\n" + - "\n"; - - String xmloutexpected = "" + - "\n" + - " \n" + - " blah\n" + - " \n" + - " blah blah\n" + - "\n"; - - String xmlout = XmlJsonUtil.removeEmptyStructXml(xmlin); - log.info(xmlout); - - Assert.assertEquals(xmloutexpected, xmlout); - } - - @Test - public void testRemoveEmptyStructJson() { - String xmlin = "{\r\n" + - " \"T1\":{\r\n" + - " \"T2\":{\r\n" + - " \"T3\":[\r\n" + - " \r\n" + - " ],\r\n" + - " \"T4\":{\r\n" + - " \"T12\":[\r\n" + - " \r\n" + - " ],\r\n" + - " \"T13\":[ ],\r\n" + - " \"T14\":{\r\n" + - " \"T15\":{\r\n" + - " \r\n" + - " },\r\n" + - " \"T16\":{\r\n" + - " \r\n" + - " }\r\n" + - " }\r\n" + - " },\r\n" + - " \"T5\":{\r\n" + - " \"T6\":[\r\n" + - " \r\n" + - " ],\r\n" + - " \"T7\":[\r\n" + - " \"T8\":{\r\n" + - " \r\n" + - " },\r\n" + - " \"T9\":{ },\r\n" + - " \"T10\":\"blah\",\r\n" + - " \"T11\":[\r\n" + - " \r\n" + - " ]\r\n" + - " ]\r\n" + - " }\r\n" + - " }\r\n" + - " }\r\n" + - "}\r\n" + - ""; - - String xmloutexpected = "{\r\n" + - " \"T1\":{\r\n" + - " \"T2\":{\r\n" + - " \"T5\":{\r\n" + - " \"T7\":[\r\n" + - " \"T10\":\"blah\",\r\n" + - " ]\r\n" + - " }\r\n" + - " }\r\n" + - " }\r\n" + - "}\r\n" + - ""; - - String xmlout = XmlJsonUtil.removeEmptyStructJson(null, xmlin); - log.info(xmlout); - - Assert.assertEquals(xmloutexpected, xmlout); - } -} diff --git a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlParser.java b/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlParser.java deleted file mode 100644 index 76f86abc0..000000000 --- a/restapi-call-node/provider/src/test/java/org/onap/ccsdk/sli/plugins/restapicall/TestXmlParser.java +++ /dev/null @@ -1,121 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * 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.ccsdk.sli.plugins.restapicall; - -import static org.junit.Assert.assertEquals; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import org.junit.Test; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; - -public class TestXmlParser { - - @Test - public void test() throws Exception { - String path = "src/test/resources/test3.xml"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Set listNameList = new HashSet(); - listNameList.add("project.dependencies.dependency"); - listNameList.add("project.build.plugins.plugin"); - listNameList.add("project.build.plugins.plugin.executions.execution"); - listNameList.add("project.build.pluginManagement.plugins.plugin"); - listNameList.add("project.build.pluginManagement." + - "plugins.plugin.configuration.lifecycleMappingMetadata.pluginExecutions.pluginExecution"); - - Map 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 { - String path = "src/test/resources/test3.xml"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Set listNameList = new HashSet(); - listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport"); - listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport"); - - Map 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 { - String path = "src/test/resources/invalidlength.xml"; - String content = new String(Files.readAllBytes(Paths.get(path))); - Set listNameList = new HashSet(); - listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport"); - listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport"); - XmlParser.convertToProperties(content, listNameList); // throws an exception because the length in the xml is - // not a valid number - } - -} -- cgit 1.2.3-korg