From 7a4f105bdc6878e311d5b12db19e1571e106a933 Mon Sep 17 00:00:00 2001 From: "pramod.jamkhedkar" Date: Tue, 21 May 2019 12:03:53 -0400 Subject: 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 --- .../eventmanager/ControlLoopEventManager.java | 4 ++++ .../eventmanager/ControlLoopEventManagerTest.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) 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); -- cgit 1.2.3-korg