From: pramod.jamkhedkar Date: Tue, 21 May 2019 16:03:53 +0000 (-0400) Subject: Check for null vserver. X-Git-Tag: 1.4.1~1 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=7a4f105bdc6878e311d5b12db19e1571e106a933;p=policy%2Fdrools-applications.git Check for null vserver. Handles the case where vserver name is not present in onset mesage. Issue-ID: POLICY-1778 Change-Id: Ie7a1b9d207860a70b49309049b512fc8ce05a984 Signed-off-by: pramod.jamkhedkar --- diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java index edee4c2f0..7811b2d73 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager.java @@ -1048,6 +1048,10 @@ public class ControlLoopEventManager implements LockCallback, Serializable { } } + if (!aai.containsKey(VSERVER_VSERVER_NAME)) { + throw new AaiException("Vserver name is missing"); + } + UUID reqId = event.getRequestId(); AaiCqResponse response = null; String vserverId = event.getAai().get(VSERVER_VSERVER_NAME); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java index bce96b2f0..1eec0a750 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManagerTest.java @@ -1292,12 +1292,29 @@ public class ControlLoopEventManagerTest { assertNull(manager.getNqVserverFromAai()); } + @Test + public void testGetCqResponseEmptyVserver() { + try { + ControlLoopEventManager mgr = null; + mgr = makeManager(onset); + mgr.queryAai(onset); + mgr.getCqResponse(onset); + fail(); + + + } catch (AaiException e) { + logger.error("testGetCqResponse Exception: ", e); + assertEquals(e.getMessage(), "Vserver name is missing"); + } + } + @Test public void testGetCqResponse() { try { ControlLoopEventManager mgr = null; mgr = makeManager(onset); mgr.queryAai(onset); + onset.getAai().put("vserver.vserver-name", "sample"); AaiCqResponse aaiCqResponse = mgr.getCqResponse(onset); assertNotNull(aaiCqResponse);