diff options
4 files changed, 16 insertions, 1 deletions
diff --git a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/state/State.java b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/state/State.java index 545c2ef0..fcb0e139 100644 --- a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/state/State.java +++ b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/state/State.java @@ -147,6 +147,11 @@ public abstract class State { * @return the new state, or {@code null} if the state is unchanged */ public State process(Forward msg) { + if(!getHost().equals(msg.getChannel())) { + logger.info("discard Forward message to {} from {} on topic {}", msg.getChannel(), msg.getSource(), getTopic()); + return null; + } + logger.info("received Forward message from {} on topic {}", msg.getSource(), getTopic()); mgr.handle(msg); return null; diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/IdleStateTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/IdleStateTest.java index 95cbe753..497dbbb7 100644 --- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/IdleStateTest.java +++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/IdleStateTest.java @@ -63,6 +63,7 @@ public class IdleStateTest extends BasicStateTester { @Test public void testProcessForward() { Forward msg = new Forward(); + msg.setChannel(MY_HOST); assertNull(state.process(msg)); verify(mgr).handle(msg); diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StartStateTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StartStateTest.java index ee4c1add..01f49b55 100644 --- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StartStateTest.java +++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StartStateTest.java @@ -137,7 +137,11 @@ public class StartStateTest extends BasicStateTester { @Test public void testProcessForward() { - assertNull(state.process(new Forward())); + Forward msg = new Forward(); + msg.setChannel(MY_HOST); + assertNull(state.process(msg)); + + verify(mgr).handle(msg); } @Test diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StateTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StateTest.java index 47624aa0..cdf9b59a 100644 --- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StateTest.java +++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StateTest.java @@ -212,6 +212,11 @@ public class StateTest extends BasicStateTester { Forward msg = new Forward(); assertNull(state.process(msg)); + verify(mgr, never()).handle(msg); + + msg.setChannel(MY_HOST); + assertNull(state.process(msg)); + verify(mgr).handle(msg); } |