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