aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/aai/datarouter/util/RouterServiceUtilTest.java
blob: a49427eb2febf27fe723ba85bb689ad3f27d96a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/**
 * ============LICENSE_START=======================================================
 * org.onap.aai
 * ================================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * Copyright © 2017 Amdocs
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
package org.onap.aai.datarouter.util;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Assert;
import org.junit.Test;

import javax.json.Json;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class RouterServiceUtilTest {

    @Test
    public void testParseJsonPayloadIntoMap(){
        String jsonStr = "{\"key1\":\"value1\", \"key2\":\"value2\", \"key3\":\"value3\"}";
        Map<String, String> retMap = RouterServiceUtil.parseJsonPayloadIntoMap(jsonStr);
        Assert.assertNotNull(retMap);
        Assert.assertEquals(retMap.get("key1"), "value1");
    }

    @Test
    public void testGetNodeFieldAsText() throws IOException {
        String jsonStr = "{\"key\":\"value\"}";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(jsonStr);
        String field = RouterServiceUtil.getNodeFieldAsText(node, "key");
    }

    @Test
    public void testConcatArray_NullList(){
        List<String> strList = null;
        String result = RouterServiceUtil.concatArray(strList);
        Assert.assertTrue(result.isEmpty());
    }

    /*Method in RouterServiceUtil is wrong. It should be corrected
    @Test
    public void testConcatArray_NotNullList(){
        List<String> strList = new ArrayList<String>();
        strList.add("str1");
        strList.add("str2");
        strList.add("str3");
        String result = RouterServiceUtil.concatArray(strList);
        Assert.assertEquals(result, "str1 str2 str3");
    }*/

    @Test
    public void testConcatArray_NullArray(){
        String[] values = new String[]{};
        //String[] values = new String[]{"value1", "value2", "value3"};
        String result = RouterServiceUtil.concatArray(values);
        Assert.assertTrue(result.isEmpty());
    }

    @Test
    public void testConcatArray_NotNullArray(){
        String[] values = new String[]{"value1", "value2", "value3"};
        String result = RouterServiceUtil.concatArray(values);
        Assert.assertEquals(result, "value1.value2.value3");
    }

    @Test
    public void testRecursivelyLookupJsonPayload_JsonArray() throws IOException {
        String jsonStr = "[{\"key1\":\"value1\"}, {\"key2\":\"value2\"}]";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(jsonStr);
        String result = RouterServiceUtil.recursivelyLookupJsonPayload(node, "key1");
        Assert.assertEquals(result, "value1");
    }

    @Test
    public void testExtractObjectsByKey() throws IOException {
        String jsonStr = "[{\"key1\":\"value1\"}, {\"key2\":\"value2\"}]";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(jsonStr);
        List<JsonNode> nodeList = new ArrayList<JsonNode>();
        RouterServiceUtil.extractObjectsByKey(node, "key1", nodeList);
        Assert.assertTrue(nodeList.size() == 1);
    }

    @Test
    public void testConvertArrayIntoList() throws IOException {
        String jsonStr = "[{\"key1\":\"value1\"}, {\"key2\":\"value2\"}]";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(jsonStr);
        List<JsonNode> nodeList = new ArrayList<JsonNode>();
        RouterServiceUtil.convertArrayIntoList(node, nodeList);
        Assert.assertTrue(nodeList.size() == 2);
    }

    @Test
    public void testExtractFieldValueFromObject() throws IOException {
        String jsonStr = "{\"key1\":\"value1\"}";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(jsonStr);
        List<String> attrList = new ArrayList<String>();
        attrList.add("key1");
        List<String> valueList = new ArrayList<String>();
        RouterServiceUtil.extractFieldValuesFromObject(node,attrList,valueList);
        Assert.assertTrue(valueList.size()==1);
        Assert.assertTrue(valueList.get(0).equals("value1"));
    }

    @Test
    public void testObjToJson() throws IOException {
        String jsonStr = "{\"key1\":\"value1\"}";
        ObjectMapper mapper = new ObjectMapper();
        Object node = mapper.readTree(jsonStr);
        String retJson = RouterServiceUtil.objToJson(node);
        Assert.assertNotNull("localhost/aai/data-router/");
    }

    @Test
    public void testConcatSubUri(){
        String finalSubUri = RouterServiceUtil.concatSubUri("localhost/","aai/","data-router");
        Assert.assertEquals(finalSubUri, "localhost/aai/data-router/");
    }
}