* unit test
* ================================================================================
* Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceInput;
import org.onap.policy.aai.util.AaiException;
import org.onap.policy.appc.CommonHeader;
import org.onap.policy.appc.Response;
import org.onap.policy.appc.ResponseCode;
import org.onap.policy.appc.ResponseStatus;
-import org.onap.policy.appclcm.LcmCommonHeader;
-import org.onap.policy.appclcm.LcmRequest;
-import org.onap.policy.appclcm.LcmRequestWrapper;
-import org.onap.policy.appclcm.LcmResponse;
-import org.onap.policy.appclcm.LcmResponseWrapper;
+import org.onap.policy.appclcm.AppcLcmBody;
+import org.onap.policy.appclcm.AppcLcmCommonHeader;
+import org.onap.policy.appclcm.AppcLcmDmaapWrapper;
+import org.onap.policy.appclcm.AppcLcmInput;
+import org.onap.policy.appclcm.AppcLcmOutput;
import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
import org.onap.policy.common.utils.io.Serializer;
import org.onap.policy.controlloop.ControlLoopEventStatus;
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 TEST_CDS_YAML = "src/test/resources/test-cds.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 APPC_FAILURE_REASON = "AppC failed for some reason";
private static final String ACCEPT = "ACCEPT";
-
- private static final Logger logger = LoggerFactory.getLogger(ControlLoopOperationManagerTest.class);
-
+ private static final Logger logger =
+ LoggerFactory.getLogger(ControlLoopOperationManagerTest.class);
private static VirtualControlLoopEvent onset;
onset.setClosedLoopAlarmStart(Instant.now());
onset.setAai(new HashMap<>());
onset.getAai().put(VNF_NAME, "testTriggerSource");
+ onset.getAai().put(VSERVER_NAME, "testVserverName");
onset.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
+ onset.setTargetType(ControlLoopTargetType.VNF);
/* Set environment properties */
- PolicyEngineConstants.getManager().setEnvironmentProperty("aai.url", "http://localhost:6666");
+ PolicyEngineConstants.getManager().setEnvironmentProperty("aai.url",
+ "http://localhost:6666");
PolicyEngineConstants.getManager().setEnvironmentProperty("aai.username", "AAI");
PolicyEngineConstants.getManager().setEnvironmentProperty("aai.password", "AAI");
+ PolicyEngineConstants.getManager().setEnvironmentProperty("aai.customQuery", "false");
}
private static EntityManagerFactory emf;
private static EntityManager em;
-
private static int getCount() {
// Create a query for number of items in DB
String sql = "select count(*) as count from operationshistory";
return ((Number) nq.getSingleResult()).intValue();
}
-
/**
* Set up test class.
*/
System.setProperty(OPERATIONS_HISTORY_PU, OPERATIONS_HISTORY_PU_TEST);
// Enter dummy props to avoid nullPointerException
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "a");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, "b");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "c");
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "a");
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, "b");
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "c");
// Connect to in-mem db
emf = Persistence.createEntityManagerFactory(OPERATIONS_HISTORY_PU_TEST);
em = emf.createEntityManager();
}
-
/**
* Clean up test class.
*/
//
final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml(TEST_YAML);
onset.setClosedLoopControlName(pair.key.getControlLoop().getControlLoopName());
+ onset.getAai().put(VSERVER_NAME, "testVserverName");
//
// Create a processor
// create the manager
//
ControlLoopEventManager eventManager =
- new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId());
+ new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId());
VirtualControlLoopNotification notification = eventManager.activate(onset);
assertNotNull(notification);
assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status);
ControlLoopOperationManager manager =
- new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager);
+ new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager);
logger.debug("{}", manager);
//
//
Object request = manager.startOperation(onset);
logger.debug("{}", manager);
assertNotNull(request);
- assertTrue(request instanceof LcmRequestWrapper);
- LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request;
- LcmRequest appcRequest = dmaapRequest.getBody();
+ assertTrue(request instanceof AppcLcmDmaapWrapper);
+ AppcLcmDmaapWrapper dmaapRequest = (AppcLcmDmaapWrapper) request;
+ AppcLcmInput appcRequest = dmaapRequest.getBody().getInput();
assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("1"));
assertFalse(manager.isOperationComplete());
assertTrue(manager.isOperationRunning());
//
// Accept
//
- LcmResponseWrapper dmaapResponse = new LcmResponseWrapper();
- LcmResponse appcResponse = new LcmResponse(appcRequest);
+ AppcLcmOutput appcResponse = new AppcLcmOutput(appcRequest);
appcResponse.getStatus().setCode(100);
appcResponse.getStatus().setMessage(ACCEPT);
- dmaapResponse.setBody(appcResponse);
+ AppcLcmBody outputBody = new AppcLcmBody();
+ outputBody.setOutput(appcResponse);
+ AppcLcmDmaapWrapper dmaapResponse = new AppcLcmDmaapWrapper();
+ dmaapResponse.setBody(outputBody);
//
//
//
//
// Now we are going to Fail it
//
- appcResponse = new LcmResponse(appcRequest);
+ appcResponse = new AppcLcmOutput(appcRequest);
appcResponse.getStatus().setCode(401);
appcResponse.getStatus().setMessage(APPC_FAILURE_REASON);
- dmaapResponse.setBody(appcResponse);
+ outputBody.setOutput(appcResponse);
+ dmaapResponse.setBody(outputBody);
result = manager.onResponse(dmaapResponse);
logger.debug("{}", manager);
assertTrue(result.equals(PolicyResult.FAILURE));
request = manager.startOperation(onset);
logger.debug("{}", manager);
assertNotNull(request);
- assertTrue(request instanceof LcmRequestWrapper);
- dmaapRequest = (LcmRequestWrapper) request;
- appcRequest = dmaapRequest.getBody();
+ assertTrue(request instanceof AppcLcmDmaapWrapper);
+ dmaapRequest = (AppcLcmDmaapWrapper) request;
+ appcRequest = dmaapRequest.getBody().getInput();
assertTrue(appcRequest.getCommonHeader().getSubRequestId().contentEquals("2"));
assertFalse(manager.isOperationComplete());
assertTrue(manager.isOperationRunning());
//
//
//
- appcResponse = new LcmResponse(appcRequest);
+ appcResponse = new AppcLcmOutput(appcRequest);
logger.debug("{}", manager);
appcResponse.getStatus().setCode(100);
appcResponse.getStatus().setMessage(ACCEPT);
- dmaapResponse.setBody(appcResponse);
+ outputBody.setOutput(appcResponse);
+ dmaapResponse.setBody(outputBody);
//
//
//
//
// Now we are going to Fail it
//
- appcResponse = new LcmResponse(appcRequest);
+ appcResponse = new AppcLcmOutput(appcRequest);
appcResponse.getStatus().setCode(401);
appcResponse.getStatus().setMessage(APPC_FAILURE_REASON);
- dmaapResponse.setBody(appcResponse);
+ outputBody.setOutput(appcResponse);
+ dmaapResponse.setBody(outputBody);
result = manager.onResponse(dmaapResponse);
logger.debug("{}", manager);
assertTrue(result.equals(PolicyResult.FAILURE));
//
final SupportUtil.Pair<ControlLoopPolicy, String> pair = SupportUtil.loadYaml(TEST_YAML);
onset.setClosedLoopControlName(pair.key.getControlLoop().getControlLoopName());
+ onset.getAai().put(VSERVER_NAME, "OzVServer");
//
// Create a processor
// create the manager
//
ControlLoopEventManager eventManager =
- new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId());
+ new ControlLoopEventManager(onset.getClosedLoopControlName(), onset.getRequestId());
VirtualControlLoopNotification notification = eventManager.activate(onset);
assertNotNull(notification);
assertEquals(ControlLoopEventManager.NewEventStatus.FIRST_ONSET, status);
ControlLoopOperationManager manager =
- new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager);
+ new ControlLoopOperationManager(onset, processor.getCurrentPolicy(), eventManager);
//
//
//
Object request = manager.startOperation(onset);
logger.debug("{}", manager);
assertNotNull(request);
- assertTrue((request) instanceof LcmRequestWrapper);
- LcmRequestWrapper dmaapRequest = (LcmRequestWrapper) request;
- LcmRequest appcRequest = dmaapRequest.getBody();
+ assertTrue((request) instanceof AppcLcmDmaapWrapper);
+ AppcLcmDmaapWrapper dmaapRequest = (AppcLcmDmaapWrapper) request;
+ AppcLcmInput appcRequest = dmaapRequest.getBody().getInput();
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);
+ AppcLcmDmaapWrapper dmaapResponse = new AppcLcmDmaapWrapper();
+ AppcLcmOutput appcResponse = new AppcLcmOutput(appcRequest);
+ AppcLcmBody outputBody = new AppcLcmBody();
+ outputBody.setOutput(appcResponse);
+ dmaapResponse.setBody(outputBody);
appcResponse.getStatus().setCode(100);
appcResponse.getStatus().setMessage(ACCEPT);
//
//
// Now we are going to Fail the previous request
//
- appcResponse = new LcmResponse(appcRequest);
+ appcResponse = new AppcLcmOutput(appcRequest);
appcResponse.getStatus().setCode(401);
appcResponse.getStatus().setMessage(APPC_FAILURE_REASON);
- dmaapResponse.setBody(appcResponse);
+ outputBody.setOutput(appcResponse);
+ dmaapResponse.setBody(outputBody);
manager.onResponse(dmaapResponse);
logger.debug("{}", manager);
//
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
policy.setTarget(savedTarget);
policy.getTarget().setType(TargetType.PNF);
- assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("PNF target is not supported");
+ assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage(
+ "Target in the onset event is either null or does not match target key expected in AAI section.");
onsetEvent.setTarget("Oz");
onsetEvent.getAai().remove(VNF_NAME);
onsetEvent.getAai().remove(VSERVER_NAME);
policy.getTarget().setType(TargetType.VNF);
- assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("Target does not match target type");
+ assertThatThrownBy(() -> clom.getTarget(policy))
+ .hasMessage("Target does not match target type");
onsetEvent.setTarget(VSERVER_NAME);
onsetEvent.getAai().put(VSERVER_NAME, "OzVServer");
manager.onNewEvent(onsetEvent);
- onsetEvent.getAai().remove(VNF_ID);
- manager.getVnfResponse();
- if (!Boolean.valueOf(PolicyEngineConstants.getManager().getEnvironmentProperty("aai.customQuery"))) {
- clom.getEventManager().getVnfResponse().setVnfId(VNF_ID);
- assertEquals(VNF_ID, clom.getTarget(policy));
- }
-
-
policy.getTarget().setType(TargetType.VFC);
- assertThatThrownBy(() -> clom.getTarget(policy)).hasMessage("The target type is not supported");
+ assertThatThrownBy(() -> clom.getTarget(policy))
+ .hasMessage("The target type is not supported");
assertEquals(Integer.valueOf(20), clom.getOperationTimeout());
clom.startOperation(onsetEvent);
- assertEquals("actor=SO,operation=Restart,target=Target [type=VFC, resourceId=null],subRequestId=1",
- clom.getOperationMessage());
assertEquals(
- "actor=SO,operation=Restart,target=Target [type=VFC, resourceId=null],subRequestId=1, Guard result: "
- + OPER_MSG,
- clom.getOperationMessage(OPER_MSG));
+ "actor=SO,operation=Restart,target=Target [type=VFC, resourceId=null],subRequestId=1",
+ clom.getOperationMessage());
+ assertEquals(
+ "actor=SO,operation=Restart,target=Target [type=VFC, resourceId=null],subRequestId=1, Guard result: "
+ + OPER_MSG,
+ clom.getOperationMessage(OPER_MSG));
assertEquals("actor=SO,operation=Restart,tar", clom.getOperationHistory().substring(0, 30));
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "OzVServer");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
policy.setRecipe("ModifyConfig");
+ onsetEvent.getAai().put(VSERVER_NAME, "NonExistentVserver");
policy.getTarget().setResourceID(UUID.randomUUID().toString());
assertThatThrownBy(() -> new ControlLoopOperationManager(onsetEvent, policy, manager))
- .hasMessage("Target vnf-id could not be found");
+ .hasMessage("Target vnf-id could not be found");
- policy.getTarget().setResourceID("82194af1-3c2c-485a-8f44-420e22a9eaa4");
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
+ policy.getTarget().setResourceID("bbb3cefd-01c8-413c-9bdd-2b92f9ca3d38");
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
-
policy.setActor("SO");
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
policy.setActor(DOROTHY);
assertThatThrownBy(() -> new ControlLoopOperationManager(onsetEvent, policy, manager))
- .hasMessage("ControlLoopEventManager: policy has an unknown actor.");
+ .hasMessage("ControlLoopEventManager: policy has an unknown actor.");
}
@Test
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
clom.startOperation(onsetEvent);
ControlLoopOperationManager clom2 = clom;
assertThatThrownBy(() -> clom2.startOperation(onsetEvent))
- .hasMessage("current operation is not null (an operation is already running)");
+ .hasMessage("current operation is not null (an operation is already running)");
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
assertTrue(clom.isOperationComplete());
ControlLoopOperationManager clom3 = clom;
assertThatThrownBy(() -> clom3.startOperation(onsetEvent))
- .hasMessage("current operation failed and retries are not allowed");
+ .hasMessage("current operation failed and retries are not allowed");
policy.setRetry(0);
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertTrue(clom.isOperationComplete());
ControlLoopOperationManager clom4 = clom;
assertThatThrownBy(() -> clom4.startOperation(onsetEvent))
- .hasMessage("current operation failed and retries are not allowed");
+ .hasMessage("current operation failed and retries are not allowed");
policy.setRetry(1);
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertTrue(clom.isOperationComplete());
ControlLoopOperationManager clom5 = clom;
assertThatThrownBy(() -> clom5.startOperation(onsetEvent))
- .hasMessage("current oepration has failed after 2 retries");
+ .hasMessage("current oepration has failed after 2 retries");
clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
policy.setActor("Oz");
ControlLoopOperationManager clom6 = clom;
assertThatThrownBy(() -> clom6.startOperation(onsetEvent))
- .hasMessage("invalid actor Oz on policy");
+ .hasMessage("invalid actor Oz on policy");
}
@Test
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
assertNull(clom.onResponse(null));
responseStatus.setCode(ResponseCode.SUCCESS.getValue());
assertEquals(PolicyResult.SUCCESS, clom.onResponse(appcResponse));
- LcmResponseWrapper lrw = new LcmResponseWrapper();
- LcmResponse body = new LcmResponse();
- LcmCommonHeader lcmCh = new LcmCommonHeader();
- body.setCommonHeader(lcmCh);
- lrw.setBody(body);
+ AppcLcmDmaapWrapper dmaapWrapper = new AppcLcmDmaapWrapper();
+ AppcLcmBody body = new AppcLcmBody();
+ AppcLcmOutput output = new AppcLcmOutput();
+ AppcLcmCommonHeader lcmCh = new AppcLcmCommonHeader();
+ output.setCommonHeader(lcmCh);
+ body.setOutput(output);
+ dmaapWrapper.setBody(body);
lcmCh.setSubRequestId("NotANumber");
- assertEquals(PolicyResult.FAILURE_EXCEPTION, clom.onResponse(lrw));
+ assertEquals(PolicyResult.FAILURE_EXCEPTION, clom.onResponse(dmaapWrapper));
lcmCh.setSubRequestId("12345");
- assertEquals(PolicyResult.FAILURE_EXCEPTION, clom.onResponse(lrw));
+ assertEquals(PolicyResult.FAILURE_EXCEPTION, clom.onResponse(dmaapWrapper));
SoResponse soResponse = new SoResponse();
SoResponseWrapper soRw = new SoResponseWrapper(soResponse, null);
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
clom.startOperation(onsetEvent);
final SoResponseWrapper soRw = new SoResponseWrapper(soResponse, null);
PolicyEngineConstants.getManager().setEnvironmentProperty("guard.disabled", "false");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL,
- "http://somewhere.over.the.rainbow");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY);
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto");
+ PolicyEngineConstants.getManager().setEnvironmentProperty(
+ org.onap.policy.guard.Util.ONAP_KEY_URL, "http://somewhere.over.the.rainbow");
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY);
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto");
assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw));
assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw));
}
+ @Test
+ public void testStartCdsOperation() throws ControlLoopException, IOException {
+
+ // Prepare
+ String yamlString;
+ try (InputStream is = new FileInputStream(new File(TEST_CDS_YAML))) {
+ yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
+ }
+
+ UUID requestId = UUID.randomUUID();
+ VirtualControlLoopEvent event = new VirtualControlLoopEvent();
+ event.setClosedLoopControlName(TWO_ONSET_TEST);
+ event.setRequestId(requestId);
+ event.setTarget(VNF_ID);
+ event.setTargetType(ControlLoopTargetType.VNF);
+ event.setClosedLoopAlarmStart(Instant.now());
+ event.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
+ event.setAai(new HashMap<>());
+ event.getAai().put(VNF_NAME, ONSET_ONE);
+ event.getAai().put(VSERVER_NAME, "OzVServer");
+
+ ControlLoopEventManager eventManager =
+ new ControlLoopEventManager(event.getClosedLoopControlName(), event.getRequestId());
+ VirtualControlLoopNotification notification = eventManager.activate(yamlString, event);
+ assertNotNull(notification);
+ assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
+
+ Policy policy = eventManager.getProcessor().getCurrentPolicy();
+ ControlLoopOperationManager operationManager =
+ new ControlLoopOperationManager(event, policy, eventManager);
+
+ // Run
+ Object result = operationManager.startOperation(event);
+
+ // Verify
+ assertNotNull(result);
+ assertTrue(result instanceof ExecutionServiceInput);
+ ExecutionServiceInput request = (ExecutionServiceInput) result;
+ logger.debug("request: " + request);
+
+ }
+
@Test
public void testCommitAbatement() throws Exception {
- String yamlString = null;
+ String yamlString;
try (InputStream is = new FileInputStream(new File(TEST_YAML))) {
yamlString = IOUtils.toString(is, StandardCharsets.UTF_8);
}
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
clom.startOperation(onsetEvent);
onsetEvent.setClosedLoopControlName(TWO_ONSET_TEST);
onsetEvent.setRequestId(requestId);
onsetEvent.setTarget(VNF_ID);
+ onsetEvent.setTargetType(ControlLoopTargetType.VNF);
onsetEvent.setClosedLoopAlarmStart(Instant.now());
onsetEvent.setClosedLoopEventStatus(ControlLoopEventStatus.ONSET);
onsetEvent.setAai(new HashMap<>());
onsetEvent.getAai().put(VNF_NAME, ONSET_ONE);
+ onsetEvent.getAai().put(VSERVER_NAME, "testVserverName");
- ControlLoopEventManager manager =
- new ControlLoopEventManager(onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
+ ControlLoopEventManager manager = new ControlLoopEventManager(
+ onsetEvent.getClosedLoopControlName(), onsetEvent.getRequestId());
VirtualControlLoopNotification notification = manager.activate(yamlString, onsetEvent);
assertNotNull(notification);
assertEquals(ControlLoopNotificationType.ACTIVE, notification.getNotification());
Policy policy = manager.getProcessor().getCurrentPolicy();
- ControlLoopOperationManager clom = new ControlLoopOperationManager(onsetEvent, policy, manager);
+ ControlLoopOperationManager clom =
+ new ControlLoopOperationManager(onsetEvent, policy, manager);
assertNotNull(clom);
clom.startOperation(onsetEvent);
final SoResponseWrapper soRw = new SoResponseWrapper(soResponse, null);
PolicyEngineConstants.getManager().setEnvironmentProperty("guard.disabled", "false");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL,
- "http://somewhere.over.the.rainbow");
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY);
- PolicyEngineConstants.getManager().setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto");
+ PolicyEngineConstants.getManager().setEnvironmentProperty(
+ org.onap.policy.guard.Util.ONAP_KEY_URL, "http://somewhere.over.the.rainbow");
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_USER, DOROTHY);
+ PolicyEngineConstants.getManager()
+ .setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "Toto");
assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw));
assertFalse(clom.isOperationRunning());