summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/impl/ControllerImpl.java6
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/impl/TestController.java64
2 files changed, 67 insertions, 3 deletions
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/impl/ControllerImpl.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/impl/ControllerImpl.java
index cc9c7181f..d1c5d61c2 100644
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/impl/ControllerImpl.java
+++ b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/impl/ControllerImpl.java
@@ -114,7 +114,7 @@ public class ControllerImpl implements Controller {
Listener l = itr.next();
if (stopNow && l != null) {
l.stopNow();
- } else if(l!=null){
+ } else if(l != null){
l.stop();
}
itr.remove();
@@ -122,7 +122,7 @@ public class ControllerImpl implements Controller {
// disable new tasks from being submitted
if(executor != null) {
executor.shutdown();
- int timeout=300;
+ int timeout = 300;
try {
if (!executor.awaitTermination(timeout, TimeUnit.SECONDS)) {
LOG.error("Not all tasks completed execution after " + timeout + " seconds. " +
@@ -130,7 +130,7 @@ public class ControllerImpl implements Controller {
executor.shutdownNow();
}
if (!executor.awaitTermination(timeout, TimeUnit.SECONDS)) {
- LOG.error("Could not terminate all tasks after " + (timeout*2) + " seconds.");
+ LOG.error("Could not terminate all tasks after " + (timeout * 2) + " seconds.");
}
} catch (InterruptedException e) {
executor.shutdownNow();
diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/impl/TestController.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/impl/TestController.java
index 80b02bda8..ea40fcc72 100644
--- a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/impl/TestController.java
+++ b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/impl/TestController.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +25,68 @@
package org.onap.appc.listener.impl;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+import org.onap.appc.listener.Controller;
+import org.onap.appc.listener.Listener;
+import org.onap.appc.listener.ListenerProperties;
+import org.onap.appc.listener.demo.impl.ListenerImpl;
+import org.powermock.reflect.Whitebox;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
public class TestController {
+ private ListenerProperties listenerProperties;
+ private Set<ListenerProperties> properties = Mockito.spy(new HashSet<>());
+ private EELFLogger log = Mockito.spy(EELFManager.getInstance().getLogger(ControllerImpl.class));
+
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Test
+ public void testExceptionConstructor() {
+ listenerProperties = Mockito.mock(ListenerProperties.class);
+ properties.add(listenerProperties);
+ new ControllerImpl(properties);
+ Mockito.verify(properties).remove(Mockito.any());
+ }
+
+ @Test
+ public void testStartException() throws NoSuchMethodException, SecurityException {
+ Properties props = new Properties();
+ props.put("TEST", "TEST");
+ listenerProperties = Mockito.spy(new ListenerProperties("TEST", props));
+ listenerProperties.setListenerClass(Listener.class);
+ properties.add(listenerProperties);
+ ControllerImpl controllerImpl = new ControllerImpl(properties);
+ controllerImpl.start();
+ Mockito.verify(listenerProperties, Mockito.times(2)).getListenerClass();
+ }
+
+ @Test
+ public void testStopException() throws NoSuchMethodException, SecurityException, InterruptedException {
+ Properties props = new Properties();
+ props.put("TEST", "TEST");
+ listenerProperties = Mockito.spy(new ListenerProperties("TEST", props));
+ listenerProperties.setListenerClass(Listener.class);
+ properties.add(listenerProperties);
+ ControllerImpl controllerImpl = new ControllerImpl(properties);
+ //controllerImpl.start();
+ Map<String, Listener> map = Whitebox.getInternalState(controllerImpl, "listeners");
+ map.put("TEST", new ListenerImpl(listenerProperties));
+ ThreadPoolExecutor executor = Mockito.mock(ThreadPoolExecutor.class);
+ Mockito.when(executor.awaitTermination(300, TimeUnit.SECONDS)).thenReturn(false);
+ Whitebox.setInternalState(controllerImpl, "executor", executor);
+ controllerImpl.stop(false);
+ Mockito.verify(executor).shutdown();
+ }
}