Change the model to fix TCA
[clamp.git] / src / test / java / org / onap / clamp / clds / model / prop / ModelPropertiesTest.java
index 60056d4..45f39a4 100644 (file)
 package org.onap.clamp.clds.model.prop;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,10 +45,11 @@ public class ModelPropertiesTest {
     }
 
     @Test
-    public void testHolmes() throws IOException {
+    public void testTcaModelDecoding() throws IOException {
 
-        String modelBpmnProp = ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmnProp.json");
-        String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmn.json");
+        String modelBpmnProp = ResourceFileUtil
+                .getResourceAsString("example/model-properties/tca/modelBpmnProperties.json");
+        String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmn.json");
 
         ModelProperties prop = new ModelProperties("example-model-name", "example-control-name", null, true, modelBpmn,
                 modelBpmnProp);
@@ -66,11 +66,52 @@ public class ModelPropertiesTest {
         assertEquals(null, policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicyConditions());
 
         Tca tca = prop.getType(Tca.class);
+        assertNotNull(tca);
         assertTrue(tca.isFound());
-        assertEquals(1, tca.getTcaItems().size());
-        assertEquals(0, tca.getTcaItems().get(0).getTcaThreshholds().size());
+        assertEquals("vFirewallBroadcastPackets", tca.getTcaItem().getEventName());
+        assertEquals("policy1", tca.getTcaItem().getPolicyId());
+        assertEquals("f734f031-10aa-t8fb-330f-04dde2886325", tca.getTcaItem().getTcaUuId());
+        assertEquals(2, tca.getTcaItem().getTcaThresholds().size());
+
+        assertEquals("ABATED", tca.getTcaItem().getTcaThresholds().get(0).getClosedLoopEventStatus());
+        assertEquals("VM", tca.getTcaItem().getTcaThresholds().get(0).getControlLoopSchema());
+        assertEquals(
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                tca.getTcaItem().getTcaThresholds().get(0).getFieldPath());
+        assertEquals("LESS_OR_EQUAL", tca.getTcaItem().getTcaThresholds().get(0).getOperator());
+        assertEquals(Integer.valueOf(123), tca.getTcaItem().getTcaThresholds().get(0).getThreshold());
+
+        assertEquals("ONSET", tca.getTcaItem().getTcaThresholds().get(1).getClosedLoopEventStatus());
+        assertEquals("VNF", tca.getTcaItem().getTcaThresholds().get(1).getControlLoopSchema());
+        assertEquals("$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+                tca.getTcaItem().getTcaThresholds().get(1).getFieldPath());
+        assertEquals("GREATER_OR_EQUAL", tca.getTcaItem().getTcaThresholds().get(1).getOperator());
+        assertEquals(Integer.valueOf(123), tca.getTcaItem().getTcaThresholds().get(1).getThreshold());
+    }
+
+    @Test
+    public void testHolmesModelDecoding() throws IOException {
+
+        String modelBpmnProp = ResourceFileUtil
+                .getResourceAsString("example/model-properties/holmes/modelBpmnProperties.json");
+        String modelBpmn = ResourceFileUtil.getResourceAsString("example/model-properties/holmes/modelBpmn.json");
+
+        ModelProperties prop = new ModelProperties("example-model-name", "example-control-name", null, true, modelBpmn,
+                modelBpmnProp);
+
+        Policy policy = prop.getType(Policy.class);
+        assertTrue(policy.isFound());
+        assertEquals(1, policy.getPolicyChains().size());
+        assertEquals("0", policy.getPolicyChains().get(0).getPolicyId());
+        assertEquals(1, policy.getPolicyChains().get(0).getPolicyItems().size());
+        assertEquals("resourceid", policy.getPolicyChains().get(0).getPolicyItems().get(0).getTargetResourceId());
+        assertEquals(180, policy.getPolicyChains().get(0).getPolicyItems().get(0).getRetryTimeLimit());
+        assertEquals(3, policy.getPolicyChains().get(0).getPolicyItems().get(0).getMaxRetries());
+        assertEquals("", policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicy());
+        assertEquals(null, policy.getPolicyChains().get(0).getPolicyItems().get(0).getParentPolicyConditions());
 
         Holmes holmes = prop.getType(Holmes.class);
+        assertNotNull(holmes);
         assertTrue(holmes.isFound());
         assertEquals("policy1", holmes.getOperationalPolicy());
         assertEquals("blabla", holmes.getCorrelationLogic());
@@ -80,7 +121,7 @@ public class ModelPropertiesTest {
     public void testGetVf() throws IOException {
         CldsModel cldsModel = new CldsModel();
         cldsModel.setPropText(
-                ResourceFileUtil.getResourceAsString("example/model-properties/modelBpmnPropWithGlobal.json"));
+                ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmnProperties.json"));
         assertEquals("f5213e3a-9191-4362-93b5-b67f8d770e44", ModelProperties.getVf(cldsModel));
     }
 }
\ No newline at end of file