summaryrefslogtreecommitdiffstats
path: root/sliPluginUtils/provider/src/test
diff options
context:
space:
mode:
authorSmokowski, Kevin (ks6305) <kevin.smokowski@att.com>2019-12-17 18:27:42 +0000
committerSmokowski, Kevin (ks6305) <kevin.smokowski@att.com>2019-12-18 16:44:13 +0000
commit2fa35ec7af06c9f1d1982dc500726de703f7dede (patch)
tree1830d0bc7426422dc022d7cb3dd040b8c334052a /sliPluginUtils/provider/src/test
parenta55a4e30507c25c21c7f1df830f5d5189e03c038 (diff)
enhance SliPluginUtils
writeJsonToCtx now supports top level json arrays, add urlDecode to SliStringUtils, rename CheckParametersTest and move unrelated methods into another test class and Add test cases to improve test coverage Issue-ID: CCSDK-2006 Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> Change-Id: If1f654ea9c7046b00c977434f87740e54f15b7d3
Diffstat (limited to 'sliPluginUtils/provider/src/test')
-rw-r--r--sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java342
-rw-r--r--sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_checkParametersTest.java (renamed from sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/CheckParametersTest.java)101
-rw-r--r--sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java17
-rw-r--r--sliPluginUtils/provider/src/test/resources/2dArray.json4
-rw-r--r--sliPluginUtils/provider/src/test/resources/3dArray.json4
-rw-r--r--sliPluginUtils/provider/src/test/resources/ArrayMenu.json41
-rw-r--r--sliPluginUtils/provider/src/test/resources/EmbeddedEscapedJson.json16
-rw-r--r--sliPluginUtils/provider/src/test/resources/EscapedJson.json1
-rw-r--r--sliPluginUtils/provider/src/test/resources/ObjectMenu.json43
-rw-r--r--sliPluginUtils/provider/src/test/resources/Widget.json27
10 files changed, 468 insertions, 128 deletions
diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java
index 08adc9731..64645b363 100644
--- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java
+++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java
@@ -24,14 +24,20 @@ package org.onap.ccsdk.sli.core.slipluginutils;
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.nio.file.Files;
+import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
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.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils.LogLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.gson.JsonObject;
public class SliPluginUtils_StaticFunctionsTest {
private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtils_StaticFunctionsTest.class);
@@ -216,28 +222,6 @@ public class SliPluginUtils_StaticFunctionsTest {
SliPluginUtils.ctxSetAttribute(ctx, "test", i, LOG, SliPluginUtils.LogLevel.TRACE);
}
- /*@Test
- public void printContext() throws SvcLogicException, IOException {
- String filePath = "/src/test/resources/printContext.txt";
- parameters.put("filename", filePath);
- File f = new File(filePath);
- assert (f.exists());
- assert (!f.isDirectory());
- ctx.setAttribute("hello", "world");
- ctx.setAttribute("name", "value");
-
- SliPluginUtils.printContext(parameters, ctx);
- BufferedReader br = new BufferedReader(new FileReader(f));
- String line = br.readLine();
- assertEquals("#######################################", line);
- line = br.readLine();
- assertEquals("hello = world", line);
- line = br.readLine();
- assertEquals("name = value", line);
- br.close();
- Files.delete(Paths.get(filePath));
- }*/
-
@Test
public void setTime() throws SvcLogicException {
String outputPath = "output";
@@ -264,4 +248,318 @@ public class SliPluginUtils_StaticFunctionsTest {
assertEquals(SliStringUtils.TRUE_CONSTANT, result);
}
+ @Test
+ public void testGetAttributeValue() throws Exception {
+ parameters.put("outputPath", "testPath");
+ parameters.put("source", "testSource");
+ SliPluginUtils.getAttributeValue(parameters, ctx);
+ assertNull(ctx.getAttribute(parameters.get("outputPath")));
+ }
+
+ @Test
+ public void testCtxListContains() throws Exception {
+ parameters.put("list", "10_length");
+ parameters.put("keyName", "testName");
+ parameters.put("keyValue", "testValue");
+ ctx.setAttribute("10_length", "10");
+ assertEquals("false", SliPluginUtils.ctxListContains(parameters, ctx));
+
+ }
+
+ @Test(expected = SvcLogicException.class)
+ public void testPrintContextForEmptyParameters() throws SvcLogicException {
+ SliPluginUtils.printContext(parameters, ctx);
+ }
+
+ @Test(expected = SvcLogicException.class)
+ public void testPrintContextForNullParameters() throws SvcLogicException {
+ SliPluginUtils.printContext(null, ctx);
+ }
+
+ @Test
+ public void testPrintContext() throws SvcLogicException {
+ parameters.put("filename", "testFileName");
+ SliPluginUtils.printContext(parameters, ctx);
+ }
+
+ @Test
+ public void testWriteJsonObject() throws SvcLogicException {
+ JsonObject obj = new JsonObject();
+ obj.addProperty("name", "testName");
+ obj.addProperty("age", 27);
+ obj.addProperty("salary", 600000);
+ SvcLogicContext ctx = new SvcLogicContext();
+ SliPluginUtils.writeJsonObject(obj, ctx, "root");
+ assertEquals("testName", ctx.getAttribute("root.name"));
+ assertEquals("27", ctx.getAttribute("root.age"));
+ assertEquals("600000", ctx.getAttribute("root.salary"));
+ }
+
+ @Test
+ public void testCtxKeyEmpty() {
+ ctx.setAttribute("key", "");
+ assertTrue(SliPluginUtils.ctxKeyEmpty(ctx, "key"));
+ }
+
+ @Test
+ public void testGetArrayLength() {
+ ctx.setAttribute("key_length", "test");
+ Logger log = LoggerFactory.getLogger(getClass());
+ SliPluginUtils.getArrayLength(ctx, "key", log, LogLevel.INFO, "invalid input");
+ }
+
+ @Test
+ public void testSetPropertiesForRoot() {
+ Map<String, String> parameters = new HashMap<>();
+ parameters.put("root", "RootVal");
+ parameters.put("valueRoot", "ValueRootVal");
+ assertEquals("success", SliPluginUtils.setPropertiesForRoot(parameters, ctx));
+ }
+
+ @Test
+ public void testJsonStringToCtxToplevelArray() throws Exception {
+ String path = "src/test/resources/ArrayMenu.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+
+ assertEquals("1000", ctx.getAttribute("testPath.[0].calories"));
+ assertEquals("1", ctx.getAttribute("testPath.[0].id"));
+ assertEquals("plain", ctx.getAttribute("testPath.[0].name"));
+ assertEquals("pizza", ctx.getAttribute("testPath.[0].type"));
+ assertEquals("true", ctx.getAttribute("testPath.[0].vegetarian"));
+ assertEquals("2000", ctx.getAttribute("testPath.[1].calories"));
+ assertEquals("2", ctx.getAttribute("testPath.[1].id"));
+ assertEquals("Tuesday Special", ctx.getAttribute("testPath.[1].name"));
+ assertEquals("1", ctx.getAttribute("testPath.[1].topping[0].id"));
+ assertEquals("onion", ctx.getAttribute("testPath.[1].topping[0].name"));
+ assertEquals("2", ctx.getAttribute("testPath.[1].topping[1].id"));
+ assertEquals("pepperoni", ctx.getAttribute("testPath.[1].topping[1].name"));
+ assertEquals("2", ctx.getAttribute("testPath.[1].topping_length"));
+ assertEquals("pizza", ctx.getAttribute("testPath.[1].type"));
+ assertEquals("false", ctx.getAttribute("testPath.[1].vegetarian"));
+ assertEquals("1500", ctx.getAttribute("testPath.[2].calories"));
+ assertEquals("3", ctx.getAttribute("testPath.[2].id"));
+ assertEquals("House Special", ctx.getAttribute("testPath.[2].name"));
+ assertEquals("3", ctx.getAttribute("testPath.[2].topping[0].id"));
+ assertEquals("basil", ctx.getAttribute("testPath.[2].topping[0].name"));
+ assertEquals("4", ctx.getAttribute("testPath.[2].topping[1].id"));
+ assertEquals("fresh mozzarella", ctx.getAttribute("testPath.[2].topping[1].name"));
+ assertEquals("5", ctx.getAttribute("testPath.[2].topping[2].id"));
+ assertEquals("tomato", ctx.getAttribute("testPath.[2].topping[2].name"));
+ assertEquals("3", ctx.getAttribute("testPath.[2].topping_length"));
+ assertEquals("pizza", ctx.getAttribute("testPath.[2].type"));
+ assertEquals("true", ctx.getAttribute("testPath.[2].vegetarian"));
+ assertEquals("3", ctx.getAttribute("testPath._length"));
+ }
+
+ @Test
+ public void testJsonStringToCtx() throws Exception {
+ String path = "src/test/resources/ObjectMenu.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+
+
+ assertEquals("1000", ctx.getAttribute("testPath.menu[0].calories"));
+ assertEquals("1", ctx.getAttribute("testPath.menu[0].id"));
+ assertEquals("plain", ctx.getAttribute("testPath.menu[0].name"));
+ assertEquals("pizza", ctx.getAttribute("testPath.menu[0].type"));
+ assertEquals("true", ctx.getAttribute("testPath.menu[0].vegetarian"));
+ assertEquals("2000", ctx.getAttribute("testPath.menu[1].calories"));
+ assertEquals("2", ctx.getAttribute("testPath.menu[1].id"));
+ assertEquals("Tuesday Special", ctx.getAttribute("testPath.menu[1].name"));
+ assertEquals("1", ctx.getAttribute("testPath.menu[1].topping[0].id"));
+ assertEquals("onion", ctx.getAttribute("testPath.menu[1].topping[0].name"));
+ assertEquals("2", ctx.getAttribute("testPath.menu[1].topping[1].id"));
+ assertEquals("pepperoni", ctx.getAttribute("testPath.menu[1].topping[1].name"));
+ assertEquals("2", ctx.getAttribute("testPath.menu[1].topping_length"));
+ assertEquals("pizza", ctx.getAttribute("testPath.menu[1].type"));
+ assertEquals("false", ctx.getAttribute("testPath.menu[1].vegetarian"));
+ assertEquals("1500", ctx.getAttribute("testPath.menu[2].calories"));
+ assertEquals("3", ctx.getAttribute("testPath.menu[2].id"));
+ assertEquals("House Special", ctx.getAttribute("testPath.menu[2].name"));
+ assertEquals("3", ctx.getAttribute("testPath.menu[2].topping[0].id"));
+ assertEquals("basil", ctx.getAttribute("testPath.menu[2].topping[0].name"));
+ assertEquals("4", ctx.getAttribute("testPath.menu[2].topping[1].id"));
+ assertEquals("fresh mozzarella", ctx.getAttribute("testPath.menu[2].topping[1].name"));
+ assertEquals("5", ctx.getAttribute("testPath.menu[2].topping[2].id"));
+ assertEquals("tomato", ctx.getAttribute("testPath.menu[2].topping[2].name"));
+ assertEquals("3", ctx.getAttribute("testPath.menu[2].topping_length"));
+ assertEquals("pizza", ctx.getAttribute("testPath.menu[2].type"));
+ assertEquals("true", ctx.getAttribute("testPath.menu[2].vegetarian"));
+ assertEquals("3", ctx.getAttribute("testPath.menu_length"));
+ }
+
+ @Test
+ public void test2dJsonStringToCtx() throws Exception {
+ String path = "src/test/resources/2dArray.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+ assertEquals("apple", ctx.getAttribute("testPath.[0][0]"));
+ assertEquals("orange", ctx.getAttribute("testPath.[0][1]"));
+ assertEquals("banana", ctx.getAttribute("testPath.[0][2]"));
+ assertEquals("3", ctx.getAttribute("testPath.[0]_length"));
+ assertEquals("squash", ctx.getAttribute("testPath.[1][0]"));
+ assertEquals("broccoli", ctx.getAttribute("testPath.[1][1]"));
+ assertEquals("cauliflower", ctx.getAttribute("testPath.[1][2]"));
+ assertEquals("3", ctx.getAttribute("testPath.[1]_length"));
+ assertEquals("2", ctx.getAttribute("testPath._length"));
+ }
+
+ @Test
+ public void test3dJsonStringToCtx() throws Exception {
+ String path = "src/test/resources/3dArray.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+ assertEquals("a", ctx.getAttribute("testPath.[0][0][0]"));
+ assertEquals("b", ctx.getAttribute("testPath.[0][0][1]"));
+ assertEquals("c", ctx.getAttribute("testPath.[0][0][2]"));
+ assertEquals("3", ctx.getAttribute("testPath.[0][0]_length"));
+ assertEquals("d", ctx.getAttribute("testPath.[0][1][0]"));
+ assertEquals("e", ctx.getAttribute("testPath.[0][1][1]"));
+ assertEquals("f", ctx.getAttribute("testPath.[0][1][2]"));
+ assertEquals("3", ctx.getAttribute("testPath.[0][1]_length"));
+ assertEquals("2", ctx.getAttribute("testPath.[0]_length"));
+ assertEquals("x", ctx.getAttribute("testPath.[1][0][0]"));
+ assertEquals("y", ctx.getAttribute("testPath.[1][0][1]"));
+ assertEquals("z", ctx.getAttribute("testPath.[1][0][2]"));
+ assertEquals("3", ctx.getAttribute("testPath.[1][0]_length"));
+ assertEquals("1", ctx.getAttribute("testPath.[1]_length"));
+ assertEquals("2", ctx.getAttribute("testPath._length"));
+ }
+
+ @Test
+ public void testJsonWidgetStringToCtx() throws Exception {
+ String path = "src/test/resources/Widget.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+ assertEquals("false", ctx.getAttribute("testPath.widget.debug"));
+ assertEquals("center", ctx.getAttribute("testPath.widget.image.alignment"));
+ assertEquals("150", ctx.getAttribute("testPath.widget.image.hOffset"));
+ assertEquals("moon", ctx.getAttribute("testPath.widget.image.name"));
+ assertEquals("images/moon.png", ctx.getAttribute("testPath.widget.image.src"));
+ assertEquals("150", ctx.getAttribute("testPath.widget.image.vOffset"));
+ assertEquals("center", ctx.getAttribute("testPath.widget.text.alignment"));
+ assertEquals("Click Me", ctx.getAttribute("testPath.widget.text.data"));
+ assertEquals("350", ctx.getAttribute("testPath.widget.text.hOffset"));
+ assertEquals("text1", ctx.getAttribute("testPath.widget.text.name"));
+ assertEquals("21", ctx.getAttribute("testPath.widget.text.size"));
+ assertEquals("bold", ctx.getAttribute("testPath.widget.text.style"));
+ assertEquals("200", ctx.getAttribute("testPath.widget.text.vOffset"));
+ assertEquals("300", ctx.getAttribute("testPath.widget.window.height"));
+ assertEquals("main_window", ctx.getAttribute("testPath.widget.window.name"));
+ assertEquals("ONAP Widget", ctx.getAttribute("testPath.widget.window.title"));
+ assertEquals("200", ctx.getAttribute("testPath.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)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "false");
+ parameters.put("source", "input");
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+
+ assertEquals("escapedJsonObject", ctx.getAttribute("testPath.input.parameters[0].name"));
+ assertEquals("[{\"id\":\"0.2.0.0/16\"},{\"id\":\"ge04::/64\"}]",
+ ctx.getAttribute("testPath.input.parameters[0].value"));
+ assertEquals("Hello/World", ctx.getAttribute("testPath.input.parameters[1].value"));
+ assertEquals("resourceName", ctx.getAttribute("testPath.input.parameters[2].name"));
+ assertEquals("The\t\"Best\"\tName", ctx.getAttribute("testPath.input.parameters[2].value"));
+ assertEquals("3", ctx.getAttribute("testPath.input.parameters_length"));
+
+
+ // Break the embedded json object into properties
+ parameters.put("outputPath", "testPath.input.parameters[0].value");
+ parameters.put("source", "testPath.input.parameters[0].value");
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+
+ assertEquals("0.2.0.0/16", ctx.getAttribute("testPath.input.parameters[0].value.[0].id"));
+ assertEquals("ge04::/64", ctx.getAttribute("testPath.input.parameters[0].value.[1].id"));
+ assertEquals("2", ctx.getAttribute("testPath.input.parameters[0].value._length"));
+ }
+
+ @Test
+ public void testEscapedJsonStringToCtx() throws Exception {
+ String path = "src/test/resources/EscapedJson.json";
+ String content = new String(Files.readAllBytes(Paths.get(path)));
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("input", content);
+
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("outputPath", "testPath");
+ parameters.put("isEscaped", "true"); // set to true because the entire json content has been escaped
+ parameters.put("source", "input");
+
+
+ SliPluginUtils.jsonStringToCtx(parameters, ctx);
+ assertEquals("false", ctx.getAttribute("testPath.widget.debug"));
+ assertEquals("center", ctx.getAttribute("testPath.widget.image.alignment"));
+ assertEquals("150", ctx.getAttribute("testPath.widget.image.hOffset"));
+ assertEquals("moon", ctx.getAttribute("testPath.widget.image.name"));
+ assertEquals("images/moon.png", ctx.getAttribute("testPath.widget.image.src"));
+ assertEquals("150", ctx.getAttribute("testPath.widget.image.vOffset"));
+ assertEquals("center", ctx.getAttribute("testPath.widget.text.alignment"));
+ assertEquals("Click Me", ctx.getAttribute("testPath.widget.text.data"));
+ assertEquals("350", ctx.getAttribute("testPath.widget.text.hOffset"));
+ assertEquals("text1", ctx.getAttribute("testPath.widget.text.name"));
+ assertEquals("21", ctx.getAttribute("testPath.widget.text.size"));
+ assertEquals("bold", ctx.getAttribute("testPath.widget.text.style"));
+ assertEquals("200", ctx.getAttribute("testPath.widget.text.vOffset"));
+ assertEquals("300", ctx.getAttribute("testPath.widget.window.height"));
+ assertEquals("main_window", ctx.getAttribute("testPath.widget.window.name"));
+ assertEquals("ONAP Widget", ctx.getAttribute("testPath.widget.window.title"));
+ assertEquals("200", ctx.getAttribute("testPath.widget.window.width"));
+ }
+
}
diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/CheckParametersTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_checkParametersTest.java
index 21aa4a356..f92271f7c 100644
--- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/CheckParametersTest.java
+++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_checkParametersTest.java
@@ -23,24 +23,15 @@
package org.onap.ccsdk.sli.core.slipluginutils;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
import java.util.HashMap;
import java.util.Map;
-
import org.junit.Test;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils.LogLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.slf4j.Marker;
-
-import com.google.gson.JsonObject;
-public class CheckParametersTest {
+public class SliPluginUtils_checkParametersTest {
@Test
public void nullRequiredParameters() throws Exception {
@@ -123,94 +114,4 @@ public class CheckParametersTest {
SliPluginUtils.requiredParameters(parameters, ctx);
}
-
- @Test(expected = SvcLogicException.class)
- public void testJsonStringToCtx() throws Exception {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters = new HashMap<String, String>();
- parameters.put("outputPath", "testPath");
- parameters.put("isEscaped", "true");
- parameters.put("source", "//{/name1/:value1/}//");
- SliPluginUtils.jsonStringToCtx(parameters, ctx);
- }
-
- @Test
- public void testGetAttributeValue() throws Exception {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters = new HashMap<String, String>();
- parameters.put("outputPath", "testPath");
- parameters.put("source", "testSource");
- SliPluginUtils.getAttributeValue(parameters, ctx);
- assertNull(ctx.getAttribute(parameters.get("outputPath")));
- }
-
- @Test
- public void testCtxListContains() throws Exception {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters = new HashMap<String, String>();
- parameters.put("list", "10_length");
- parameters.put("keyName", "testName");
- parameters.put("keyValue", "testValue");
- ctx.setAttribute("10_length", "10");
- assertEquals("false", SliPluginUtils.ctxListContains(parameters, ctx));
-
- }
-
- @Test(expected= SvcLogicException.class)
- public void testPrintContextForNullParameters() throws SvcLogicException
- {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters = new HashMap<String, String>();
- SliPluginUtils.printContext(parameters, ctx);
- }
-
- @Test
- public void testPrintContext() throws SvcLogicException
- {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters = new HashMap<String, String>();
- parameters.put("filename","testFileName");
- SliPluginUtils.printContext(parameters, ctx);
- }
-
- @Test
- public void testWriteJsonObject() throws SvcLogicException
- {
- JsonObject obj=new JsonObject();
- obj.addProperty("name","testName");
- obj.addProperty("age",27);
- obj.addProperty("salary",600000);
- SvcLogicContext ctx = new SvcLogicContext();
- SliPluginUtils.writeJsonObject(obj, ctx,"root");
- assertEquals("testName", ctx.getAttribute("root.name"));
- assertEquals("27", ctx.getAttribute("root.age"));
- assertEquals("600000", ctx.getAttribute("root.salary"));
- }
-
- @Test
- public void testCtxKeyEmpty()
- {
- SvcLogicContext ctx = new SvcLogicContext();
- ctx.setAttribute("key", "");
- assertTrue(SliPluginUtils.ctxKeyEmpty(ctx, "key"));
- }
-
- @Test
- public void testGetArrayLength()
- {
- SvcLogicContext ctx = new SvcLogicContext();
- ctx.setAttribute("key_length", "test");
- Logger log = LoggerFactory.getLogger(getClass());
- SliPluginUtils.getArrayLength(ctx, "key", log , LogLevel.INFO, "invalid input");
- }
-
- @Test
- public void testSetPropertiesForRoot()
- {
- SvcLogicContext ctx = new SvcLogicContext();
- Map<String, String> parameters= new HashMap<>();
- parameters.put("root","RootVal");
- parameters.put("valueRoot", "ValueRootVal");
- assertEquals("success",SliPluginUtils.setPropertiesForRoot(parameters,ctx));
- }
}
diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java
index d8d78a0b1..3a6c31a3c 100644
--- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java
+++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java
@@ -271,6 +271,17 @@ public class SliStringUtilsTest {
assertEquals("102%2FGE100%2FSNJSCAMCJP8%2FSNJSCAMCJT4", ctx.getAttribute(outputPath));
}
+ @Test
+ public void urlDecode() throws SvcLogicException {
+ String sourceString = "102%2FGE100%2FSNJSCAMCJP8%2FSNJSCAMCJT4";
+ String outputPath = "out";
+
+ param.put("source", sourceString);
+ param.put("outputPath", outputPath);
+ SliStringUtils.urlDecode(param, ctx);
+ assertEquals("102/GE100/SNJSCAMCJP8/SNJSCAMCJT4", ctx.getAttribute(outputPath));
+ }
+
@Test
public void testXmlEscapeText() {
param.put("source", "102/GE100/SNJSCAMCJP8/SNJSCAMCJT4");
@@ -317,8 +328,6 @@ public class SliStringUtilsTest {
@Test
public void isEmpty() throws Exception {
- ctx = new SvcLogicContext();
- param = new HashMap<>();
String result = SliStringUtils.isEmpty(param, ctx);
param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist");
assertEquals(SliStringUtils.TRUE_CONSTANT, result);
@@ -339,8 +348,6 @@ public class SliStringUtilsTest {
@Test
public void isBlank() throws Exception {
- ctx = new SvcLogicContext();
- param = new HashMap<>();
String result = SliStringUtils.isBlank(param, ctx);
param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist");
assertEquals(SliStringUtils.TRUE_CONSTANT, result);
@@ -361,8 +368,6 @@ public class SliStringUtilsTest {
@Test
public void isNull() throws Exception {
- ctx = new SvcLogicContext();
- param = new HashMap<>();
String result = SliStringUtils.isNull(param, ctx);
param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist");
assertEquals(SliStringUtils.TRUE_CONSTANT, result);
diff --git a/sliPluginUtils/provider/src/test/resources/2dArray.json b/sliPluginUtils/provider/src/test/resources/2dArray.json
new file mode 100644
index 000000000..b473864d8
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/2dArray.json
@@ -0,0 +1,4 @@
+[
+ ["apple", "orange", "banana"],
+ ["squash", "broccoli", "cauliflower"]
+] \ No newline at end of file
diff --git a/sliPluginUtils/provider/src/test/resources/3dArray.json b/sliPluginUtils/provider/src/test/resources/3dArray.json
new file mode 100644
index 000000000..149955596
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/3dArray.json
@@ -0,0 +1,4 @@
+[
+ [["a","b","c"], ["d","e","f"]],
+ [["x","y","z"]]
+] \ No newline at end of file
diff --git a/sliPluginUtils/provider/src/test/resources/ArrayMenu.json b/sliPluginUtils/provider/src/test/resources/ArrayMenu.json
new file mode 100644
index 000000000..b12f16315
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/ArrayMenu.json
@@ -0,0 +1,41 @@
+[{
+ "id": "1",
+ "type": "pizza",
+ "name": "plain",
+ "calories": 1000,
+ "vegetarian": true
+ }, {
+ "id": "2",
+ "type": "pizza",
+ "name": "Tuesday Special",
+ "calories": 2000,
+ "vegetarian": false,
+ "topping":
+ [{
+ "id": "1",
+ "name": "onion"
+ }, {
+ "id": "2",
+ "name": "pepperoni"
+ }
+ ]
+ }, {
+ "id": "3",
+ "type": "pizza",
+ "name": "House Special",
+ "calories": 1500,
+ "vegetarian": true,
+ "topping":
+ [{
+ "id": "3",
+ "name": "basil"
+ }, {
+ "id": "4",
+ "name": "fresh mozzarella"
+ }, {
+ "id": "5",
+ "name": "tomato"
+ }
+ ]
+ }
+]
diff --git a/sliPluginUtils/provider/src/test/resources/EmbeddedEscapedJson.json b/sliPluginUtils/provider/src/test/resources/EmbeddedEscapedJson.json
new file mode 100644
index 000000000..dbb6d8d3a
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/EmbeddedEscapedJson.json
@@ -0,0 +1,16 @@
+{
+ "input": {
+ "parameters":
+ [{
+ "name": "escapedJsonObject",
+ "value": "[{\"id\":\"0.2.0.0\/16\"},{\"id\":\"ge04::\/64\"}]"
+ }, {
+ "name": "password",
+ "value": "Hello\/World"
+ }, {
+ "name": "resourceName",
+ "value": "The\t\"Best\"\tName"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/sliPluginUtils/provider/src/test/resources/EscapedJson.json b/sliPluginUtils/provider/src/test/resources/EscapedJson.json
new file mode 100644
index 000000000..a7719e819
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/EscapedJson.json
@@ -0,0 +1 @@
+{\"widget\":{\"debug\":false,\"window\":{\"title\":\"ONAP Widget\",\"name\":\"main_window\",\"width\":200,\"height\":300},\"image\":{\"src\":\"images\/moon.png\",\"name\":\"moon\",\"hOffset\":150,\"vOffset\":150,\"alignment\":\"center\"},\"text\":{\"data\":\"Click Me\",\"size\":21,\"style\":\"bold\",\"name\":\"text1\",\"hOffset\":350,\"vOffset\":200,\"alignment\":\"center\"}}} \ No newline at end of file
diff --git a/sliPluginUtils/provider/src/test/resources/ObjectMenu.json b/sliPluginUtils/provider/src/test/resources/ObjectMenu.json
new file mode 100644
index 000000000..56f842d48
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/ObjectMenu.json
@@ -0,0 +1,43 @@
+{
+ "menu": [{
+ "id": "1",
+ "type": "pizza",
+ "name": "plain",
+ "calories": 1000,
+ "vegetarian": true
+ }, {
+ "id": "2",
+ "type": "pizza",
+ "name": "Tuesday Special",
+ "calories": 2000,
+ "vegetarian": false,
+ "topping":
+ [{
+ "id": "1",
+ "name": "onion"
+ }, {
+ "id": "2",
+ "name": "pepperoni"
+ }
+ ]
+ }, {
+ "id": "3",
+ "type": "pizza",
+ "name": "House Special",
+ "calories": 1500,
+ "vegetarian": true,
+ "topping":
+ [{
+ "id": "3",
+ "name": "basil"
+ }, {
+ "id": "4",
+ "name": "fresh mozzarella"
+ }, {
+ "id": "5",
+ "name": "tomato"
+ }
+ ]
+ }
+ ]
+}
diff --git a/sliPluginUtils/provider/src/test/resources/Widget.json b/sliPluginUtils/provider/src/test/resources/Widget.json
new file mode 100644
index 000000000..1e25282c2
--- /dev/null
+++ b/sliPluginUtils/provider/src/test/resources/Widget.json
@@ -0,0 +1,27 @@
+{
+ "widget": {
+ "debug": false,
+ "window": {
+ "title": "ONAP Widget",
+ "name": "main_window",
+ "width": 200,
+ "height": 300
+ },
+ "image": {
+ "src": "images/moon.png",
+ "name": "moon",
+ "hOffset": 150,
+ "vOffset": 150,
+ "alignment": "center"
+ },
+ "text": {
+ "data": "Click Me",
+ "size": 21,
+ "style": "bold",
+ "name": "text1",
+ "hOffset": 350,
+ "vOffset": 200,
+ "alignment": "center"
+ }
+ }
+} \ No newline at end of file