From 18486d18e1a684cd4df27b335f565c1d985d4f06 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Fri, 22 May 2020 16:05:16 -0400 Subject: Generate SDNR notification even on timeout If a request to SDNR times out, the actor class does not generate a notification for the DCAE_CL_RSP topic. Rather than modifying the actor, decided to modify models to handle that case. Seems like that's where it belongs anyway, as notifications are more of an application- level behavior. Issue-ID: POLICY-2580 Change-Id: Id9426c223b719efce337a604316f19335dae8a94 Signed-off-by: Jim Hahn --- .../ControlLoopOperationManager2Test.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'controlloop/common/eventmanager/src/test/java') diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2Test.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2Test.java index 3214add1c..be8b70b13 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2Test.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2Test.java @@ -54,6 +54,7 @@ import org.onap.aai.domain.yang.GenericVnf; import org.onap.policy.aai.AaiCqResponse; import org.onap.policy.common.utils.time.PseudoExecutor; import org.onap.policy.controlloop.ControlLoopOperation; +import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.guard.GuardActorServiceProvider; import org.onap.policy.controlloop.actor.guard.GuardOperation; @@ -342,6 +343,32 @@ public class ControlLoopOperationManager2Test { assertSame(POLICY_TIMEOUT, params.getTimeoutSec()); } + @Test + public void testMakeControlLoopResponse() { + // should always return its input, if non-null + ControlLoopResponse resp = new ControlLoopResponse(); + assertSame(resp, mgr.makeControlLoopResponse(resp)); + + // not an SDNR action - should return null + assertNull(mgr.makeControlLoopResponse(null)); + + /* + * now work with SDNR actor + */ + policy.setActor("SDNR"); + mgr = new ControlLoopOperationManager2(mgrctx, context, policy, executor); + + // should still return its input, if non-null + resp = new ControlLoopResponse(); + assertSame(resp, mgr.makeControlLoopResponse(resp)); + + // should generate a response + resp = mgr.makeControlLoopResponse(null); + assertNotNull(resp); + assertEquals(REQ_ID, resp.getRequestId()); + assertNull(resp.getPayload()); + } + @Test public void testGetOperationMessage() { // no history yet -- cgit 1.2.3-korg