X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Fclamp%2Fclds%2Fmodel%2Fprop%2FModelPropertiesTest.java;h=a7ab94c570a02d7586a069f3d1c409979b2e8d43;hb=57867d108c2f4db22379f5148c9dbab85a29662f;hp=1038e5de05ca8accc550e15e7f8212ba27c68f38;hpb=249699f8fb908359213697055b66637c9baeda99;p=clamp.git diff --git a/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java b/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java index 1038e5de..a7ab94c5 100644 --- a/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java +++ b/src/test/java/org/onap/clamp/clds/model/prop/ModelPropertiesTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights * reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,72 +23,98 @@ package org.onap.clamp.clds.model.prop; -import org.onap.clamp.clds.transform.TransformUtil; -import org.junit.Assert; -import org.junit.Test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.io.IOException; +import org.junit.Before; +import org.junit.Test; +import org.onap.clamp.clds.model.CldsModel; +import org.onap.clamp.clds.model.properties.Holmes; +import org.onap.clamp.clds.model.properties.ModelProperties; +import org.onap.clamp.clds.model.properties.Policy; +import org.onap.clamp.clds.model.properties.Tca; +import org.onap.clamp.clds.util.ResourceFileUtil; + /** * Test org.onap.clamp.ClampDesigner.model.prop package using ModelProperties. */ public class ModelPropertiesTest { - @Test - public void testJsonParse() throws IOException { - String modelBpmnProp = TransformUtil.getResourceAsString("example/modelBpmnProp.json"); - String modelProp = TransformUtil.getResourceAsString("example/modelProp.json"); - String modName = "example-model-name"; - String controlName = "example-control-name"; - - ModelProperties prop = new ModelProperties(modName, controlName, null, true, modelBpmnProp, modelProp); - Assert.assertEquals(modName, prop.getModelName()); - Assert.assertEquals(controlName, prop.getControlName()); - Assert.assertEquals(null, prop.getActionCd()); - - Global g = prop.getGlobal(); - Assert.assertEquals("0f983e18-4603-4bb4-a98c-e29691fb16a1", g.getService()); - Assert.assertEquals("[SNDGCA64]", g.getLocation().toString()); - Assert.assertEquals("[6c7aaec2-59eb-41d9-8681-b7f976ab668d]", g.getResourceVf().toString()); - - StringMatch sm = prop.getType(StringMatch.class); - Assert.assertEquals("StringMatch_", sm.getId()); - - Policy p = prop.getType(Policy.class); - Assert.assertEquals("Policy_", p.getId()); - Assert.assertEquals(null, p.getTopicPublishes()); - Assert.assertEquals(null, p.getTopicSubscribes()); - - Tca t = prop.getType(Tca.class); - Assert.assertEquals("Narra", t.getTcaItems().get(0).getTcaName()); - Assert.assertEquals(Integer.valueOf(4), t.getTcaItems().get(0).getTcaThreshholds().get(0).getThreshhold()); + @Before + public void registerNewClasses() { + ModelProperties.registerModelElement(Holmes.class, Holmes.getType()); } @Test - public void testPolicy() throws IOException { - - String modelBpmnProp = TransformUtil.getResourceAsString("example/modelBpmnPropForPolicy.json"); - System.out.println(modelBpmnProp); - - String modelProp = TransformUtil.getResourceAsString("example/modelPropForPolicy.json"); - System.out.println(modelProp); - - ModelProperties prop = new ModelProperties("example-model-name", "example-control-name", null, true, modelBpmnProp, modelProp); - System.out.println("attempting prop.getGlobal()..."); - Global g = prop.getGlobal(); - System.out.println("attempting prop.getStringMatch()..."); - StringMatch stringMatch = prop.getType(StringMatch.class); - if(stringMatch.isFound()){ - System.out.println("stringMatch json object is present..."); - assertEquals("1", stringMatch.getResourceGroups().get(0).getPolicyId()); - } - System.out.println("attempting prop.getPolicy()..."); - Policy policy = prop.getType(Policy.class); - if(policy.isFound()){ - System.out.println("policy json object is present..."); - assertEquals("1", policy.getPolicyChains().get(0).getPolicyId()); - } - } + public void testTcaModelDecoding() throws IOException { + 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); + 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()); + Tca tca = prop.getType(Tca.class); + assertNotNull(tca); + assertTrue(tca.isFound()); + assertEquals("vFirewallBroadcastPackets", tca.getTcaItem().getEventName()); + assertEquals("VNF", tca.getTcaItem().getControlLoopSchemaType()); + 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( + "$.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("$.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("configPolicy1", holmes.getConfigPolicyName()); + assertEquals("blabla", holmes.getCorrelationLogic()); + } + @Test + public void testGetVf() throws IOException { + CldsModel cldsModel = new CldsModel(); + cldsModel.setPropText( + ResourceFileUtil.getResourceAsString("example/model-properties/tca/modelBpmnProperties.json")); + assertEquals("023a3f0d-1161-45ff-b4cf-8918a8ccf3ad", ModelProperties.getVf(cldsModel)); + } } \ No newline at end of file