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