summaryrefslogtreecommitdiffstats
path: root/controlloop/common/eventmanager/src/test
diff options
context:
space:
mode:
authorBruno Sakoto <bruno.sakoto@bell.ca>2019-09-27 16:15:49 -0400
committerBruno Sakoto <bruno.sakoto@bell.ca>2019-10-16 21:48:07 -0400
commit636a1b2fcafa5249cf2bf380dfb6e20f6fe98691 (patch)
tree484d505efe1727cd288c26d353bc2613c2f02bef /controlloop/common/eventmanager/src/test
parent112d8b48a4515773e769e088df2e5a5ca6f85f63 (diff)
Integrate cds actor service provider
* Add request enrichment with aai service instance id and vnf id * Implement cds grpc request * Implement VfwControlLoopCdsTest Issue-ID: POLICY-2088 Signed-off-by: Bruno Sakoto <bruno.sakoto@bell.ca> Change-Id: Ib44d447d6a3a70ff800a5760032b676fdfa32d9c
Diffstat (limited to 'controlloop/common/eventmanager/src/test')
-rw-r--r--controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java43
-rw-r--r--controlloop/common/eventmanager/src/test/resources/test-cds.yaml46
2 files changed, 89 insertions, 0 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 9b1633521..914eb7664 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
@@ -3,6 +3,7 @@
* 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.
@@ -43,6 +44,7 @@ import org.apache.commons.io.IOUtils;
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;
@@ -79,6 +81,7 @@ 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 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";
@@ -746,6 +749,46 @@ public class ControlLoopOperationManagerTest {
}
@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.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;
diff --git a/controlloop/common/eventmanager/src/test/resources/test-cds.yaml b/controlloop/common/eventmanager/src/test/resources/test-cds.yaml
new file mode 100644
index 000000000..332c724b2
--- /dev/null
+++ b/controlloop/common/eventmanager/src/test/resources/test-cds.yaml
@@ -0,0 +1,46 @@
+# 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.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+controlLoop:
+ version: 2.0.0
+ controlLoopName: ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
+ services:
+ - serviceInvariantUUID: 5cfe6f4a-41bc-4247-8674-ebd4b98e35cc
+ serviceUUID: 0f40bba5-986e-4b3c-803f-ddd1b7b25f24
+ serviceName: 57e66ea7-0ed6-45c7-970f
+ trigger_policy: unique-policy-id-1-modifyConfig
+ timeout: 60
+ abatement: true
+
+policies:
+ - id: unique-policy-id-1-modifyConfig
+ name: modify packet gen config
+ description:
+ actor: CDS
+ recipe: ModifyConfig
+ target:
+ resourceID: bbb3cefd-01c8-413c-9bdd-2b92f9ca3d38
+ type: VNF
+ payload:
+ artifact_name: vfw-cds
+ artifact_version: 1.0.0
+ mode: async
+ data: '{"mapInfo":{"key":"val"},"arrayInfo":["one","two"],"paramInfo":"val"}'
+ retry: 0
+ timeout: 30
+ success: final_success
+ failure: final_failure
+ failure_timeout: final_failure_timeout
+ failure_retries: final_failure_retries
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard \ No newline at end of file