2 * Copyright © 2017-2018 AT&T Intellectual Property.
\r
3 * Modifications Copyright © 2018 IBM.
\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
9 * http://www.apache.org/licenses/LICENSE-2.0
\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
18 package org.onap.ccsdk.config.model.utils;
\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
27 public class JsonUtilsTest {
\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
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
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
54 assertTrue(objectNode.size() == 5);
\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
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
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
79 assertTrue(objectNode.size() == 4);
\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
91 JsonUtils.populateJsonNodeValues("key4", JsonNodeFactory.instance.numberNode(1.1f), ValidTypes.DATA_TYPE_FLOAT,
\r
93 JsonUtils.populateJsonNodeValues("key5", JsonNodeFactory.instance.textNode("13213123131"),
\r
94 ValidTypes.DATA_TYPE_TIMESTAMP, objectNode);
\r
95 assertTrue(objectNode.get("key2").asBoolean());
\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