diff options
author | Jim Hahn <jrh3@att.com> | 2018-05-09 17:06:59 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2018-05-09 17:06:59 -0400 |
commit | 49e77b6405ef7d286bdd667f2a689b20022351fc (patch) | |
tree | bbb18d8999f348046b0e49137d3f2a8ad4273e07 | |
parent | 9e77037eb13279a69a38dd78f400365f16e220c1 (diff) |
Discard Forward to wrong host
Changed to discard Forward message if the channel does not
match the host that received it.
Change-Id: I9235bd3b0c5eb264f9b1cfe53552fadf66a0edc2
Issue-ID: POLICY-787
Signed-off-by: Jim Hahn <jrh3@att.com>
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); } |