summaryrefslogtreecommitdiffstats
path: root/feature-pooling-dmaap/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'feature-pooling-dmaap/src/test')
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java84
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/FeatureTest.java23
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingFeatureTest.java63
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java29
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/ForwardTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/HeartbeatTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/IdentificationTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/LeaderTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/OfflineTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/QueryTest.java6
10 files changed, 64 insertions, 171 deletions
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java
index a5688df6..6509e90e 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/DmaapManagerTest.java
@@ -24,16 +24,14 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.LinkedList;
-import java.util.Properties;
import java.util.concurrent.CountDownLatch;
import org.junit.AfterClass;
import org.junit.Before;
@@ -56,7 +54,6 @@ public class DmaapManagerTest {
*/
private static Factory saveFactory;
- private Properties props;
private Factory factory;
private TopicListener listener;
private FilterableTopicSource source;
@@ -75,8 +72,6 @@ public class DmaapManagerTest {
@Before
public void setUp() throws Exception {
- props = new Properties();
-
listener = mock(TopicListener.class);
factory = mock(Factory.class);
source = mock(FilterableTopicSource.class);
@@ -90,21 +85,21 @@ public class DmaapManagerTest {
when(sink.send(any())).thenReturn(true);
// three sources, with the desired one in the middle
- when(factory.initTopicSources(props))
+ when(factory.getTopicSources())
.thenReturn(Arrays.asList(mock(TopicSource.class), source, mock(TopicSource.class)));
// three sinks, with the desired one in the middle
- when(factory.initTopicSinks(props))
+ when(factory.getTopicSinks())
.thenReturn(Arrays.asList(mock(TopicSink.class), sink, mock(TopicSink.class)));
- mgr = new DmaapManager(MY_TOPIC, props);
+ mgr = new DmaapManager(MY_TOPIC);
}
@Test
public void testDmaapManager() {
// verify that the init methods were called
- verify(factory).initTopicSinks(props);
- verify(factory).initTopicSinks(props);
+ verify(factory).getTopicSinks();
+ verify(factory).getTopicSinks();
}
@Test(expected = PoolingFeatureException.class)
@@ -112,15 +107,15 @@ public class DmaapManagerTest {
// force error by having no topics match
when(source.getTopic()).thenReturn("");
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test(expected = PoolingFeatureException.class)
public void testDmaapManager_IllegalArgEx() throws PoolingFeatureException {
// force error
- when(factory.initTopicSources(props)).thenThrow(new IllegalArgumentException("expected"));
+ when(factory.getTopicSources()).thenThrow(new IllegalArgumentException("expected"));
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test(expected = PoolingFeatureException.class)
@@ -128,7 +123,7 @@ public class DmaapManagerTest {
// force an error when setFilter() is called
doThrow(new UnsupportedOperationException("expected")).when(source).setFilter(any());
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test
@@ -148,25 +143,25 @@ public class DmaapManagerTest {
TopicSource source2 = mock(TopicSource.class);
when(source2.getTopic()).thenReturn(MY_TOPIC);
- when(factory.initTopicSources(props)).thenReturn(Arrays.asList(source2));
+ when(factory.getTopicSources()).thenReturn(Arrays.asList(source2));
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test(expected = PoolingFeatureException.class)
public void testFindTopicSource_NotFound() throws PoolingFeatureException {
// one item in list, and its topic doesn't match
- when(factory.initTopicSources(props)).thenReturn(Arrays.asList(mock(TopicSource.class)));
+ when(factory.getTopicSources()).thenReturn(Arrays.asList(mock(TopicSource.class)));
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test(expected = PoolingFeatureException.class)
public void testFindTopicSource_EmptyList() throws PoolingFeatureException {
// empty list
- when(factory.initTopicSources(props)).thenReturn(new LinkedList<>());
+ when(factory.getTopicSources()).thenReturn(new LinkedList<>());
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test
@@ -177,50 +172,26 @@ public class DmaapManagerTest {
@Test(expected = PoolingFeatureException.class)
public void testFindTopicSink_NotFound() throws PoolingFeatureException {
// one item in list, and its topic doesn't match
- when(factory.initTopicSinks(props)).thenReturn(Arrays.asList(mock(TopicSink.class)));
+ when(factory.getTopicSinks()).thenReturn(Arrays.asList(mock(TopicSink.class)));
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test(expected = PoolingFeatureException.class)
public void testFindTopicSink_EmptyList() throws PoolingFeatureException {
// empty list
- when(factory.initTopicSinks(props)).thenReturn(new LinkedList<>());
+ when(factory.getTopicSinks()).thenReturn(new LinkedList<>());
- new DmaapManager(MY_TOPIC, props);
+ new DmaapManager(MY_TOPIC);
}
@Test
public void testStartPublisher() throws PoolingFeatureException {
- // not started yet
- verify(sink, never()).start();
-
+
mgr.startPublisher();
- verify(sink).start();
// restart should have no effect
mgr.startPublisher();
- verify(sink).start();
-
- // should be able to publish now
- mgr.publish(MSG);
- verify(sink).send(MSG);
- }
-
- @Test
- public void testStartPublisher_Exception() throws PoolingFeatureException {
- // force exception when it starts
- doThrow(new IllegalStateException("expected")).when(sink).start();
-
- expectException("startPublisher,start", () -> mgr.startPublisher());
- expectException("startPublisher,publish", () -> mgr.publish(MSG));
-
- // allow it to succeed this time
- reset(sink);
- when(sink.send(any())).thenReturn(true);
-
- mgr.startPublisher();
- verify(sink).start();
// should be able to publish now
mgr.publish(MSG);
@@ -231,18 +202,15 @@ public class DmaapManagerTest {
public void testStopPublisher() throws PoolingFeatureException {
// not publishing yet, so stopping should have no effect
mgr.stopPublisher(0);
- verify(sink, never()).stop();
// now start it
mgr.startPublisher();
// this time, stop should do something
mgr.stopPublisher(0);
- verify(sink).stop();
// re-stopping should have no effect
mgr.stopPublisher(0);
- verify(sink).stop();
}
@Test
@@ -285,16 +253,6 @@ public class DmaapManagerTest {
}
@Test
- public void testStopPublisher_Exception() throws PoolingFeatureException {
- mgr.startPublisher();
-
- // force exception when it stops
- doThrow(new IllegalStateException("expected")).when(sink).stop();
-
- mgr.stopPublisher(0);
- }
-
- @Test
public void testStartConsumer() {
// not started yet
verify(source, never()).register(any());
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/FeatureTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/FeatureTest.java
index cc588384..d453e746 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/FeatureTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/FeatureTest.java
@@ -874,11 +874,6 @@ public class FeatureTest {
private static class TopicImpl implements Topic {
/**
- * {@code True} if this topic is alive/running, {@code false} otherwise.
- */
- private boolean alive = false;
-
- /**
*
*/
public TopicImpl() {
@@ -917,32 +912,22 @@ public class FeatureTest {
@Override
public synchronized boolean start() {
- if (alive) {
- throw new IllegalStateException("topic already started");
- }
-
- alive = true;
return true;
}
@Override
public synchronized boolean stop() {
- if (!alive) {
- throw new IllegalStateException("topic is not running");
- }
-
- alive = false;
return true;
}
@Override
public synchronized void shutdown() {
- alive = false;
+ // do nothing
}
@Override
public synchronized boolean isAlive() {
- return alive;
+ return true;
}
@Override
@@ -1081,12 +1066,12 @@ public class FeatureTest {
}
@Override
- public List<TopicSource> initTopicSources(Properties props) {
+ public List<TopicSource> getTopicSources() {
return Arrays.asList(new TopicSourceImpl(context, true));
}
@Override
- public List<TopicSink> initTopicSinks(Properties props) {
+ public List<TopicSink> getTopicSinks() {
return Arrays.asList(new TopicSinkImpl(context));
}
}
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingFeatureTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingFeatureTest.java
index f8f37559..32264e3a 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingFeatureTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingFeatureTest.java
@@ -271,11 +271,28 @@ public class PoolingFeatureTest {
assertFalse(pool.afterStop(controller1));
verify(mgr1).afterStop();
- // ensure it has been removed from the map by re-invoking
- assertFalse(pool.afterStop(controller1));
-
+ assertFalse(pool.afterStop(controllerDisabled));
+
// count should be unchanged
verify(mgr1).afterStop();
+ }
+
+ @Test
+ public void testAfterHalt() {
+ assertFalse(pool.afterHalt(controller1));
+ assertFalse(pool.afterHalt(controller1));
+
+ verify(mgr1, never()).afterStop();
+
+ assertFalse(pool.afterStop(controllerDisabled));
+ }
+
+ @Test
+ public void testAfterShutdown() {
+ assertFalse(pool.afterShutdown(controller1));
+ assertFalse(pool.afterShutdown(controller1));
+
+ verify(mgr1, never()).afterStop();
assertFalse(pool.afterStop(controllerDisabled));
}
@@ -464,46 +481,6 @@ public class PoolingFeatureTest {
pool.beforeStart(controller1);
}
- @Test
- public void testDoDeleteManager() {
- assertFalse(pool.afterStop(controller1));
- verify(mgr1).afterStop();
-
- // ensure it has been removed from the map by re-invoking
- assertFalse(pool.afterStop(controller1));
-
- // count should be unchanged
- verify(mgr1).afterStop();
-
-
- // different controller
- assertFalse(pool.afterStop(controller2));
- verify(mgr2).afterStop();
-
- // ensure it has been removed from the map by re-invoking
- assertFalse(pool.afterStop(controller2));
-
- // count should be unchanged
- verify(mgr2).afterStop();
-
-
- assertFalse(pool.afterStop(controllerDisabled));
- }
-
- @Test
- public void testDoDeleteManager_NotFound() {
- assertFalse(pool.afterStop(controllerDisabled));
- }
-
- @Test(expected = PoolingFeatureRtException.class)
- public void testDoDeleteManager_Ex() {
-
- // generate exception
- doThrow(new PoolingFeatureRtException()).when(mgr1).afterStop();
-
- pool.afterStop(controller1);
- }
-
private Properties initProperties() {
Properties props = new Properties();
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java
index e0024b79..64573ab0 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/PoolingManagerImplTest.java
@@ -155,7 +155,7 @@ public class PoolingManagerImplTest {
when(factory.makeEventQueue(any())).thenReturn(eventQueue);
when(factory.makeClassExtractors(any())).thenReturn(extractors);
- when(factory.makeDmaapManager(any(), any())).thenReturn(dmaap);
+ when(factory.makeDmaapManager(any())).thenReturn(dmaap);
when(factory.makeScheduler()).thenReturn(sched);
when(factory.canDecodeEvent(drools, TOPIC2)).thenReturn(true);
when(factory.decodeEvent(drools, TOPIC2, THE_EVENT)).thenReturn(DECODED_EVENT);
@@ -188,7 +188,7 @@ public class PoolingManagerImplTest {
@Test
public void testPoolingManagerImpl() throws Exception {
- verify(factory).makeDmaapManager(any(), any());
+ verify(factory).makeDmaapManager(any());
State st = mgr.getCurrent();
assertTrue(st instanceof IdleState);
@@ -215,7 +215,7 @@ public class PoolingManagerImplTest {
public void testPoolingManagerImpl_PoolEx() throws PoolingFeatureException {
// throw an exception when we try to create the dmaap manager
PoolingFeatureException ex = new PoolingFeatureException();
- when(factory.makeDmaapManager(any(), any())).thenThrow(ex);
+ when(factory.makeDmaapManager(any())).thenThrow(ex);
PoolingFeatureRtException ex2 = expectException(PoolingFeatureRtException.class,
() -> new PoolingManagerImpl(MY_HOST, controller, poolProps, active));
@@ -272,19 +272,6 @@ public class PoolingManagerImplTest {
}
@Test
- public void testBeforeStart_DmaapEx() throws Exception {
- // generate an exception
- PoolingFeatureException ex = new PoolingFeatureException();
- doThrow(ex).when(dmaap).startPublisher();
-
- PoolingFeatureException ex2 = expectException(PoolingFeatureException.class, () -> mgr.beforeStart());
- assertEquals(ex, ex2);
-
- // should never start the scheduler
- verify(factory, never()).makeScheduler();
- }
-
- @Test
public void testAfterStart() throws Exception {
startMgr();
@@ -317,7 +304,13 @@ public class PoolingManagerImplTest {
@Test
public void testBeforeStop() throws Exception {
startMgr();
+ mgr.startDistributing(makeAssignments(true));
+ // verify that this message is not queued
+ Forward msg = new Forward(mgr.getHost(), CommInfrastructure.UEB, TOPIC2, THE_EVENT, REQUEST_ID);
+ mgr.handle(msg);
+ verify(eventQueue, never()).add(msg);
+
mgr.beforeStop();
verify(dmaap).stopConsumer(mgr);
@@ -325,6 +318,10 @@ public class PoolingManagerImplTest {
verify(dmaap).publish(contains("offline"));
assertTrue(mgr.getCurrent() instanceof IdleState);
+
+ // verify that next message is queued
+ mgr.handle(msg);
+ verify(eventQueue).add(msg);
}
@Test
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/ForwardTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/ForwardTest.java
index c56caca8..bc92fa27 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/ForwardTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/ForwardTest.java
@@ -177,11 +177,7 @@ public class ForwardTest extends BasicMessageTester<Forward> {
expectCheckValidityFailure(msg -> msg.setNumHops(-1));
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Forward makeValidMessage() {
tcreateMs = System.currentTimeMillis();
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/HeartbeatTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/HeartbeatTest.java
index da78dbe3..43f1afd4 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/HeartbeatTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/HeartbeatTest.java
@@ -33,11 +33,7 @@ public class HeartbeatTest extends BasicMessageTester<Heartbeat> {
super(Heartbeat.class);
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Heartbeat makeValidMessage() {
Heartbeat msg = new Heartbeat(VALID_HOST, ++sequence);
msg.setChannel(VALID_CHANNEL);
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/IdentificationTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/IdentificationTest.java
index 8255034f..7b28afc0 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/IdentificationTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/IdentificationTest.java
@@ -62,11 +62,7 @@ public class IdentificationTest extends MessageWithAssignmentsTester<Identificat
msg.checkValidity();
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Identification makeValidMessage() {
Identification msg = new Identification(VALID_HOST, (isNullAssignments() ? null : VALID_ASGN));
msg.setChannel(VALID_CHANNEL);
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/LeaderTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/LeaderTest.java
index 0f58e224..e30d7d09 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/LeaderTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/LeaderTest.java
@@ -62,11 +62,7 @@ public class LeaderTest extends MessageWithAssignmentsTester<Leader> {
expectCheckValidityFailure(msg -> msg.setAssignments(asgnNotSmallest));
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Leader makeValidMessage() {
Leader msg = new Leader(VALID_HOST, (isNullAssignments() ? null : VALID_ASGN));
msg.setChannel(VALID_CHANNEL);
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/OfflineTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/OfflineTest.java
index 8d0f4a6f..4fe37366 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/OfflineTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/OfflineTest.java
@@ -26,11 +26,7 @@ public class OfflineTest extends BasicMessageTester<Offline> {
super(Offline.class);
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Offline makeValidMessage() {
Offline msg = new Offline(VALID_HOST);
msg.setChannel(VALID_CHANNEL);
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/QueryTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/QueryTest.java
index 0b2a986d..e0ab016a 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/QueryTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/message/QueryTest.java
@@ -26,11 +26,7 @@ public class QueryTest extends BasicMessageTester<Query> {
super(Query.class);
}
- /**
- * Makes a message that will pass the validity check.
- *
- * @return a valid Message
- */
+ @Override
public Query makeValidMessage() {
Query msg = new Query(VALID_HOST);
msg.setChannel(VALID_CHANNEL);