Update gvnfm-driver .gitreview file
[vfc/nfvo/driver/vnfm/gvnfm.git] / juju / juju-vnfmadapter / Juju-vnfmadapterService / service / src / test / java / org / onap / vfc / nfvo / vnfm / gvnfm / jujuvnfmadapter / common / VNFJsonUtilTest.java
1 /*
2  * Copyright 2016-2017 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vfc.nfvo.vnfm.gvnfm.jujuvnfmadapter.common;
18
19 import static org.junit.Assert.*;
20
21 import java.io.IOException;
22 import java.lang.reflect.Constructor;
23 import java.lang.reflect.Modifier;
24 import java.util.ArrayList;
25 import java.util.List;
26
27 import javax.servlet.http.HttpServletRequest;
28
29 import net.sf.json.JSONObject;
30 import net.sf.json.JsonConfig;
31
32 import org.codehaus.jackson.map.ObjectMapper;
33 import org.junit.Test;
34 import org.onap.vfc.nfvo.vnfm.gvnfm.jujuvnfmadapter.common.VNFJsonUtil;
35
36 import mockit.Mock;
37 import mockit.MockUp;
38 import org.codehaus.jackson.map.type.TypeFactory;
39 import org.codehaus.jackson.type.TypeReference;
40 public class VNFJsonUtilTest {
41
42     @Test
43     public void testGetJsonFieldStr() {
44         JSONObject VNFJsonObj = new JSONObject();
45         VNFJsonObj.put("name", "testName");
46         String result = VNFJsonUtil.getJsonFieldStr(VNFJsonObj, "name");
47         assertEquals("testName", result);
48     }
49
50     @Test
51     public void testGetJsonFieldStrByNull() {
52         String result = VNFJsonUtil.getJsonFieldStr(null, "name");
53         assertEquals("", result);
54     }
55
56     @Test
57     public void testGetJsonFieldStrByFieldNameNull() {
58         JSONObject VNFJsonObj = new JSONObject();
59         VNFJsonObj.put("names", "testName");
60         String result = VNFJsonUtil.getJsonFieldStr(VNFJsonObj, "name");
61         assertEquals("", result);
62     }
63
64     @Test
65     public void testGetJsonFieldStrByNameNull() {
66         JSONObject VNFJsonObj = new JSONObject();
67         VNFJsonObj.put("name", "null");
68         String result = VNFJsonUtil.getJsonFieldStr(VNFJsonObj, "name");
69         assertEquals("", result);
70     }
71
72     @Test
73     public void testGetJsonFieldInt() {
74         JSONObject VNFJsonObj = new JSONObject();
75         VNFJsonObj.put("name", 5);
76         Integer result = VNFJsonUtil.getJsonFieldInt(VNFJsonObj, "name");
77         assertEquals((Integer)5, result);
78     }
79
80     @Test
81     public void testGetJsonFieldIntByNull() {
82         Integer result = VNFJsonUtil.getJsonFieldInt(null, "name");
83         assertEquals((Integer)0, result);
84     }
85
86     @Test
87     public void testGetJsonFieldIntByNameNull() {
88         JSONObject VNFJsonObj = new JSONObject();
89         VNFJsonObj.put("name", 5);
90         Integer result = VNFJsonUtil.getJsonFieldInt(VNFJsonObj, "names");
91         assertEquals((Integer)0, result);
92     }
93
94     @Test
95     public void testGetJsonFieldLong() {
96         JSONObject VNFJsonObj = new JSONObject();
97         VNFJsonObj.put("name", 5L);
98         Long result = VNFJsonUtil.getJsonFieldLong(VNFJsonObj, "name");
99         assertEquals((Long)5L, result);
100     }
101
102     @Test
103     public void testGetJsonFieldLongByNull() {
104         Long result = VNFJsonUtil.getJsonFieldLong(null, "name");
105         assertEquals((Long)0L, result);
106     }
107
108     @Test
109     public void testGetJsonFieldLongByNameNull() {
110         JSONObject VNFJsonObj = new JSONObject();
111         VNFJsonObj.put("name", 5L);
112         Long result = VNFJsonUtil.getJsonFieldLong(VNFJsonObj, "names");
113         assertEquals((Long)0L, result);
114     }
115
116     @Test
117     public void testParseErrorInfo() {
118         String errorInfo = "{\"error\":{\"message\":\"errorMessage\"}}";
119         String result = VNFJsonUtil.parseErrorInfo(errorInfo);
120         assertEquals("errorMessage", result);
121     }
122
123     @Test
124     public void testParseErrorInfoByNull() {
125         String result = VNFJsonUtil.parseErrorInfo(null);
126         assertEquals("System Error!", result);
127     }
128
129     @Test
130     public void testParseErrorInfoByEmpty() {
131         String errorInfo = "";
132         String result = VNFJsonUtil.parseErrorInfo(errorInfo);
133         assertEquals("System Error!", result);
134     }
135
136     @Test
137     public void testParseErrorInfoByNoError() {
138         String errorInfo = "{\"errors\":{\"message\":\"errorMessage\"}}";
139         String result = VNFJsonUtil.parseErrorInfo(errorInfo);
140         assertEquals("System Error!", result);
141     }
142
143     @Test
144     public void testParseErrorInfoByNoMessage() {
145         String errorInfo = "{\"error\":{\"messages\":\"errorMessage\"}}";
146         String result = VNFJsonUtil.parseErrorInfo(errorInfo);
147         assertEquals("System Error!", result);
148     }
149
150     @Test
151     public void testObjectToJsonStr() {
152         String data = "{\"vnf1\":{\"id\":\"id\"}}";
153         String result = VNFJsonUtil.objectToJsonStr(data);
154         assertEquals(data, result);
155     }
156
157     @Test
158     public void testObjectToJson() {
159         String data = "{\"vnf1\":{\"id\":\"id\"}}";
160         JSONObject result = VNFJsonUtil.objectToJson(data);
161         assertEquals(JSONObject.fromObject(data), result);
162     }
163     @Test
164     public void marshalTest() throws IOException{
165         net.sf.json.JSON json = new JSONObject();
166         String res = VNFJsonUtil.marshal(json);
167         assertTrue(res.equals("{}"));
168     }
169
170     @Test
171     public void marshalTestException() throws IOException{
172         String str="test";
173         String res = VNFJsonUtil.marshal(str);
174         assertTrue(res != null);
175     }
176
177     @Test
178     public void VNFJsonToListsTest(){
179         List<TestPojo> pojoList = VNFJsonUtil.vnfJsonToLists("[{\"name\":\"test\",\"id\":\"123\"}]",TestPojo.class);
180         assertTrue(pojoList.size()==1);
181     }
182
183     @Test
184     public void VNFJsonToListTest(){
185         List<TestPojo> pojoList = VNFJsonUtil.vnfJsonToList("[{\"name\":\"test\",\"id\":\"123\"}]", TestPojo.class, "test");
186         assertTrue(pojoList.size()==1);
187     }
188
189     @Test
190     public void VNFJsonToObjectsTest(){
191         TestPojo pojo = VNFJsonUtil.vnfJsonToObjects("{\"name\":\"test\",\"id\":\"123\"}", TestPojo.class);
192         assertTrue("test".equals(pojo.getName()) && "123".equals(pojo.getId()));
193     }
194
195     @Test(expected = Exception.class)
196     public void VNFJsonToObjectsTestException(){
197         JsonConfig VNFJsonConfig = new JsonConfig();
198         TestPojo pojo = VNFJsonUtil.vnfJsonToObjects("{\"id\":\"123\",\"name\":\"test\"}", VNFJsonConfig);
199     }
200
201     @Test
202     public void objectToJsonTest(){
203         JsonConfig VNFJsonConfig = new JsonConfig();
204         TestPojo pojo = new TestPojo();
205         pojo.setName("test");
206         pojo.setId("123");
207         String res = VNFJsonUtil.objectToJson(pojo, VNFJsonConfig);
208         assertTrue("{\"id\":\"123\",\"name\":\"test\"}".equals(res));
209     }
210
211     @Test
212     public void objectToJsonTest2(){
213         TestPojo pojo = new TestPojo();
214         pojo.setName("test");
215         pojo.setId("123");
216         String res = VNFJsonUtil.objectToJson(pojo, "");
217         assertTrue("{\"id\":\"123\",\"name\":\"test\"}".equals(res));
218     }
219
220     @Test
221     public void listToJsonTest(){
222         List<TestPojo> pojoList = new ArrayList<TestPojo>();
223         TestPojo pojo = new TestPojo();
224         pojo.setName("test");
225         pojo.setId("123");
226         pojoList.add(pojo);
227         String res = VNFJsonUtil.listToJson(pojoList);
228         assertTrue("[{\"id\":\"123\",\"name\":\"test\"}]".equals(res));
229     }
230
231     @Test
232     public void listToJsonTest2(){
233         List<TestPojo> pojoList = new ArrayList<TestPojo>();
234         TestPojo pojo = new TestPojo();
235         pojo.setName("test");
236         pojo.setId("123");
237         pojoList.add(pojo);
238         String res = VNFJsonUtil.listToJson(pojoList,"");
239         assertTrue("[{\"id\":\"123\",\"name\":\"test\"}]".equals(res));
240     }
241     @Test
242     public void testPrivateConstructor() throws Exception {
243         Constructor constructor = VNFJsonUtil.class.getDeclaredConstructor();
244         assertTrue("Constructor  private", Modifier.isPrivate(constructor.getModifiers()));
245         constructor.setAccessible(true);
246         constructor.newInstance();
247     }
248
249
250 }