Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / plugin / model-provider / src / test / java / org / onap / ccsdk / config / model / utils / JsonUtilsTest.java
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.config.model.utils;\r
19 \r
20 import static org.junit.Assert.assertTrue;\r
21 import org.junit.Test;\r
22 import org.onap.ccsdk.config.model.ValidTypes;\r
23 import com.fasterxml.jackson.databind.node.ArrayNode;\r
24 import com.fasterxml.jackson.databind.node.JsonNodeFactory;\r
25 import com.fasterxml.jackson.databind.node.ObjectNode;\r
26 \r
27 public class JsonUtilsTest {\r
28 \r
29     @Test\r
30     public void testPopulatePrimitiveValues() {\r
31         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
32         JsonUtils.populatePrimitiveValues("key1", "value", "", objectNode);\r
33         JsonUtils.populatePrimitiveValues("key2", true, ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
34         JsonUtils.populatePrimitiveValues("key3", 1, ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
35         JsonUtils.populatePrimitiveValues("key4", 1.1f, ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
36         JsonUtils.populatePrimitiveValues("key5", "13213123131", ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
37 \r
38         assertTrue("value".equals(objectNode.get("key1").asText()));\r
39         assertTrue(objectNode.get("key2").asBoolean());\r
40         assertTrue(objectNode.get("key3").asInt() == 1);\r
41         assertTrue(objectNode.get("key4").floatValue() == 1.1f);\r
42         assertTrue("13213123131".equals(objectNode.get("key5").asText()));\r
43     }\r
44 \r
45     @Test\r
46     public void testPopulatePrimitiveValuesArrayNode() {\r
47         ArrayNode objectNode = JsonNodeFactory.instance.arrayNode();\r
48         JsonUtils.populatePrimitiveValues("value", "", objectNode);\r
49         JsonUtils.populatePrimitiveValues(true, ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
50         JsonUtils.populatePrimitiveValues(1, ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
51         JsonUtils.populatePrimitiveValues(1.1f, ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
52         JsonUtils.populatePrimitiveValues("13213123131", ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
53 \r
54         assertTrue(objectNode.size() == 5);\r
55     }\r
56 \r
57     @Test\r
58     public void testPopulatePrimitiveDefaultValues() {\r
59         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
60         JsonUtils.populatePrimitiveDefaultValues("key1", "", objectNode);\r
61         JsonUtils.populatePrimitiveDefaultValues("key2", ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
62         JsonUtils.populatePrimitiveDefaultValues("key3", ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
63         JsonUtils.populatePrimitiveDefaultValues("key4", ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
64 \r
65         assertTrue("".equals(objectNode.get("key1").asText()));\r
66         assertTrue(objectNode.get("key2").asBoolean() == false);\r
67         assertTrue(objectNode.get("key3").asInt() == 0);\r
68         assertTrue(objectNode.get("key4").floatValue() == 0.0f);\r
69     }\r
70 \r
71     @Test\r
72     public void testPopulatePrimitiveDefaultValuesForArrayNode() {\r
73         ArrayNode objectNode = JsonNodeFactory.instance.arrayNode();\r
74         JsonUtils.populatePrimitiveDefaultValuesForArrayNode("", objectNode);\r
75         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
76         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_INTEGER, objectNode);\r
77         JsonUtils.populatePrimitiveDefaultValuesForArrayNode(ValidTypes.DATA_TYPE_FLOAT, objectNode);\r
78 \r
79         assertTrue(objectNode.size() == 4);\r
80     }\r
81 \r
82     @Test\r
83     public void testPopulateJsonNodeValues() {\r
84         ObjectNode objectNode = JsonNodeFactory.instance.objectNode();\r
85         JsonUtils.populateJsonNodeValues("key1", JsonNodeFactory.instance.textNode("value"),\r
86                 ValidTypes.DATA_TYPE_STRING, objectNode);\r
87         JsonUtils.populateJsonNodeValues("key2", JsonNodeFactory.instance.booleanNode(true),\r
88                 ValidTypes.DATA_TYPE_BOOLEAN, objectNode);\r
89         JsonUtils.populateJsonNodeValues("key3", JsonNodeFactory.instance.numberNode(1), ValidTypes.DATA_TYPE_INTEGER,\r
90                 objectNode);\r
91         JsonUtils.populateJsonNodeValues("key4", JsonNodeFactory.instance.numberNode(1.1f), ValidTypes.DATA_TYPE_FLOAT,\r
92                 objectNode);\r
93         JsonUtils.populateJsonNodeValues("key5", JsonNodeFactory.instance.textNode("13213123131"),\r
94                 ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);\r
95         assertTrue(objectNode.get("key2").asBoolean());\r
96 \r
97         assertTrue("value".equals(objectNode.get("key1").asText()));\r
98         assertTrue(objectNode.get("key2").asBoolean());\r
99         assertTrue(objectNode.get("key3").asInt() == 1);\r
100         assertTrue(objectNode.get("key4").floatValue() == 1.1f);\r
101         assertTrue("13213123131".equals(objectNode.get("key5").asText()));\r
102     }\r
103 }\r