9cc3fc681264dca6ea9daa79763a6c3f2dbb21ae
[ccsdk/features.git] /
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * Modifications Copyright © 2018 IBM.\r
4  * \r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  * \r
9  * http://www.apache.org/licenses/LICENSE-2.0\r
10  * \r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 package org.onap.ccsdk.features.model.utils;\r
19 \r
20 import static org.junit.Assert.assertTrue;\r
21 import org.junit.Test;\r
22 import org.onap.ccsdk.features.model.ValidTypes;\r
23 import org.onap.ccsdk.features.model.utils.JsonUtils;\r
24 import com.fasterxml.jackson.databind.node.ArrayNode;\r
25 import com.fasterxml.jackson.databind.node.JsonNodeFactory;\r
26 import com.fasterxml.jackson.databind.node.ObjectNode;\r
27 \r
28 public class JsonUtilsTest {\r
29 \r
30     @Test\r
31     public void testPopulatePrimitiveValues() {\r
32         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
33         JsonUtils.populatePrimitiveValues("key1", "value", "", objectNode);\r
34         JsonUtils.populatePrimitiveValues("key2", true, ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
35         JsonUtils.populatePrimitiveValues("key3", 1, ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
36         JsonUtils.populatePrimitiveValues("key4", 1.1f, ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
37         JsonUtils.populatePrimitiveValues("key5", "13213123131", ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
38 \r
39         assertTrue("value".equals(objectNode.get("key1").asText()));\r
40         assertTrue(objectNode.get("key2").asBoolean());\r
41         assertTrue(objectNode.get("key3").asInt() == 1);\r
42         assertTrue(objectNode.get("key4").floatValue() == 1.1f);\r
43         assertTrue("13213123131".equals(objectNode.get("key5").asText()));\r
44     }\r
45 \r
46     @Test\r
47     public void testPopulatePrimitiveValuesArrayNode() {\r
48         ArrayNode objectNode = JsonNodeFactory.instance.arrayNode();\r
49         JsonUtils.populatePrimitiveValues("value", "", objectNode);\r
50         JsonUtils.populatePrimitiveValues(true, ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
51         JsonUtils.populatePrimitiveValues(1, ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
52         JsonUtils.populatePrimitiveValues(1.1f, ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
53         JsonUtils.populatePrimitiveValues("13213123131", ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
54 \r
55         assertTrue(objectNode.size() == 5);\r
56     }\r
57 \r
58     @Test\r
59     public void testPopulatePrimitiveDefaultValues() {\r
60         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
61         JsonUtils.populatePrimitiveDefaultValues("key1", "", objectNode);\r
62         JsonUtils.populatePrimitiveDefaultValues("key2", ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
63         JsonUtils.populatePrimitiveDefaultValues("key3", ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
64         JsonUtils.populatePrimitiveDefaultValues("key4", ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
65 \r
66         assertTrue("".equals(objectNode.get("key1").asText()));\r
67         assertTrue(objectNode.get("key2").asBoolean() == false);\r
68         assertTrue(objectNode.get("key3").asInt() == 0);\r
69         assertTrue(objectNode.get("key4").floatValue() == 0.0f);\r
70     }\r
71 \r
72     @Test\r
73     public void testPopulatePrimitiveDefaultValuesForArrayNode() {\r
74         ArrayNode objectNode = JsonNodeFactory.instance.arrayNode();\r
75         JsonUtils.populatePrimitiveDefaultValuesForArrayNode("", objectNode);\r
76         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
77         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
78         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
79 \r
80         assertTrue(objectNode.size() == 4);\r
81     }\r
82 \r
83     @Test\r
84     public void testPopulateJsonNodeValues() {\r
85         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
86         JsonUtils.populateJsonNodeValues("key1", JsonNodeFactory.instance.textNode("value"),\r
87                 ValidTypes.DATA_TYPE_STRING, objectNode);\r
88         JsonUtils.populateJsonNodeValues("key2", JsonNodeFactory.instance.booleanNode(true),\r
89                 ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
90         JsonUtils.populateJsonNodeValues("key3", JsonNodeFactory.instance.numberNode(1), ValidTypes.DATA_TYPE_INTEGER,\r
91                 objectNode);\r
92         JsonUtils.populateJsonNodeValues("key4", JsonNodeFactory.instance.numberNode(1.1f), ValidTypes.DATA_TYPE_FLOAT,\r
93                 objectNode);\r
94         JsonUtils.populateJsonNodeValues("key5", JsonNodeFactory.instance.textNode("13213123131"),\r
95                 ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
96         assertTrue(objectNode.get("key2").asBoolean());\r
97 \r
98         assertTrue("value".equals(objectNode.get("key1").asText()));\r
99         assertTrue(objectNode.get("key2").asBoolean());\r
100         assertTrue(objectNode.get("key3").asInt() == 1);\r
101         assertTrue(objectNode.get("key4").floatValue() == 1.1f);\r
102         assertTrue("13213123131".equals(objectNode.get("key5").asText()));\r
103     }\r
104 }\r