diff options
author | Jim Hahn <jrh3@att.com> | 2020-05-13 12:55:37 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-05-13 13:22:34 -0400 |
commit | d8542b5a55d19584454215cd22d2f86cfb30e0a6 (patch) | |
tree | 53ab9442e90c3be4465fe5fbd8c5dcc1738f076e /controlloop/common/rules-test/src/test/java | |
parent | 27e9926b266785f5173776d2cd33813568c0d2b3 (diff) |
Handle duplicate events in drools-apps
Modified the frankfurt rules to compare the event objects instead of
comparing the request ID when determining if an event is new. The
event object's equals() method ignores the request ID when doing the
comparison, thus it will treat an event as a duplicate even if the
request ID is different, which is the behavior we want.
Also removed the @Ignore from the junit that tests for duplicate
events in the hope that this change will fix it. If the docker build
still breaks, then @Ignore can be added back in.
Issue-ID: POLICY-2557
Change-Id: If2b9fd26473d78a356218b951bfe160f93daeb32
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'controlloop/common/rules-test/src/test/java')
2 files changed, 11 insertions, 6 deletions
diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseRuleTestTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseRuleTestTest.java index 0753aacd3..cfa9c49eb 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseRuleTestTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/BaseRuleTestTest.java @@ -25,6 +25,7 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -32,6 +33,7 @@ import static org.mockito.Mockito.when; import java.util.LinkedList; import java.util.Map; import java.util.Queue; +import java.util.concurrent.atomic.AtomicLong; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; @@ -262,18 +264,22 @@ public class BaseRuleTestTest { @Test public void testTestDuplicatesEvents() { + // the test expects the count to be incremented by 2 between calls + AtomicLong count = new AtomicLong(5); + base = spy(base); + when(base.getCreateCount()).thenAnswer(args -> count.getAndAdd(2)); + enqueueAppcLcm("restart", "restart"); - enqueueClMgt(ControlLoopNotificationType.FINAL_FAILURE); enqueueClMgt(ControlLoopNotificationType.FINAL_SUCCESS); enqueueClMgt(ControlLoopNotificationType.FINAL_SUCCESS); - clMgtQueue.get(1).setAai(Map.of("generic-vnf.vnf-id", "duplicate-VNF")); - clMgtQueue.get(2).setAai(Map.of("generic-vnf.vnf-id", "vCPE_Infrastructure_vGMUX_demo_app")); + clMgtQueue.get(0).setAai(Map.of("generic-vnf.vnf-id", "duplicate-VNF")); + clMgtQueue.get(1).setAai(Map.of("generic-vnf.vnf-id", "vCPE_Infrastructure_vGMUX_demo_app")); base.testDuplicatesEvents(); assertEquals(0, permitCount); - assertEquals(3, finalCount); + assertEquals(2, finalCount); assertTrue(appcLcmQueue.isEmpty()); assertTrue(clMgtQueue.isEmpty()); diff --git a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java index 6ee526e4f..fea440541 100644 --- a/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java +++ b/controlloop/common/rules-test/src/test/java/org/onap/policy/controlloop/common/rules/test/NamedRunnerTest.java @@ -65,8 +65,7 @@ public class NamedRunnerTest { */ @Test @Ignore - @SuppressWarnings("java:S1607") - public void testIgnore() { + public void testIgnore() { // NOSONAR fail("should not run"); } |