2 * Copyright 2017-2021 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.engine.dmaap;
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.junit.runner.RunWith;
21 import org.onap.holmes.common.api.entity.AlarmInfo;
22 import org.onap.holmes.common.api.stat.VesAlarm;
23 import org.onap.holmes.dsa.dmaappolling.Subscriber;
24 import org.onap.holmes.engine.db.AlarmInfoDaoService;
25 import org.onap.holmes.engine.manager.DroolsEngine;
26 import org.powermock.api.easymock.PowerMock;
27 import org.powermock.core.classloader.annotations.PrepareForTest;
28 import org.powermock.modules.junit4.PowerMockRunner;
29 import org.powermock.reflect.Whitebox;
31 import java.lang.reflect.Field;
33 import static org.hamcrest.CoreMatchers.is;
34 import static org.hamcrest.core.IsEqual.equalTo;
35 import static org.junit.Assert.assertThat;
37 @PrepareForTest({Subscriber.class, DroolsEngine.class, DMaaPAlarmPolling.class})
38 @RunWith(PowerMockRunner.class)
39 public class DMaaPAlarmPollingTest {
41 private DMaaPAlarmPolling dMaaPAlarmPolling;
42 private Subscriber subscriber;
43 private DroolsEngine droolsEngine;
44 private AlarmInfoDaoService alarmInfoDaoService;
48 subscriber = PowerMock.createMock(Subscriber.class);
49 droolsEngine = PowerMock.createMock(DroolsEngine.class);
50 alarmInfoDaoService = PowerMock.createMock(AlarmInfoDaoService.class);
51 dMaaPAlarmPolling = new DMaaPAlarmPolling(subscriber, droolsEngine, alarmInfoDaoService);
52 PowerMock.replayAll();
56 public void test_stop_task_ok() throws Exception {
57 dMaaPAlarmPolling.stopTask();
58 Field field = DMaaPAlarmPolling.class.getDeclaredField("isAlive");
59 field.setAccessible(true);
60 assertThat(field.get(dMaaPAlarmPolling), equalTo(false));
64 public void testGetAlarmInfo() throws Exception {
65 VesAlarm vesAlarm = new VesAlarm();
66 vesAlarm.setAlarmIsCleared(1);
67 vesAlarm.setSourceName("sourceName");
68 vesAlarm.setSourceId("sourceId");
69 vesAlarm.setStartEpochMicrosec(1L);
70 vesAlarm.setLastEpochMicrosec(1L);
71 vesAlarm.setEventName("eventName");
72 vesAlarm.setEventId("eventId");
73 vesAlarm.setRootFlag(0);
75 PowerMock.replayAll();
76 AlarmInfo alarmInfo = Whitebox.invokeMethod(dMaaPAlarmPolling, "getAlarmInfo", vesAlarm);
77 PowerMock.verifyAll();
79 assertThat(alarmInfo.getAlarmIsCleared(), is(1));
80 assertThat(alarmInfo.getSourceName(), equalTo("sourceName"));
81 assertThat(alarmInfo.getSourceId(), equalTo("sourceId"));
82 assertThat(alarmInfo.getStartEpochMicroSec(), is(1L));
83 assertThat(alarmInfo.getLastEpochMicroSec(), is(1L));
84 assertThat(alarmInfo.getEventName(), equalTo("eventName"));
85 assertThat(alarmInfo.getEventId(), equalTo("eventId"));
86 assertThat(alarmInfo.getRootFlag(), is(0));