2 * Copyright 2017 ZTE Corporation.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.onap.holmes.dsa.dmaappolling;
18 import com.alibaba.fastjson.JSONException;
19 import org.junit.Before;
20 import org.junit.Rule;
21 import org.junit.Test;
22 import org.junit.rules.ExpectedException;
23 import org.onap.holmes.common.api.stat.AlarmAdditionalField;
24 import org.onap.holmes.common.api.stat.VesAlarm;
25 import org.onap.holmes.dsa.dmaappolling.DMaaPResponseUtil;
26 import org.powermock.core.classloader.annotations.PrepareForTest;
28 import java.io.IOException;
29 import java.util.ArrayList;
30 import java.util.List;
32 import static org.hamcrest.CoreMatchers.equalTo;
33 import static org.junit.Assert.assertThat;
36 @PrepareForTest(DMaaPResponseUtil.class)
37 public class DMaaPResponseUtilTest {
40 public ExpectedException thrown = ExpectedException.none();
42 private DMaaPResponseUtil dMaaPResponseUtil;
46 dMaaPResponseUtil = new DMaaPResponseUtil();
50 public void testDMaaPResponseUtil_input_normal() throws IOException {
51 String json = "{\"event\":{"
52 + "\"commonEventHeader\":{"
53 + "\"domain\":\"fault\","
54 + "\"eventId\":\"112355255-24345\","
55 + "\"eventName\":\"4333454333\","
56 + "\"eventType\":\"remote\","
57 + "\"lastEpochMicrosec\":333434333,"
58 + "\"nfcNamingCode\":\"567422\","
59 + "\"nfNamingCode\":\"qweertrr\","
60 + "\"priority\":\"High\","
61 + "\"reportingEntityId\":\"99888888888\","
62 + "\"reportingEntityName\":\"tianshisdlsdjf\","
63 + "\"sequence\":34566,"
64 + "\"sourceId\":\"3345556444\","
65 + "\"sourceName\":\"nihoahh\","
66 + "\"startEpochMicrosec\":54545454,"
67 + "\"version\":998989879"
70 + "\"alarmAdditionalInformation\":["
72 + "\"name\":\"niaho\","
73 + "\"value\":\"1111\""
76 + "\"name\":\"tian\","
77 + "\"value\":\"22222\""
80 + "\"alarmCondition\":\"fadilel\","
81 + "\"alarmInterfaceA\":\"generating the alarm\","
82 + "\"eventCategory\":\"Event category\","
83 + "\"eventSeverity\":\"CRITICAL\","
84 + "\"eventSourceType\":\"type of event source\","
85 + "\"faultFieldsVersion\":567567567,"
86 + "\"specificProblem\":\"short description\","
87 + "\"vfStatus\":\"Preparing to terminate\""
91 VesAlarm expected = new VesAlarm();
92 expected.setDomain("fault");
93 expected.setEventId("112355255-24345");
94 expected.setEventName("4333454333");
95 expected.setEventType("remote");
96 expected.setLastEpochMicrosec((long) 333434333);
97 expected.setNfcNamingCode("567422");
98 expected.setNfNamingCode("qweertrr");
99 expected.setPriority("High");
100 expected.setReportingEntityId("99888888888");
101 expected.setReportingEntityName("tianshisdlsdjf");
102 expected.setSequence(34566);
103 expected.setSourceId("3345556444");
104 expected.setSourceName("nihoahh");
105 expected.setStartEpochMicrosec((long) 54545454);
106 expected.setVersion((long) 998989879);
108 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
109 AlarmAdditionalField alarmAdditionalField1 = new AlarmAdditionalField();
110 alarmAdditionalField1.setName("niaho");
111 alarmAdditionalField1.setName("1111");
112 alarmAdditionalFields.add(alarmAdditionalField1);
113 AlarmAdditionalField alarmAdditionalField2 = new AlarmAdditionalField();
114 alarmAdditionalField2.setName("tian");
115 alarmAdditionalField2.setName("22222");
116 alarmAdditionalFields.add(alarmAdditionalField2);
117 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
119 expected.setAlarmCondition("fadilel");
120 expected.setAlarmInterfaceA("generating the alarm");
121 expected.setEventCategory("Event category");
122 expected.setEventSeverity("CRITICAL");
123 expected.setEventSourceType("type of event source");
124 expected.setFaultFieldsVersion((long) 567567567);
125 expected.setSpecificProblem("short description");
126 expected.setVfStatus("Preparing to terminate");
128 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
130 assertThat(expected.getDomain(), equalTo(result.getDomain()));
131 assertThat(expected.getEventId(), equalTo(result.getEventId()));
132 assertThat(expected.getEventName(), equalTo(result.getEventName()));
133 assertThat(expected.getEventType(), equalTo(result.getEventType()));
134 assertThat(expected.getLastEpochMicrosec(), equalTo(result.getLastEpochMicrosec()));
135 assertThat(expected.getNfcNamingCode(), equalTo(result.getNfcNamingCode()));
136 assertThat(expected.getNfNamingCode(), equalTo(result.getNfNamingCode()));
137 assertThat(expected.getPriority(), equalTo(result.getPriority()));
138 assertThat(expected.getReportingEntityId(), equalTo(result.getReportingEntityId()));
139 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
140 assertThat(expected.getSequence(), equalTo(result.getSequence()));
141 assertThat(expected.getSourceId(), equalTo(result.getSourceId()));
142 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
143 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
144 assertThat(expected.getVersion(), equalTo(result.getVersion()));
146 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
147 assertThat(expected.getAlarmInterfaceA(), equalTo(result.getAlarmInterfaceA()));
148 assertThat(expected.getEventCategory(), equalTo(result.getEventCategory()));
149 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
150 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
151 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
152 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
153 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));
158 public void testDMaaPResponseUtil_throws_nullPointerException() throws Exception {
160 thrown.expect(NullPointerException.class);
161 dMaaPResponseUtil.convertJsonToVesAlarm(json);
165 public void testDMaaPResponseUtil_input_illegal() throws Exception {
167 thrown.expect(JSONException.class);
168 dMaaPResponseUtil.convertJsonToVesAlarm(json);
172 public void testDMaaPResponseUtil_only_necessary_information() throws IOException {
173 String json = "{\"event\":{"
174 + "\"commonEventHeader\":{"
175 + "\"domain\":\"fault\","
176 + "\"eventId\":\"112355255-24345\","
177 + "\"eventName\":\"4333454333\","
178 + "\"eventType\":\"remote\","
179 + "\"lastEpochMicrosec\":333434333,"
180 + "\"priority\":\"High\","
181 + "\"reportingEntityName\":\"tianshisdlsdjf\","
182 + "\"sequence\":34566,"
183 + "\"sourceName\":\"nihoahh\","
184 + "\"startEpochMicrosec\":54545454,"
185 + "\"version\":998989879"
187 + "\"faultFields\":{"
188 + "\"alarmAdditionalInformation\":["
190 + "\"name\":\"niaho\","
191 + "\"value\":\"1111\""
194 + "\"name\":\"tian\","
195 + "\"value\":\"22222\""
198 + "\"alarmCondition\":\"fadilel\","
199 + "\"eventSeverity\":\"CRITICAL\","
200 + "\"eventSourceType\":\"type of event source\","
201 + "\"faultFieldsVersion\":567567567,"
202 + "\"specificProblem\":\"short description\","
203 + "\"vfStatus\":\"Preparing to terminate\""
207 VesAlarm expected = new VesAlarm();
208 expected.setDomain("fault");
209 expected.setEventId("112355255-24345");
210 expected.setEventName("4333454333");
211 expected.setPriority("High");
212 expected.setReportingEntityName("tianshisdlsdjf");
213 expected.setSequence(34566);
214 expected.setSourceName("nihoahh");
215 expected.setStartEpochMicrosec((long) 54545454);
216 expected.setVersion((long) 998989879);
218 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
219 AlarmAdditionalField alarmAdditionalField1 = new AlarmAdditionalField();
220 alarmAdditionalField1.setName("niaho");
221 alarmAdditionalField1.setName("1111");
222 alarmAdditionalFields.add(alarmAdditionalField1);
223 AlarmAdditionalField alarmAdditionalField2 = new AlarmAdditionalField();
224 alarmAdditionalField2.setName("tian");
225 alarmAdditionalField2.setName("22222");
226 alarmAdditionalFields.add(alarmAdditionalField2);
227 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
229 expected.setAlarmCondition("fadilel");
230 expected.setEventSeverity("CRITICAL");
231 expected.setEventSourceType("type of event source");
232 expected.setFaultFieldsVersion((long) 567567567);
233 expected.setSpecificProblem("short description");
234 expected.setVfStatus("Preparing to terminate");
236 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
238 assertThat(expected.getDomain(), equalTo(result.getDomain()));
239 assertThat(expected.getEventId(), equalTo(result.getEventId()));
240 assertThat(expected.getEventName(), equalTo(result.getEventName()));
241 assertThat(expected.getPriority(), equalTo(result.getPriority()));
242 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
243 assertThat(expected.getSequence(), equalTo(result.getSequence()));
244 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
245 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
246 assertThat(expected.getVersion(), equalTo(result.getVersion()));
248 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
249 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
250 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
251 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
252 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
253 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));
257 public void testDMaaPResponseUtil_input_array_illegal() throws IOException {
258 String json = "{\"event\":{"
259 + "\"commonEventHeader\":{"
260 + "\"domain\":\"fault\","
261 + "\"eventId\":\"112355255-24345\","
262 + "\"eventName\":\"4333454333\","
263 + "\"eventType\":\"remote\","
264 + "\"lastEpochMicrosec\":333434333,"
265 + "\"priority\":\"High\","
266 + "\"reportingEntityName\":\"tianshisdlsdjf\","
267 + "\"sequence\":34566,"
268 + "\"sourceName\":\"nihoahh\","
269 + "\"startEpochMicrosec\":54545454,"
270 + "\"version\":998989879"
272 + "\"faultFields\":{"
273 + "\"alarmAdditionalInformation\":["
275 + "\"nam\":\"niaho\","
276 + "\"value\":\"1111\""
279 + "\"name\":\"tian\","
280 + "\"value\":\"22222\""
283 + "\"alarmCondition\":\"fadilel\","
284 + "\"eventSeverity\":\"CRITICAL\","
285 + "\"eventSourceType\":\"type of event source\","
286 + "\"faultFieldsVersion\":567567567,"
287 + "\"specificProblem\":\"short description\","
288 + "\"vfStatus\":\"Preparing to terminate\""
292 VesAlarm expected = new VesAlarm();
293 expected.setDomain("fault");
294 expected.setEventId("112355255-24345");
295 expected.setEventName("4333454333");
296 expected.setPriority("High");
297 expected.setReportingEntityName("tianshisdlsdjf");
298 expected.setSequence(34566);
299 expected.setSourceName("nihoahh");
300 expected.setStartEpochMicrosec((long) 54545454);
301 expected.setVersion((long) 998989879);
303 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
304 AlarmAdditionalField alarmAdditionalField = new AlarmAdditionalField();
305 alarmAdditionalField.setName("tian");
306 alarmAdditionalField.setValue("22222");
307 alarmAdditionalFields.add(alarmAdditionalField);
308 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
310 expected.setAlarmCondition("fadilel");
311 expected.setEventSeverity("CRITICAL");
312 expected.setEventSourceType("type of event source");
313 expected.setFaultFieldsVersion((long) 567567567);
314 expected.setSpecificProblem("short description");
315 expected.setVfStatus("Preparing to terminate");
317 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
319 assertThat(expected.getDomain(), equalTo(result.getDomain()));
320 assertThat(expected.getEventId(), equalTo(result.getEventId()));
321 assertThat(expected.getEventName(), equalTo(result.getEventName()));
322 assertThat(expected.getPriority(), equalTo(result.getPriority()));
323 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
324 assertThat(expected.getSequence(), equalTo(result.getSequence()));
325 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
326 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
327 assertThat(expected.getVersion(), equalTo(result.getVersion()));
329 assertThat(expected.getAlarmAdditionalInformation().get(0).getName(),
330 equalTo(result.getAlarmAdditionalInformation().get(0).getName()));
331 assertThat(expected.getAlarmAdditionalInformation().get(0).getValue(),
332 equalTo(result.getAlarmAdditionalInformation().get(0).getValue()));
334 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
335 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
336 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
337 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
338 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
339 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));