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