diff options
Diffstat (limited to 'controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java')
-rw-r--r-- | controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java | 658 |
1 files changed, 296 insertions, 362 deletions
diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java index 568f8bcd4..835b4ac82 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java @@ -20,12 +20,12 @@ package org.onap.policy.controlloop.eventmanager; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.io.File; import java.io.FileInputStream; @@ -37,8 +37,6 @@ import java.util.HashMap; import java.util.UUID; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; -import javax.persistence.NoResultException; -import javax.persistence.NonUniqueResultException; import javax.persistence.Persistence; import javax.persistence.Query; import org.apache.commons.io.IOUtils; @@ -79,6 +77,21 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ControlLoopOperationManagerTest { + private static final String VSERVER_NAME = "vserver.vserver-name"; + private static final String TEST_YAML = "src/test/resources/test.yaml"; + private static final String ONSET_ONE = "onsetOne"; + private static final String VNF_NAME = "generic-vnf.vnf-name"; + private static final String VNF_ID = "generic-vnf.vnf-id"; + private static final String TWO_ONSET_TEST = "TwoOnsetTest"; + private static final String OPER_MSG = "The Wizard Escaped"; + private static final String OZ_VNF = "OzVNF"; + private static final String OPERATIONS_HISTORY_PU_TEST = "OperationsHistoryPUTest"; + private static final String OPERATIONS_HISTORY_PU = "OperationsHistoryPU"; + private static final String DOROTHY = "Dorothy"; + private static final String APPC_FAILURE_REASON = "AppC failed for some reason"; + private static final String ACCEPT = "ACCEPT"; + + private static final Logger logger = LoggerFactory.getLogger(ControlLoopOperationManagerTest.class); @@ -87,11 +100,11 @@ public class ControlLoopOperationManagerTest { static { onset = new VirtualControlLoopEvent(); onset.setRequestId(UUID.randomUUID()); - onset.setTarget("generic-vnf.vnf-name"); + onset.setTarget(VNF_NAME); onset.setTargetType(ControlLoopTargetType.VNF); onset.setClosedLoopAlarmStart(Instant.now()); onset.setAai(new HashMap<>()); - onset.getAai().put("generic-vnf.vnf-name", "testTriggerSource"); + onset.getAai().put(VNF_NAME, "testTriggerSource"); onset.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); /* Set environment properties */ @@ -109,14 +122,7 @@ public class ControlLoopOperationManagerTest { String sql = "select count(*) as count from operationshistory"; Query nq = em.createNativeQuery(sql); - int numEvents = -1; - try { - numEvents = ((Number) nq.getSingleResult()).intValue(); - } catch (NoResultException | NonUniqueResultException ex) { - logger.error("getCountFromDb threw: ", ex); - fail(ex.getMessage()); - } - return numEvents; + return ((Number) nq.getSingleResult()).intValue(); } @@ -124,16 +130,12 @@ public class ControlLoopOperationManagerTest { * Set up test class. */ @BeforeClass - public static void setUp() { + public static void setUp() throws Exception { - try { - org.onap.policy.simulators.Util.buildAaiSim(); - } catch (Exception e) { - fail(e.getMessage()); - } + org.onap.policy.simulators.Util.buildAaiSim(); // Set PU - System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); + System.setProperty(OPERATIONS_HISTORY_PU, OPERATIONS_HISTORY_PU_TEST); // Enter dummy props to avoid nullPointerException PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "a"); @@ -141,7 +143,7 @@ public class ControlLoopOperationManagerTest { PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "c"); // Connect to in-mem db - emf = Persistence.createEntityManagerFactory("OperationsHistoryPUTest"); + emf = Persistence.createEntityManagerFactory(OPERATIONS_HISTORY_PU_TEST); em = emf.createEntityManager(); } @@ -157,232 +159,214 @@ public class ControlLoopOperationManagerTest { } @Test - public void testRetriesFail() { + public void testRetriesFail() throws Exception { // // Load up the policy // - final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml("src/test/resources/test.yaml"); + final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml(TEST_YAML); onset.setClosedLoopControlName(pair.key.getControlLoop().getControlLoopName()); - try { - // - // Create a processor - // - final ControlLoopProcessor processor = new ControlLoopProcessor(pair.value); - // - // create the manager - // - ControlLoopEventManager eventManager = - new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId()); - VirtualControlLoopNotification notification = eventManager.activate(onset); - - assertNotNull(notification); - assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification()); - - ControlLoopEventManager.NewEventStatus status = null; - try { - status = eventManager.onNewEvent(onset); - } catch (AaiException e) { - logger.warn(e.toString()); - fail("A&AI Query Failed"); - } - assertNotNull(status); - assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status); - - ControlLoopOperationManager manager = - new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager); - logger.debug("{}", manager); - // - // - // - assertFalse(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - // - // Start - // - Object request = manager.startOperation(onset); - logger.debug("{}", manager); - assertNotNull(request); - assertTrue(request instanceof LcmRequestWrapper); - LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request; - LcmRequest appcRequest = dmaapRequest.getBody(); - assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("1")); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // Accept - // - LcmResponseWrapper dmaapResponse = new LcmResponseWrapper(); - LcmResponse appcResponse = new LcmResponse(appcRequest); - appcResponse.getStatus().setCode(100); - appcResponse.getStatus().setMessage("ACCEPT"); - dmaapResponse.setBody(appcResponse); - // - // - // - PolicyResult result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - assertTrue(result == null); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // Now we are going to Fail it - // - appcResponse = new LcmResponse(appcRequest); - appcResponse.getStatus().setCode(401); - appcResponse.getStatus().setMessage("AppC failed for some reason"); - dmaapResponse.setBody(appcResponse); - result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - assertTrue(result.equals(PolicyResult.FAILURE)); - assertFalse(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - // - // Retry it - // - request = manager.startOperation(onset); - logger.debug("{}", manager); - assertNotNull(request); - assertTrue(request instanceof LcmRequestWrapper); - dmaapRequest = (LcmRequestWrapper) request; - appcRequest = dmaapRequest.getBody(); - assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("2")); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // - // - appcResponse = new LcmResponse(appcRequest); - logger.debug("{}", manager); - appcResponse.getStatus().setCode(100); - appcResponse.getStatus().setMessage("ACCEPT"); - dmaapResponse.setBody(appcResponse); - // - // - // - result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - assertTrue(result == null); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // Now we are going to Fail it - // - appcResponse = new LcmResponse(appcRequest); - appcResponse.getStatus().setCode(401); - appcResponse.getStatus().setMessage("AppC failed for some reason"); - dmaapResponse.setBody(appcResponse); - result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - assertTrue(result.equals(PolicyResult.FAILURE)); - // - // Should be complete now - // - assertTrue(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - assertNotNull(manager.getOperationResult()); - assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_RETRIES)); - assertTrue(manager.getHistory().size() == 2); - } catch (ControlLoopException | AaiException e) { - fail(e.getMessage()); - } + + // + // Create a processor + // + final ControlLoopProcessor processor = new ControlLoopProcessor(pair.value); + // + // create the manager + // + ControlLoopEventManager eventManager = + new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId()); + VirtualControlLoopNotification notification = eventManager.activate(onset); + + assertNotNull(notification); + assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification()); + + ControlLoopEventManager.NewEventStatus status = eventManager.onNewEvent(onset); + assertNotNull(status); + assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status); + + ControlLoopOperationManager manager = + new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager); + logger.debug("{}", manager); + // + // + // + assertFalse(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + // + // Start + // + Object request = manager.startOperation(onset); + logger.debug("{}", manager); + assertNotNull(request); + assertTrue(request instanceof LcmRequestWrapper); + LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request; + LcmRequest appcRequest = dmaapRequest.getBody(); + assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("1")); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // Accept + // + LcmResponseWrapper dmaapResponse = new LcmResponseWrapper(); + LcmResponse appcResponse = new LcmResponse(appcRequest); + appcResponse.getStatus().setCode(100); + appcResponse.getStatus().setMessage(ACCEPT); + dmaapResponse.setBody(appcResponse); + // + // + // + PolicyResult result = manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + assertTrue(result == null); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // Now we are going to Fail it + // + appcResponse = new LcmResponse(appcRequest); + appcResponse.getStatus().setCode(401); + appcResponse.getStatus().setMessage(APPC_FAILURE_REASON); + dmaapResponse.setBody(appcResponse); + result = manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + assertTrue(result.equals(PolicyResult.FAILURE)); + assertFalse(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + // + // Retry it + // + request = manager.startOperation(onset); + logger.debug("{}", manager); + assertNotNull(request); + assertTrue(request instanceof LcmRequestWrapper); + dmaapRequest = (LcmRequestWrapper) request; + appcRequest = dmaapRequest.getBody(); + assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("2")); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // + // + appcResponse = new LcmResponse(appcRequest); + logger.debug("{}", manager); + appcResponse.getStatus().setCode(100); + appcResponse.getStatus().setMessage(ACCEPT); + dmaapResponse.setBody(appcResponse); + // + // + // + result = manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + assertTrue(result == null); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // Now we are going to Fail it + // + appcResponse = new LcmResponse(appcRequest); + appcResponse.getStatus().setCode(401); + appcResponse.getStatus().setMessage(APPC_FAILURE_REASON); + dmaapResponse.setBody(appcResponse); + result = manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + assertTrue(result.equals(PolicyResult.FAILURE)); + // + // Should be complete now + // + assertTrue(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + assertNotNull(manager.getOperationResult()); + assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_RETRIES)); + assertTrue(manager.getHistory().size() == 2); } @Test - public void testTimeout() { + public void testTimeout() throws Exception { // // Load up the policy // - final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml("src/test/resources/test.yaml"); + final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml(TEST_YAML); onset.setClosedLoopControlName(pair.key.getControlLoop().getControlLoopName()); - try { - // - // Create a processor - // - final ControlLoopProcessor processor = new ControlLoopProcessor(pair.value); - // - // create the manager - // - ControlLoopEventManager eventManager = - new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId()); - VirtualControlLoopNotification notification = eventManager.activate(onset); - - assertNotNull(notification); - assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification()); - - ControlLoopEventManager.NewEventStatus status = null; - try { - status = eventManager.onNewEvent(onset); - } catch (AaiException e) { - logger.warn(e.toString()); - fail("A&AI Query Failed"); - } - assertNotNull(status); - assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status); - - ControlLoopOperationManager manager = - new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager); - // - // - // - logger.debug("{}", manager); - assertFalse(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - // - // Start - // - Object request = manager.startOperation(onset); - logger.debug("{}", manager); - assertNotNull(request); - assertTrue((request) instanceof LcmRequestWrapper); - LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request; - LcmRequest appcRequest = dmaapRequest.getBody(); - assertTrue((appcRequest).getCommonHeader().getSubRequestId().contentEquals("1")); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // Accept - // - LcmResponseWrapper dmaapResponse = new LcmResponseWrapper(); - LcmResponse appcResponse = new LcmResponse(appcRequest); - dmaapResponse.setBody(appcResponse); - appcResponse.getStatus().setCode(100); - appcResponse.getStatus().setMessage("ACCEPT"); - // - // - // - PolicyResult result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - assertTrue(result == null); - assertFalse(manager.isOperationComplete()); - assertTrue(manager.isOperationRunning()); - // - // Now we are going to simulate Timeout - // - manager.setOperationHasTimedOut(); - logger.debug("{}", manager); - assertTrue(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - assertTrue(manager.getHistory().size() == 1); - assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_TIMEOUT)); - // - // Now we are going to Fail the previous request - // - appcResponse = new LcmResponse(appcRequest); - appcResponse.getStatus().setCode(401); - appcResponse.getStatus().setMessage("AppC failed for some reason"); - dmaapResponse.setBody(appcResponse); - result = manager.onResponse(dmaapResponse); - logger.debug("{}", manager); - // - // - // - assertTrue(manager.isOperationComplete()); - assertFalse(manager.isOperationRunning()); - assertTrue(manager.getHistory().size() == 1); - assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_TIMEOUT)); - } catch (ControlLoopException | AaiException e) { - fail(e.getMessage()); - } + + // + // Create a processor + // + final ControlLoopProcessor processor = new ControlLoopProcessor(pair.value); + // + // create the manager + // + ControlLoopEventManager eventManager = + new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId()); + VirtualControlLoopNotification notification = eventManager.activate(onset); + + assertNotNull(notification); + assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification()); + + ControlLoopEventManager.NewEventStatus status = eventManager.onNewEvent(onset); + assertNotNull(status); + assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status); + + ControlLoopOperationManager manager = + new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager); + // + // + // + logger.debug("{}", manager); + assertFalse(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + // + // Start + // + Object request = manager.startOperation(onset); + logger.debug("{}", manager); + assertNotNull(request); + assertTrue((request) instanceof LcmRequestWrapper); + LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request; + LcmRequest appcRequest = dmaapRequest.getBody(); + assertTrue((appcRequest).getCommonHeader().getSubRequestId().contentEquals("1")); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // Accept + // + LcmResponseWrapper dmaapResponse = new LcmResponseWrapper(); + LcmResponse appcResponse = new LcmResponse(appcRequest); + dmaapResponse.setBody(appcResponse); + appcResponse.getStatus().setCode(100); + appcResponse.getStatus().setMessage(ACCEPT); + // + // + // + PolicyResult result = manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + assertTrue(result == null); + assertFalse(manager.isOperationComplete()); + assertTrue(manager.isOperationRunning()); + // + // Now we are going to simulate Timeout + // + manager.setOperationHasTimedOut(); + logger.debug("{}", manager); + assertTrue(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + assertTrue(manager.getHistory().size() == 1); + assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_TIMEOUT)); + // + // Now we are going to Fail the previous request + // + appcResponse = new LcmResponse(appcRequest); + appcResponse.getStatus().setCode(401); + appcResponse.getStatus().setMessage(APPC_FAILURE_REASON); + dmaapResponse.setBody(appcResponse); + manager.onResponse(dmaapResponse); + logger.debug("{}", manager); + // + // + // + assertTrue(manager.isOperationComplete()); + assertFalse(manager.isOperationRunning()); + assertTrue(manager.getHistory().size() == 1); + assertTrue(manager.getOperationResult().equals(PolicyResult.FAILURE_TIMEOUT)); } @Test @@ -392,13 +376,13 @@ public class ControlLoopOperationManagerTest { UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -425,80 +409,55 @@ public class ControlLoopOperationManagerTest { final Target savedTarget = policy.getTarget(); policy.setTarget(null); - try { - clom.getTarget(policy); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("The target is null", e.getMessage()); - } + assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("The target is null"); policy.setTarget(new Target()); - try { - clom.getTarget(policy); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("The target type is null", e.getMessage()); - } + assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("The target type is null"); policy.setTarget(savedTarget); policy.getTarget().setType(TargetType.PNF); - try { - clom.getTarget(policy); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("PNF target is not supported", e.getMessage()); - } + assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("PNF target is not supported"); onsetEvent.setTarget("Oz"); - onsetEvent.getAai().remove("generic-vnf.vnf-name"); - onsetEvent.getAai().remove("generic-vnf.vnf-id"); - onsetEvent.getAai().remove("vserver.vserver-name"); + onsetEvent.getAai().remove(VNF_NAME); + onsetEvent.getAai().remove(VNF_ID); + onsetEvent.getAai().remove(VSERVER_NAME); policy.getTarget().setType(TargetType.VNF); - try { - clom.getTarget(policy); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("Target does not match target type", e.getMessage()); - } + assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("Target does not match target type"); - onsetEvent.setTarget("vserver.vserver-name"); - onsetEvent.getAai().put("vserver.vserver-name", "OzVServer"); + onsetEvent.setTarget(VSERVER_NAME); + onsetEvent.getAai().put(VSERVER_NAME, "OzVServer"); assertEquals("OzVServer", clom.getTarget(policy)); - onsetEvent.getAai().remove("vserver.vserver-name"); - onsetEvent.setTarget("generic-vnf.vnf-id"); - onsetEvent.getAai().put("generic-vnf.vnf-id", "OzVNF"); - assertEquals("OzVNF", clom.getTarget(policy)); + onsetEvent.getAai().remove(VSERVER_NAME); + onsetEvent.setTarget(VNF_ID); + onsetEvent.getAai().put(VNF_ID, OZ_VNF); + assertEquals(OZ_VNF, clom.getTarget(policy)); - onsetEvent.setTarget("generic-vnf.vnf-name"); - assertEquals("OzVNF", clom.getTarget(policy)); + onsetEvent.setTarget(VNF_NAME); + assertEquals(OZ_VNF, clom.getTarget(policy)); manager.onNewEvent(onsetEvent); - onsetEvent.getAai().remove("generic-vnf.vnf-id"); + onsetEvent.getAai().remove(VNF_ID); manager.getVnfResponse(); if (!Boolean.valueOf(PolicyEngine.manager.getEnvironmentProperty("aai.customQuery"))) { - clom.getEventManager().getVnfResponse().setVnfId("generic-vnf.vnf-id"); - assertEquals("generic-vnf.vnf-id", clom.getTarget(policy)); + clom.getEventManager().getVnfResponse().setVnfId(VNF_ID); + assertEquals(VNF_ID, clom.getTarget(policy)); } policy.getTarget().setType(TargetType.VFC); - try { - clom.getTarget(policy); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("The target type is not supported", e.getMessage()); - } + assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("The target type is not supported"); assertEquals(Integer.valueOf(20), clom.getOperationTimeout()); assertEquals("20s", clom.getOperationTimeoutString(100)); assertEquals(null, clom.getOperationMessage()); - assertEquals(null, clom.getOperationMessage("The Wizard Escaped")); + assertEquals(null, clom.getOperationMessage(OPER_MSG)); clom.startOperation(onsetEvent); @@ -506,8 +465,8 @@ public class ControlLoopOperationManagerTest { clom.getOperationMessage()); assertEquals( "actor=SO,operation=Restart,target=Target [type=VFC, resourceId=null],subRequestId=1, Guard result: " - + "The Wizard Escaped", - clom.getOperationMessage("The Wizard Escaped")); + + OPER_MSG, + clom.getOperationMessage(OPER_MSG)); assertEquals("actor=SO,operation=Restart,tar", clom.getOperationHistory().substring(0, 30)); @@ -517,18 +476,18 @@ public class ControlLoopOperationManagerTest { @Test public void testConstructor() throws IOException, ControlLoopException, AaiException { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); + InputStream is = new FileInputStream(new File(TEST_YAML)); final String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -542,12 +501,8 @@ public class ControlLoopOperationManagerTest { policy.setRecipe("ModifyConfig"); policy.getTarget().setResourceID(UUID.randomUUID().toString()); - try { - new ControlLoopOperationManager(onsetEvent, policy, manager); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("Target vnf-id could not be found", e.getMessage()); - } + assertThatThrownBy(() -> new ControlLoopOperationManager(onsetEvent, policy, manager)) + .hasMessage("Target vnf-id could not be found"); policy.getTarget().setResourceID("82194af1-3c2c-485a-8f44-420e22a9eaa4"); clom = new ControlLoopOperationManager(onsetEvent, policy, manager); @@ -562,29 +517,25 @@ public class ControlLoopOperationManagerTest { clom = new ControlLoopOperationManager(onsetEvent, policy, manager); assertNotNull(clom); - policy.setActor("Dorothy"); - try { - new ControlLoopOperationManager(onsetEvent, policy, manager); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("ControlLoopEventManager: policy has an unknown actor.", e.getMessage()); - } + policy.setActor(DOROTHY); + assertThatThrownBy(() -> new ControlLoopOperationManager(onsetEvent, policy, manager)) + .hasMessage("ControlLoopEventManager: policy has an unknown actor."); } @Test public void testStartOperation() throws IOException, ControlLoopException, AaiException { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); + InputStream is = new FileInputStream(new File(TEST_YAML)); final String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -597,13 +548,9 @@ public class ControlLoopOperationManagerTest { assertNotNull(clom); clom.startOperation(onsetEvent); - - try { - clom.startOperation(onsetEvent); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("current operation is not null (an operation is already running)", e.getMessage()); - } + ControlLoopOperationManager clom2 = clom; + assertThatThrownBy(() -> clom2.startOperation(onsetEvent)) + .hasMessage("current operation is not null (an operation is already running)"); clom = new ControlLoopOperationManager(onsetEvent, policy, manager); assertNotNull(clom); @@ -619,12 +566,9 @@ public class ControlLoopOperationManagerTest { clom.startOperation(onsetEvent); clom.setOperationHasTimedOut(); assertTrue(clom.isOperationComplete()); - try { - clom.startOperation(onsetEvent); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("current operation failed and retries are not allowed", e.getMessage()); - } + ControlLoopOperationManager clom3 = clom; + assertThatThrownBy(() -> clom3.startOperation(onsetEvent)) + .hasMessage("current operation failed and retries are not allowed"); policy.setRetry(0); clom = new ControlLoopOperationManager(onsetEvent, policy, manager); @@ -632,12 +576,9 @@ public class ControlLoopOperationManagerTest { clom.startOperation(onsetEvent); clom.setOperationHasTimedOut(); assertTrue(clom.isOperationComplete()); - try { - clom.startOperation(onsetEvent); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("current operation failed and retries are not allowed", e.getMessage()); - } + ControlLoopOperationManager clom4 = clom; + assertThatThrownBy(() -> clom4.startOperation(onsetEvent)) + .hasMessage("current operation failed and retries are not allowed"); policy.setRetry(1); clom = new ControlLoopOperationManager(onsetEvent, policy, manager); @@ -647,12 +588,9 @@ public class ControlLoopOperationManagerTest { clom.startOperation(onsetEvent); clom.setOperationHasTimedOut(); assertTrue(clom.isOperationComplete()); - try { - clom.startOperation(onsetEvent); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("current oepration has failed after 2 retries", e.getMessage()); - } + ControlLoopOperationManager clom5 = clom; + assertThatThrownBy(() -> clom5.startOperation(onsetEvent)) + .hasMessage("current oepration has failed after 2 retries"); clom = new ControlLoopOperationManager(onsetEvent, policy, manager); assertNotNull(clom); @@ -667,28 +605,25 @@ public class ControlLoopOperationManagerTest { clom = new ControlLoopOperationManager(onsetEvent, policy, manager); assertNotNull(clom); policy.setActor("Oz"); - try { - clom.startOperation(onsetEvent); - fail("test should throw an exception here"); - } catch (Exception e) { - assertEquals("invalid actor Oz on policy", e.getMessage()); - } + ControlLoopOperationManager clom6 = clom; + assertThatThrownBy(() -> clom6.startOperation(onsetEvent)) + .hasMessage("invalid actor Oz on policy"); } @Test public void testOnResponse() throws IOException, ControlLoopException, AaiException { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); + InputStream is = new FileInputStream(new File(TEST_YAML)); final String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -770,18 +705,18 @@ public class ControlLoopOperationManagerTest { @Test public void testCompleteOperation() throws ControlLoopException, AaiException, IOException { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); + InputStream is = new FileInputStream(new File(TEST_YAML)); final String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -801,34 +736,32 @@ public class ControlLoopOperationManagerTest { PolicyEngine.manager.setEnvironmentProperty("guard.disabled", "false"); PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "http://somewhere.over.the.rainbow"); - PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, "Dorothy"); + PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY); PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto"); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); - System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); + System.setProperty(OPERATIONS_HISTORY_PU, OPERATIONS_HISTORY_PU_TEST); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); } @Test - public void testCommitAbatement() throws ControlLoopException, AaiException, IOException { + public void testCommitAbatement() throws Exception { String yamlString = null; - try (InputStream is = new FileInputStream(new File("src/test/resources/test.yaml"))) { + try (InputStream is = new FileInputStream(new File(TEST_YAML))) { yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); - } catch (Exception e) { - fail(e.getMessage()); } UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -850,23 +783,24 @@ public class ControlLoopOperationManagerTest { int numEventsAfter = getCount(); logger.info("numEventsAfter={}", numEventsAfter); - assertEquals(1, numEventsAfter - numEventsBefore); + int diff = numEventsAfter - numEventsBefore; + assertEquals(1, diff); } @Test public void testSerialization() throws Exception { - InputStream is = new FileInputStream(new File("src/test/resources/test.yaml")); + InputStream is = new FileInputStream(new File(TEST_YAML)); final String yamlString = IOUtils.toString(is, StandardCharsets.UTF_8); UUID requestId = UUID.randomUUID(); VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.setClosedLoopControlName("TwoOnsetTest"); + onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST); onsetEvent.setRequestId(requestId); - onsetEvent.setTarget("generic-vnf.vnf-id"); + onsetEvent.setTarget(VNF_ID); onsetEvent.setClosedLoopAlarmStart(Instant.now()); onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET); onsetEvent.setAai(new HashMap<>()); - onsetEvent.getAai().put("generic-vnf.vnf-name", "onsetOne"); + onsetEvent.getAai().put(VNF_NAME, ONSET_ONE); ControlLoopEventManager manager = new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId()); @@ -891,7 +825,7 @@ public class ControlLoopOperationManagerTest { PolicyEngine.manager.setEnvironmentProperty("guard.disabled", "false"); PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "http://somewhere.over.the.rainbow"); - PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, "Dorothy"); + PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY); PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto"); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); @@ -903,7 +837,7 @@ public class ControlLoopOperationManagerTest { assertFalse(clom.isOperationRunning()); assertEquals(1, clom.getHistory().size()); - System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); + System.setProperty(OPERATIONS_HISTORY_PU, OPERATIONS_HISTORY_PU_TEST); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); clom = Serializer.roundTrip(clom); |