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 org.junit.Before;
19 import org.junit.Rule;
20 import org.junit.Test;
21 import org.junit.rules.ExpectedException;
22 import org.onap.holmes.common.api.stat.AlarmAdditionalField;
23 import org.onap.holmes.common.api.stat.VesAlarm;
24 import org.powermock.core.classloader.annotations.PrepareForTest;
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.List;
30 import static org.hamcrest.CoreMatchers.equalTo;
31 import static org.junit.Assert.assertThat;
34 @PrepareForTest(DMaaPResponseUtil.class)
35 public class DMaaPResponseUtilTest {
38 public ExpectedException thrown = ExpectedException.none();
40 private DMaaPResponseUtil dMaaPResponseUtil;
44 dMaaPResponseUtil = new DMaaPResponseUtil();
48 public void testDMaaPResponseUtil_input_normal() throws IOException {
49 String json = "{\"event\":{"
50 + "\"commonEventHeader\":{"
51 + "\"domain\":\"fault\","
52 + "\"eventId\":\"112355255-24345\","
53 + "\"eventName\":\"4333454333\","
54 + "\"eventType\":\"remote\","
55 + "\"lastEpochMicrosec\":333434333,"
56 + "\"nfcNamingCode\":\"567422\","
57 + "\"nfNamingCode\":\"qweertrr\","
58 + "\"priority\":\"High\","
59 + "\"reportingEntityId\":\"99888888888\","
60 + "\"reportingEntityName\":\"tianshisdlsdjf\","
61 + "\"sequence\":34566,"
62 + "\"sourceId\":\"3345556444\","
63 + "\"sourceName\":\"nihoahh\","
64 + "\"startEpochMicrosec\":54545454,"
65 + "\"version\":998989879"
68 + "\"alarmAdditionalInformation\":["
70 + "\"name\":\"niaho\","
71 + "\"value\":\"1111\""
74 + "\"name\":\"tian\","
75 + "\"value\":\"22222\""
78 + "\"alarmCondition\":\"fadilel\","
79 + "\"alarmInterfaceA\":\"generating the alarm\","
80 + "\"eventCategory\":\"Event category\","
81 + "\"eventSeverity\":\"CRITICAL\","
82 + "\"eventSourceType\":\"type of event source\","
83 + "\"faultFieldsVersion\":567567567,"
84 + "\"specificProblem\":\"short description\","
85 + "\"vfStatus\":\"Preparing to terminate\""
89 VesAlarm expected = new VesAlarm();
90 expected.setDomain("fault");
91 expected.setEventId("112355255-24345");
92 expected.setEventName("4333454333");
93 expected.setEventType("remote");
94 expected.setLastEpochMicrosec((long) 333434333);
95 expected.setNfcNamingCode("567422");
96 expected.setNfNamingCode("qweertrr");
97 expected.setPriority("High");
98 expected.setReportingEntityId("99888888888");
99 expected.setReportingEntityName("tianshisdlsdjf");
100 expected.setSequence(34566);
101 expected.setSourceId("3345556444");
102 expected.setSourceName("nihoahh");
103 expected.setStartEpochMicrosec((long) 54545454);
104 expected.setVersion((long) 998989879);
106 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
107 AlarmAdditionalField alarmAdditionalField1 = new AlarmAdditionalField();
108 alarmAdditionalField1.setName("niaho");
109 alarmAdditionalField1.setName("1111");
110 alarmAdditionalFields.add(alarmAdditionalField1);
111 AlarmAdditionalField alarmAdditionalField2 = new AlarmAdditionalField();
112 alarmAdditionalField2.setName("tian");
113 alarmAdditionalField2.setName("22222");
114 alarmAdditionalFields.add(alarmAdditionalField2);
115 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
117 expected.setAlarmCondition("fadilel");
118 expected.setAlarmInterfaceA("generating the alarm");
119 expected.setEventCategory("Event category");
120 expected.setEventSeverity("CRITICAL");
121 expected.setEventSourceType("type of event source");
122 expected.setFaultFieldsVersion((long) 567567567);
123 expected.setSpecificProblem("short description");
124 expected.setVfStatus("Preparing to terminate");
126 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
128 assertThat(expected.getDomain(), equalTo(result.getDomain()));
129 assertThat(expected.getEventId(), equalTo(result.getEventId()));
130 assertThat(expected.getEventName(), equalTo(result.getEventName()));
131 assertThat(expected.getEventType(), equalTo(result.getEventType()));
132 assertThat(expected.getLastEpochMicrosec(), equalTo(result.getLastEpochMicrosec()));
133 assertThat(expected.getNfcNamingCode(), equalTo(result.getNfcNamingCode()));
134 assertThat(expected.getNfNamingCode(), equalTo(result.getNfNamingCode()));
135 assertThat(expected.getPriority(), equalTo(result.getPriority()));
136 assertThat(expected.getReportingEntityId(), equalTo(result.getReportingEntityId()));
137 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
138 assertThat(expected.getSequence(), equalTo(result.getSequence()));
139 assertThat(expected.getSourceId(), equalTo(result.getSourceId()));
140 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
141 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
142 assertThat(expected.getVersion(), equalTo(result.getVersion()));
144 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
145 assertThat(expected.getAlarmInterfaceA(), equalTo(result.getAlarmInterfaceA()));
146 assertThat(expected.getEventCategory(), equalTo(result.getEventCategory()));
147 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
148 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
149 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
150 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
151 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));
156 public void testDMaaPResponseUtil_throws_nullPointerException() throws Exception {
158 thrown.expect(NullPointerException.class);
159 dMaaPResponseUtil.convertJsonToVesAlarm(json);
163 public void testDMaaPResponseUtil_input_illegal() throws Exception {
165 thrown.expect(Exception.class);
166 dMaaPResponseUtil.convertJsonToVesAlarm(json);
170 public void testDMaaPResponseUtil_only_necessary_information() throws IOException {
171 String json = "{\"event\":{"
172 + "\"commonEventHeader\":{"
173 + "\"domain\":\"fault\","
174 + "\"eventId\":\"112355255-24345\","
175 + "\"eventName\":\"4333454333\","
176 + "\"eventType\":\"remote\","
177 + "\"lastEpochMicrosec\":333434333,"
178 + "\"priority\":\"High\","
179 + "\"reportingEntityName\":\"tianshisdlsdjf\","
180 + "\"sequence\":34566,"
181 + "\"sourceName\":\"nihoahh\","
182 + "\"startEpochMicrosec\":54545454,"
183 + "\"version\":998989879"
185 + "\"faultFields\":{"
186 + "\"alarmAdditionalInformation\":["
188 + "\"name\":\"niaho\","
189 + "\"value\":\"1111\""
192 + "\"name\":\"tian\","
193 + "\"value\":\"22222\""
196 + "\"alarmCondition\":\"fadilel\","
197 + "\"eventSeverity\":\"CRITICAL\","
198 + "\"eventSourceType\":\"type of event source\","
199 + "\"faultFieldsVersion\":567567567,"
200 + "\"specificProblem\":\"short description\","
201 + "\"vfStatus\":\"Preparing to terminate\""
205 VesAlarm expected = new VesAlarm();
206 expected.setDomain("fault");
207 expected.setEventId("112355255-24345");
208 expected.setEventName("4333454333");
209 expected.setPriority("High");
210 expected.setReportingEntityName("tianshisdlsdjf");
211 expected.setSequence(34566);
212 expected.setSourceName("nihoahh");
213 expected.setStartEpochMicrosec((long) 54545454);
214 expected.setVersion((long) 998989879);
216 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
217 AlarmAdditionalField alarmAdditionalField1 = new AlarmAdditionalField();
218 alarmAdditionalField1.setName("niaho");
219 alarmAdditionalField1.setName("1111");
220 alarmAdditionalFields.add(alarmAdditionalField1);
221 AlarmAdditionalField alarmAdditionalField2 = new AlarmAdditionalField();
222 alarmAdditionalField2.setName("tian");
223 alarmAdditionalField2.setName("22222");
224 alarmAdditionalFields.add(alarmAdditionalField2);
225 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
227 expected.setAlarmCondition("fadilel");
228 expected.setEventSeverity("CRITICAL");
229 expected.setEventSourceType("type of event source");
230 expected.setFaultFieldsVersion((long) 567567567);
231 expected.setSpecificProblem("short description");
232 expected.setVfStatus("Preparing to terminate");
234 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
236 assertThat(expected.getDomain(), equalTo(result.getDomain()));
237 assertThat(expected.getEventId(), equalTo(result.getEventId()));
238 assertThat(expected.getEventName(), equalTo(result.getEventName()));
239 assertThat(expected.getPriority(), equalTo(result.getPriority()));
240 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
241 assertThat(expected.getSequence(), equalTo(result.getSequence()));
242 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
243 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
244 assertThat(expected.getVersion(), equalTo(result.getVersion()));
246 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
247 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
248 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
249 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
250 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
251 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));
255 public void testDMaaPResponseUtil_input_array_illegal() throws IOException {
256 String json = "{\"event\":{"
257 + "\"commonEventHeader\":{"
258 + "\"domain\":\"fault\","
259 + "\"eventId\":\"112355255-24345\","
260 + "\"eventName\":\"4333454333\","
261 + "\"eventType\":\"remote\","
262 + "\"lastEpochMicrosec\":333434333,"
263 + "\"priority\":\"High\","
264 + "\"reportingEntityName\":\"tianshisdlsdjf\","
265 + "\"sequence\":34566,"
266 + "\"sourceName\":\"nihoahh\","
267 + "\"startEpochMicrosec\":54545454,"
268 + "\"version\":998989879"
270 + "\"faultFields\":{"
271 + "\"alarmAdditionalInformation\":["
273 + "\"nam\":\"niaho\","
274 + "\"value\":\"1111\""
277 + "\"name\":\"tian\","
278 + "\"value\":\"22222\""
281 + "\"alarmCondition\":\"fadilel\","
282 + "\"eventSeverity\":\"CRITICAL\","
283 + "\"eventSourceType\":\"type of event source\","
284 + "\"faultFieldsVersion\":567567567,"
285 + "\"specificProblem\":\"short description\","
286 + "\"vfStatus\":\"Preparing to terminate\""
290 VesAlarm expected = new VesAlarm();
291 expected.setDomain("fault");
292 expected.setEventId("112355255-24345");
293 expected.setEventName("4333454333");
294 expected.setPriority("High");
295 expected.setReportingEntityName("tianshisdlsdjf");
296 expected.setSequence(34566);
297 expected.setSourceName("nihoahh");
298 expected.setStartEpochMicrosec((long) 54545454);
299 expected.setVersion((long) 998989879);
301 List<AlarmAdditionalField> alarmAdditionalFields = new ArrayList<>();
302 AlarmAdditionalField alarmAdditionalField = new AlarmAdditionalField();
303 alarmAdditionalField.setName(null);
304 alarmAdditionalField.setValue("1111");
305 alarmAdditionalFields.add(alarmAdditionalField);
306 alarmAdditionalField = new AlarmAdditionalField();
307 alarmAdditionalField.setName("tian");
308 alarmAdditionalField.setValue("22222");
309 alarmAdditionalFields.add(alarmAdditionalField);
310 expected.setAlarmAdditionalInformation(alarmAdditionalFields);
312 expected.setAlarmCondition("fadilel");
313 expected.setEventSeverity("CRITICAL");
314 expected.setEventSourceType("type of event source");
315 expected.setFaultFieldsVersion((long) 567567567);
316 expected.setSpecificProblem("short description");
317 expected.setVfStatus("Preparing to terminate");
319 VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
321 assertThat(expected.getDomain(), equalTo(result.getDomain()));
322 assertThat(expected.getEventId(), equalTo(result.getEventId()));
323 assertThat(expected.getEventName(), equalTo(result.getEventName()));
324 assertThat(expected.getPriority(), equalTo(result.getPriority()));
325 assertThat(expected.getReportingEntityName(), equalTo(result.getReportingEntityName()));
326 assertThat(expected.getSequence(), equalTo(result.getSequence()));
327 assertThat(expected.getSourceName(), equalTo(result.getSourceName()));
328 assertThat(expected.getStartEpochMicrosec(), equalTo(result.getStartEpochMicrosec()));
329 assertThat(expected.getVersion(), equalTo(result.getVersion()));
331 assertThat(expected.getAlarmAdditionalInformation().get(0).getName(),
332 equalTo(result.getAlarmAdditionalInformation().get(0).getName()));
333 assertThat(expected.getAlarmAdditionalInformation().get(0).getValue(),
334 equalTo(result.getAlarmAdditionalInformation().get(0).getValue()));
336 assertThat(expected.getAlarmCondition(), equalTo(result.getAlarmCondition()));
337 assertThat(expected.getEventSeverity(), equalTo(result.getEventSeverity()));
338 assertThat(expected.getEventSourceType(), equalTo(result.getEventSourceType()));
339 assertThat(expected.getFaultFieldsVersion(), equalTo(result.getFaultFieldsVersion()));
340 assertThat(expected.getSpecificProblem(), equalTo(result.getSpecificProblem()));
341 assertThat(expected.getVfStatus(), equalTo(result.getVfStatus()));