From 30407b138dbb273071c00c85481fd59cb3987633 Mon Sep 17 00:00:00 2001 From: Shiwei Tian Date: Fri, 16 Mar 2018 16:57:50 +0800 Subject: Fix the Sonar Findings Issue-ID: HOLMES-121 Change-Id: I0b6b0fc81c3f55f21fac28ddedb6d255c2ab663a Signed-off-by: Shiwei Tian --- .../holmes/engine/dmaap/DMaaPAlarmPollingTest.java | 55 +++++++++++++++++++++ .../holmes/engine/dmaap/SubscriberActionTest.java | 57 ++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 engine-d/src/test/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPollingTest.java create mode 100644 engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java (limited to 'engine-d/src/test/java') diff --git a/engine-d/src/test/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPollingTest.java b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPollingTest.java new file mode 100644 index 0000000..f4804f3 --- /dev/null +++ b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPollingTest.java @@ -0,0 +1,55 @@ +/** + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.holmes.engine.dmaap; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.*; + +import java.lang.reflect.Field; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.holmes.dsa.dmaappolling.Subscriber; +import org.onap.holmes.engine.manager.DroolsEngine; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +@PrepareForTest({Subscriber.class, DroolsEngine.class}) +@RunWith(PowerMockRunner.class) +public class DMaaPAlarmPollingTest { + + private DMaaPAlarmPolling dMaaPAlarmPolling; + private Subscriber subscriber; + private DroolsEngine droolsEngine; + + @Before + public void setUp() { + subscriber = PowerMock.createMock(Subscriber.class); + droolsEngine = PowerMock.createMock(DroolsEngine.class); + dMaaPAlarmPolling = new DMaaPAlarmPolling(subscriber, droolsEngine); + PowerMock.replayAll(); + } + + @Test + public void test_stop_task_ok() throws Exception { + dMaaPAlarmPolling.stopTask(); + Field field = DMaaPAlarmPolling.class.getDeclaredField("isAlive"); + field.setAccessible(true); + assertThat(field.get(dMaaPAlarmPolling), equalTo(false)); + } + +} \ No newline at end of file diff --git a/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java new file mode 100644 index 0000000..7f5d56e --- /dev/null +++ b/engine-d/src/test/java/org/onap/holmes/engine/dmaap/SubscriberActionTest.java @@ -0,0 +1,57 @@ +/* + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.holmes.engine.dmaap; + +import java.util.HashMap; +import org.junit.Before; +import org.junit.Test; +import org.onap.holmes.dsa.dmaappolling.Subscriber; +import org.powermock.api.easymock.PowerMock; +import org.powermock.reflect.Whitebox; + +public class SubscriberActionTest { + + private SubscriberAction subscriberAction; + + @Before + public void setUp() { + subscriberAction = new SubscriberAction(); + HashMap dMaaPAlarmPollingHashMap = new HashMap<>(); + DMaaPAlarmPolling dMaaPAlarmPolling = new DMaaPAlarmPolling(null, null); + dMaaPAlarmPollingHashMap.put("test", dMaaPAlarmPolling); + DMaaPAlarmPolling dMaaPAlarmPolling1 = new DMaaPAlarmPolling(null, null); + dMaaPAlarmPollingHashMap.put("testTopic", dMaaPAlarmPolling1); + Whitebox.setInternalState(subscriberAction, "pollingTasks", dMaaPAlarmPollingHashMap); + PowerMock.replayAll(); + } + + @Test + public void removeSubscriber() throws Exception { + Subscriber subscriber = PowerMock.createMock(Subscriber.class); + PowerMock.expectPrivate(subscriber, "getTopic").andReturn("testTopic"); + PowerMock.expectPrivate(subscriber, "getUrl").andReturn("https"); + PowerMock.replayAll(); + subscriberAction.removeSubscriber(subscriber); + PowerMock.verifyAll(); + } + + @Test + public void stopPollingTasks() throws Exception { + subscriberAction.stopPollingTasks(); + PowerMock.verifyAll(); + } + +} \ No newline at end of file -- cgit 1.2.3-korg