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;
}
@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);
- StringMatch stringMatch = prop.getType(StringMatch.class);
- assertTrue(stringMatch.isFound());
- assertEquals("1505133578560", stringMatch.getResourceGroups().get(0).getGroupNumber());
- assertEquals("0", stringMatch.getResourceGroups().get(0).getPolicyId());
- assertEquals(1, stringMatch.getResourceGroups().get(0).getServiceConfigurations().size());
- List<String> aaiMathcingFields = new ArrayList<String>();
- aaiMathcingFields.add("complex.city");
- assertEquals(aaiMathcingFields,
- stringMatch.getResourceGroups().get(0).getServiceConfigurations().get(0).getaaiMatchingFields());
- assertEquals("1600", stringMatch.getResourceGroups().get(0).getServiceConfigurations().get(0).getAgeLimit());
- assertEquals(1, stringMatch.getResourceGroups().get(0).getServiceConfigurations().get(0).getStringSet().size());
-
- Collector collector = prop.getType(Collector.class);
- assertTrue(collector.isFound());
- assertEquals("DCAE-COLLECTOR-UCSNMP", collector.getTopicPublishes());
-
Policy policy = prop.getType(Policy.class);
assertTrue(policy.isFound());
assertEquals(1, policy.getPolicyChains().size());
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("configPolicy1", holmes.getConfigPolicyName());
assertEquals("blabla", holmes.getCorrelationLogic());
}
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