X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fsimple%2Fserialization%2FMonitoringPolicyTypeSerializationTest.java;h=f1999bee3e91904c129302165f1e69121b5bbe36;hb=49f07db935d114b72a44e446867b16262dd552aa;hp=0a8283e98501b4e0d8616d8151b2f37200f958c9;hpb=85a2fee4074903012e77f78e26328b9a03a8bdfc;p=policy%2Fmodels.git diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicyTypeSerializationTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicyTypeSerializationTest.java index 0a8283e98..f1999bee3 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicyTypeSerializationTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicyTypeSerializationTest.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2020 Nordix Foundation. - * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2019-2020, 2024 Nordix Foundation. + * Copyright (C) 2019-2020,2022 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,19 +28,16 @@ import static org.junit.Assert.assertTrue; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; - import org.junit.Before; import org.junit.Test; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.ResourceUtils; import org.onap.policy.models.base.PfConceptKey; -import org.onap.policy.models.base.PfValidationResult; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.onap.policy.models.tosca.simple.concepts.JpaToscaConstraintLogical; import org.onap.policy.models.tosca.simple.concepts.JpaToscaConstraintValidValues; import org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType; -import org.onap.policy.models.tosca.simple.concepts.JpaToscaEntrySchema; import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyType; import org.onap.policy.models.tosca.simple.concepts.JpaToscaProperty; import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate; @@ -65,17 +62,20 @@ public class MonitoringPolicyTypeSerializationTest { private static final String THRESHOLDS = "onap.datatypes.monitoring.thresholds"; - private static final String TCA = "onap.datatypes.monitoring.tca_policy"; + private static final String TCA_V1 = "onap.datatypes.monitoring.tca_policy"; + private static final String TCA_V2 = "list"; private static final String METRICS = "onap.datatypes.monitoring.metricsPerEventName"; - private static final String VERSION_100 = "1.0.0"; - private static final String VERSION_000 = "0.0.0"; + private static final String VERSION_100 = "1.0.0"; + private static final String VERSION_200 = "2.0.0"; private static final Logger LOGGER = LoggerFactory.getLogger(MonitoringPolicyTypeSerializationTest.class); - private static final String MONITORING_TCA_YAML = "policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml"; + private static final String MONITORING_TCA_YAML = "policytypes/onap.policies.monitoring.tcagen2.yaml"; + private static final String MONITORING_TCA_V2_YAML = "policytypes/onap.policies.monitoring.tcagen2.v2.yaml"; + private static final String MONITORING_COLLECTORS_YAML = "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml"; @@ -88,9 +88,13 @@ public class MonitoringPolicyTypeSerializationTest { @Test public void testDeserialization() throws Exception { - // TCA + // TCA v1 JpaToscaServiceTemplate serviceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_TCA_YAML); - verifyTcaInputDeserialization(serviceTemplateFromYaml); + verifyTcaInputDeserialization(serviceTemplateFromYaml, VERSION_100, TCA_V1); + + // TCA v2 + serviceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_TCA_V2_YAML); + verifyTcaInputDeserialization(serviceTemplateFromYaml, VERSION_200, TCA_V2); // Collector serviceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_COLLECTORS_YAML); @@ -99,7 +103,7 @@ public class MonitoringPolicyTypeSerializationTest { @Test public void testSerialization() throws Exception { - // TCA + // TCA v1 JpaToscaServiceTemplate tcaServiceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_TCA_YAML); String serializedServiceTemplateTca = serializeMonitoringServiceTemplate(tcaServiceTemplateFromYaml); @@ -111,6 +115,18 @@ public class MonitoringPolicyTypeSerializationTest { String serializedServiceTemplateTcaOut = serializeMonitoringServiceTemplate(serviceTemplateFromJsonTca); assertEquals(serializedServiceTemplateTca, serializedServiceTemplateTcaOut); + // TCA v2 + tcaServiceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_TCA_V2_YAML); + serializedServiceTemplateTca = serializeMonitoringServiceTemplate(tcaServiceTemplateFromYaml); + + toscaServiceTemplateFromJsonTca = + coder.decode(serializedServiceTemplateTca, ToscaServiceTemplate.class); + + serviceTemplateFromJsonTca = new JpaToscaServiceTemplate(); + serviceTemplateFromJsonTca.fromAuthorative(toscaServiceTemplateFromJsonTca); + serializedServiceTemplateTcaOut = serializeMonitoringServiceTemplate(serviceTemplateFromJsonTca); + assertEquals(serializedServiceTemplateTca, serializedServiceTemplateTcaOut); + // Collector JpaToscaServiceTemplate collectorServiceTemplateFromYaml = deserializeMonitoringInputYaml(MONITORING_COLLECTORS_YAML); @@ -126,7 +142,6 @@ public class MonitoringPolicyTypeSerializationTest { } private JpaToscaServiceTemplate deserializeMonitoringInputYaml(String resourcePath) throws Exception { - Yaml yaml = new Yaml(); String policyTypeYaml = ResourceUtils.getResourceAsString(resourcePath); Object yamlObject = yaml.load(policyTypeYaml); @@ -138,19 +153,19 @@ public class MonitoringPolicyTypeSerializationTest { return jpaToscaServiceTemplate; } - private void verifyTcaInputDeserialization(JpaToscaServiceTemplate serviceTemplate) { + private void verifyTcaInputDeserialization(JpaToscaServiceTemplate serviceTemplate, String version, String tca) { // Sanity check the entire structure assertNotNull(serviceTemplate); - LOGGER.info(serviceTemplate.validate(new PfValidationResult()).toString()); - assertTrue(serviceTemplate.validate(new PfValidationResult()).isValid()); + LOGGER.info(serviceTemplate.validate("").toString()); + assertTrue(serviceTemplate.validate("").isValid()); // Check tosca_definitions_version - assertEquals("tosca_simple_yaml_1_0_0", serviceTemplate.getToscaDefinitionsVersion()); + assertEquals("tosca_simple_yaml_1_1_0", serviceTemplate.getToscaDefinitionsVersion()); // Check policy_types Map policyTypesConceptMap = serviceTemplate.getPolicyTypes().getConceptMap(); - assertTrue(policyTypesConceptMap.size() == 2); + assertEquals(2, policyTypesConceptMap.size()); Iterator> policyTypesIter = policyTypesConceptMap.entrySet().iterator(); Entry firstPolicyType = policyTypesIter.next(); @@ -161,24 +176,21 @@ public class MonitoringPolicyTypeSerializationTest { firstPolicyType.getValue().getDescription()); Entry secondPolicyType = policyTypesIter.next(); - assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app", secondPolicyType.getKey().getName()); - assertEquals(VERSION_100, secondPolicyType.getKey().getVersion()); + assertEquals("onap.policies.monitoring.tcagen2", secondPolicyType.getKey().getName()); + assertEquals(version, secondPolicyType.getKey().getVersion()); assertEquals(MONITORING, secondPolicyType.getValue().getDerivedFrom().getName()); - assertTrue(secondPolicyType.getValue().getProperties().size() == 1); + assertEquals(1, secondPolicyType.getValue().getProperties().size()); JpaToscaProperty property = secondPolicyType.getValue().getProperties().values().iterator().next(); - assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app", property.getKey().getParentKeyName()); - assertEquals(VERSION_100, property.getKey().getParentKeyVersion()); - assertEquals("tca_policy", property.getKey().getLocalName()); - assertEquals("map", property.getType().getName()); + assertEquals("onap.policies.monitoring.tcagen2", property.getKey().getParentKeyName()); + assertEquals(version, property.getKey().getParentKeyVersion()); + assertEquals("tca.policy", property.getKey().getLocalName()); + assertEquals(tca, property.getType().getName()); assertEquals("TCA Policy JSON", property.getDescription()); - JpaToscaEntrySchema entrySchema = property.getEntrySchema(); - assertEquals(TCA, entrySchema.getType().getName()); - // Check data_types Map dataTypesConceptMap = serviceTemplate.getDataTypes().getConceptMap(); - assertTrue(dataTypesConceptMap.size() == 3); + assertEquals(3, dataTypesConceptMap.size()); Iterator> dataTypesIter = dataTypesConceptMap.entrySet().iterator(); Entry firstDataType = dataTypesIter.next(); @@ -186,7 +198,7 @@ public class MonitoringPolicyTypeSerializationTest { JpaToscaDataType firstDataTypeVal = firstDataType.getValue(); assertEquals(DATATYPE_ROOT, firstDataTypeVal.getDerivedFrom().getName()); assertEquals(VERSION_000, firstDataTypeVal.getDerivedFrom().getVersion()); - assertTrue(firstDataTypeVal.getProperties().size() == 6); + assertEquals(6, firstDataTypeVal.getProperties().size()); Iterator firstDataTypePropertiesIter = firstDataTypeVal.getProperties().values().iterator(); JpaToscaProperty firstDataTypeFirstProperty = firstDataTypePropertiesIter.next(); @@ -196,11 +208,12 @@ public class MonitoringPolicyTypeSerializationTest { assertTrue(firstDataTypeFirstProperty.isRequired()); assertEquals("Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", firstDataTypeFirstProperty.getDescription()); - assertTrue(firstDataTypeFirstProperty.getConstraints().size() == 1); + assertEquals(1, firstDataTypeFirstProperty.getConstraints().size()); assertEquals("org.onap.policy.models.tosca.simple.concepts.JpaToscaConstraintValidValues", firstDataTypeFirstProperty.getConstraints().iterator().next().getClass().getName()); - assertTrue(((JpaToscaConstraintValidValues) (firstDataTypeFirstProperty.getConstraints().iterator().next())) - .getValidValues().size() == 2); + assertEquals(2, + ((JpaToscaConstraintValidValues) (firstDataTypeFirstProperty.getConstraints().iterator().next())) + .getValidValues().size()); JpaToscaProperty firstDataTypeSecondProperty = firstDataTypePropertiesIter.next(); assertEquals(METRICS, firstDataTypeSecondProperty.getKey().getParentKeyName()); @@ -240,28 +253,28 @@ public class MonitoringPolicyTypeSerializationTest { assertEquals(THRESHOLDS, firstDataTypeSixthProperty.getEntrySchema().getType().getName()); Entry secondDataType = dataTypesIter.next(); - assertEquals(TCA, secondDataType.getKey().getName()); + assertEquals(TCA_V1, secondDataType.getKey().getName()); JpaToscaDataType secondDataTypeVal = secondDataType.getValue(); assertEquals(DATATYPE_ROOT, secondDataTypeVal.getDerivedFrom().getName()); assertEquals(VERSION_000, secondDataTypeVal.getDerivedFrom().getVersion()); - assertTrue(secondDataTypeVal.getProperties().size() == 2); + assertEquals(2, secondDataTypeVal.getProperties().size()); Iterator secondDataTypePropertiesIter = secondDataTypeVal.getProperties().values().iterator(); JpaToscaProperty secondDataTypeFirstProperty = secondDataTypePropertiesIter.next(); - assertEquals(TCA, secondDataTypeFirstProperty.getKey().getParentKeyName()); + assertEquals(TCA_V1, secondDataTypeFirstProperty.getKey().getParentKeyName()); assertEquals("domain", secondDataTypeFirstProperty.getKey().getLocalName()); assertEquals(STRING_TEXT, secondDataTypeFirstProperty.getType().getName()); assertTrue(secondDataTypeFirstProperty.isRequired()); assertEquals("Domain name to which TCA needs to be applied", secondDataTypeFirstProperty.getDescription()); assertEquals("measurementsForVfScaling", secondDataTypeFirstProperty.getDefaultValue()); - assertTrue(secondDataTypeFirstProperty.getConstraints().size() == 1); + assertEquals(1, secondDataTypeFirstProperty.getConstraints().size()); assertTrue(secondDataTypeFirstProperty.getConstraints().iterator().next() instanceof JpaToscaConstraintLogical); assertEquals("measurementsForVfScaling", ((JpaToscaConstraintLogical) (secondDataTypeFirstProperty.getConstraints().iterator().next())) .getCompareTo()); JpaToscaProperty secondDataTypeSecondProperty = secondDataTypePropertiesIter.next(); - assertEquals(TCA, secondDataTypeSecondProperty.getKey().getParentKeyName()); + assertEquals(TCA_V1, secondDataTypeSecondProperty.getKey().getParentKeyName()); assertEquals("metricsPerEventName", secondDataTypeSecondProperty.getKey().getLocalName()); assertEquals("list", secondDataTypeSecondProperty.getType().getName()); assertTrue(secondDataTypeSecondProperty.isRequired()); @@ -275,7 +288,7 @@ public class MonitoringPolicyTypeSerializationTest { JpaToscaDataType thirdDataTypeVal = thirdDataType.getValue(); assertEquals(DATATYPE_ROOT, thirdDataTypeVal.getDerivedFrom().getName()); assertEquals(VERSION_000, thirdDataTypeVal.getDerivedFrom().getVersion()); - assertTrue(thirdDataTypeVal.getProperties().size() == 7); + assertEquals(7, thirdDataTypeVal.getProperties().size()); Iterator thirdDataTypePropertiesIter = thirdDataTypeVal.getProperties().values().iterator(); JpaToscaProperty thirdDataTypeFirstProperty = thirdDataTypePropertiesIter.next(); @@ -293,13 +306,14 @@ public class MonitoringPolicyTypeSerializationTest { assertTrue(thirdDataTypeSecondProperty.isRequired()); assertEquals("Closed Loop Event Status of the threshold", thirdDataTypeSecondProperty.getDescription()); assertNotNull(thirdDataTypeSecondProperty.getConstraints()); - assertTrue(thirdDataTypeSecondProperty.getConstraints().size() == 1); + assertEquals(1, thirdDataTypeSecondProperty.getConstraints().size()); assertEquals("JpaToscaConstraintValidValues(validValues=[ONSET, ABATED])", thirdDataTypeSecondProperty.getConstraints().iterator().next().toString()); assertTrue(thirdDataTypeSecondProperty.getConstraints().iterator() .next() instanceof JpaToscaConstraintValidValues); - assertTrue(((JpaToscaConstraintValidValues) (thirdDataTypeSecondProperty.getConstraints().iterator().next())) - .getValidValues().size() == 2); + assertEquals(2, + ((JpaToscaConstraintValidValues) (thirdDataTypeSecondProperty.getConstraints().iterator().next())) + .getValidValues().size()); JpaToscaProperty thirdDataTypeThirdProperty = thirdDataTypePropertiesIter.next(); assertEquals(THRESHOLDS, thirdDataTypeThirdProperty.getKey().getParentKeyName()); @@ -308,12 +322,13 @@ public class MonitoringPolicyTypeSerializationTest { assertTrue(thirdDataTypeThirdProperty.isRequired()); assertEquals("Direction of the threshold", thirdDataTypeThirdProperty.getDescription()); assertNotNull(thirdDataTypeThirdProperty.getConstraints()); - assertTrue(thirdDataTypeThirdProperty.getConstraints().size() == 1); + assertEquals(1, thirdDataTypeThirdProperty.getConstraints().size()); assertEquals( "JpaToscaConstraintValidValues(validValues=[LESS, LESS_OR_EQUAL, GREATER, GREATER_OR_EQUAL, EQUAL])", thirdDataTypeThirdProperty.getConstraints().iterator().next().toString()); - assertTrue(((JpaToscaConstraintValidValues) (thirdDataTypeThirdProperty.getConstraints().iterator().next())) - .getValidValues().size() == 5); + assertEquals(5, + ((JpaToscaConstraintValidValues) (thirdDataTypeThirdProperty.getConstraints().iterator().next())) + .getValidValues().size()); JpaToscaProperty thirdDataTypeFourthProperty = thirdDataTypePropertiesIter.next(); assertEquals(THRESHOLDS, thirdDataTypeFourthProperty.getKey().getParentKeyName()); @@ -323,9 +338,10 @@ public class MonitoringPolicyTypeSerializationTest { assertEquals("Json field Path as per CEF message which needs to be analyzed for TCA", thirdDataTypeFourthProperty.getDescription()); assertNotNull(thirdDataTypeFourthProperty.getConstraints()); - assertTrue(thirdDataTypeFourthProperty.getConstraints().size() == 1); - assertTrue(((JpaToscaConstraintValidValues) (thirdDataTypeFourthProperty.getConstraints().iterator().next())) - .getValidValues().size() == 43); + assertEquals(1, thirdDataTypeFourthProperty.getConstraints().size()); + assertEquals(43, + ((JpaToscaConstraintValidValues) (thirdDataTypeFourthProperty.getConstraints().iterator().next())) + .getValidValues().size()); JpaToscaProperty thirdDataTypeFifthProperty = thirdDataTypePropertiesIter.next(); assertEquals(THRESHOLDS, thirdDataTypeFifthProperty.getKey().getParentKeyName()); @@ -334,12 +350,12 @@ public class MonitoringPolicyTypeSerializationTest { assertTrue(thirdDataTypeFifthProperty.isRequired()); assertEquals("Threshold Event Severity", thirdDataTypeFifthProperty.getDescription()); assertNotNull(thirdDataTypeFifthProperty.getConstraints()); - assertTrue(thirdDataTypeFifthProperty.getConstraints().size() == 1); + assertEquals(1, thirdDataTypeFifthProperty.getConstraints().size()); assertEquals("JpaToscaConstraintValidValues(validValues=[CRITICAL, MAJOR, MINOR, WARNING, NORMAL])", thirdDataTypeFifthProperty.getConstraints().iterator().next().toString()); - assertTrue(((JpaToscaConstraintValidValues) (thirdDataTypeFifthProperty.getConstraints().iterator().next())) - .getValidValues().size() == 5); - ; + assertEquals(5, + ((JpaToscaConstraintValidValues) (thirdDataTypeFifthProperty.getConstraints().iterator().next())) + .getValidValues().size()); JpaToscaProperty thirdDataTypeSixthProperty = thirdDataTypePropertiesIter.next(); assertEquals(THRESHOLDS, thirdDataTypeSixthProperty.getKey().getParentKeyName()); @@ -361,15 +377,15 @@ public class MonitoringPolicyTypeSerializationTest { // Sanity check the entire structure assertNotNull(serviceTemplate); - LOGGER.info(serviceTemplate.validate(new PfValidationResult()).toString()); - assertTrue(serviceTemplate.validate(new PfValidationResult()).isValid()); + LOGGER.info(serviceTemplate.validate("").toString()); + assertTrue(serviceTemplate.validate("").isValid()); // Check tosca_definitions_version - assertEquals("tosca_simple_yaml_1_0_0", serviceTemplate.getToscaDefinitionsVersion()); + assertEquals("tosca_simple_yaml_1_1_0", serviceTemplate.getToscaDefinitionsVersion()); // Check policy_types Map policyTypesConceptMap = serviceTemplate.getPolicyTypes().getConceptMap(); - assertTrue(policyTypesConceptMap.size() == 2); + assertEquals(2, policyTypesConceptMap.size()); Iterator> policyTypesIter = policyTypesConceptMap.entrySet().iterator(); Entry firstPolicyType = policyTypesIter.next(); @@ -383,7 +399,7 @@ public class MonitoringPolicyTypeSerializationTest { assertEquals(DCAE, secondPolicyType.getKey().getName()); assertEquals(VERSION_100, secondPolicyType.getKey().getVersion()); assertEquals("onap.policies.Monitoring", secondPolicyType.getValue().getDerivedFrom().getName()); - assertTrue(secondPolicyType.getValue().getProperties().size() == 2); + assertEquals(2, secondPolicyType.getValue().getProperties().size()); Iterator propertiesIter = secondPolicyType.getValue().getProperties().values().iterator(); @@ -392,7 +408,7 @@ public class MonitoringPolicyTypeSerializationTest { assertEquals(VERSION_100, firstProperty.getKey().getParentKeyVersion()); assertEquals("buscontroller_feed_publishing_endpoint", firstProperty.getKey().getLocalName()); assertEquals(STRING_TEXT, firstProperty.getType().getName()); - assertEquals("DMAAP Bus Controller feed endpoint", firstProperty.getDescription()); + assertEquals("Bus Controller feed endpoint", firstProperty.getDescription()); JpaToscaProperty secondProperty = propertiesIter.next(); assertEquals(DCAE, secondProperty.getKey().getParentKeyName());