aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2018-05-09 17:06:59 -0400
committerJim Hahn <jrh3@att.com>2018-05-09 17:06:59 -0400
commit49e77b6405ef7d286bdd667f2a689b20022351fc (patch)
treebbb18d8999f348046b0e49137d3f2a8ad4273e07
parent9e77037eb13279a69a38dd78f400365f16e220c1 (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>
-rw-r--r--feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/state/State.java5
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/IdleStateTest.java1
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StartStateTest.java6
-rw-r--r--feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/state/StateTest.java5
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);
}