Trying to fix the Jenkins Job
[holmes/engine-management.git] / engine-d / 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 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;
25
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.List;
29
30 import static org.hamcrest.CoreMatchers.equalTo;
31 import static org.junit.Assert.assertThat;
32
33
34 @PrepareForTest(DMaaPResponseUtil.class)
35 public class DMaaPResponseUtilTest {
36
37     @Rule
38     public ExpectedException thrown = ExpectedException.none();
39
40     private DMaaPResponseUtil dMaaPResponseUtil;
41
42     @Before
43     public void setUp() {
44         dMaaPResponseUtil = new DMaaPResponseUtil();
45     }
46
47     @Test
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"
66                 + "},"
67                 + "\"faultFields\":{"
68                 + "\"alarmAdditionalInformation\":["
69                 + "{"
70                 + "\"name\":\"niaho\","
71                 + "\"value\":\"1111\""
72                 + "},"
73                 + "{"
74                 + "\"name\":\"tian\","
75                 + "\"value\":\"22222\""
76                 + "}"
77                 + "],"
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\""
86                 + "}"
87                 + "}"
88                 + "}";
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);
105
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);
116
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");
125
126         VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
127
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()));
143
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()));
152
153     }
154
155     @Test
156     public void testDMaaPResponseUtil_throws_nullPointerException() throws Exception {
157         String json = "{}";
158         thrown.expect(NullPointerException.class);
159         dMaaPResponseUtil.convertJsonToVesAlarm(json);
160     }
161
162     @Test
163     public void testDMaaPResponseUtil_input_illegal() throws Exception {
164         String json = "***";
165         thrown.expect(Exception.class);
166         dMaaPResponseUtil.convertJsonToVesAlarm(json);
167     }
168
169     @Test
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"
184                 + "},"
185                 + "\"faultFields\":{"
186                 + "\"alarmAdditionalInformation\":["
187                 + "{"
188                 + "\"name\":\"niaho\","
189                 + "\"value\":\"1111\""
190                 + "},"
191                 + "{"
192                 + "\"name\":\"tian\","
193                 + "\"value\":\"22222\""
194                 + "}"
195                 + "],"
196                 + "\"alarmCondition\":\"fadilel\","
197                 + "\"eventSeverity\":\"CRITICAL\","
198                 + "\"eventSourceType\":\"type of event source\","
199                 + "\"faultFieldsVersion\":567567567,"
200                 + "\"specificProblem\":\"short description\","
201                 + "\"vfStatus\":\"Preparing to terminate\""
202                 + "}"
203                 + "}"
204                 + "}";
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);
215
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);
226
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");
233
234         VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
235
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()));
245
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()));
252     }
253
254     @Test
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"
269                 + "},"
270                 + "\"faultFields\":{"
271                 + "\"alarmAdditionalInformation\":["
272                 + "{"
273                 + "\"nam\":\"niaho\","
274                 + "\"value\":\"1111\""
275                 + "},"
276                 + "{"
277                 + "\"name\":\"tian\","
278                 + "\"value\":\"22222\""
279                 + "}"
280                 + "],"
281                 + "\"alarmCondition\":\"fadilel\","
282                 + "\"eventSeverity\":\"CRITICAL\","
283                 + "\"eventSourceType\":\"type of event source\","
284                 + "\"faultFieldsVersion\":567567567,"
285                 + "\"specificProblem\":\"short description\","
286                 + "\"vfStatus\":\"Preparing to terminate\""
287                 + "}"
288                 + "}"
289                 + "}";
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);
300
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);
311
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");
318
319         VesAlarm result = dMaaPResponseUtil.convertJsonToVesAlarm(json);
320
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()));
330
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()));
335
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()));
342     }
343 }