From 6a75c3cd6b96a8ceef4ba02cf13832f88a15e352 Mon Sep 17 00:00:00 2001 From: jhh Date: Wed, 17 Aug 2022 18:47:56 -0500 Subject: Added onap.policies.monitoring.tcagen2 version 2.0.0 Issue-ID: POLICY-4317 Signed-off-by: jhh Change-Id: I34158cd21777b6127fd4a306b73fa3446e302c99 Signed-off-by: jhh --- .../MonitoringPolicySerializationTest.java | 46 +++++++++++++++----- .../MonitoringPolicyTypeSerializationTest.java | 49 +++++++++++++++------- 2 files changed, 69 insertions(+), 26 deletions(-) (limited to 'models-tosca') diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicySerializationTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicySerializationTest.java index 98ced3b41..4e491fde3 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicySerializationTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/serialization/MonitoringPolicySerializationTest.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,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. @@ -79,6 +79,7 @@ public class MonitoringPolicySerializationTest { private static final String METADATA = "metadata"; 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(MonitoringPolicySerializationTest.class); @@ -88,9 +89,11 @@ public class MonitoringPolicySerializationTest { private static final String VDNS_MON_INPUT_YAML = "policies/vDNS.policy.monitoring.input.tosca.yaml"; private static final String VFW_MON_INPUT_JSON = "policies/vFirewall.policy.monitoring.input.tosca.json"; private static final String VFW_MON_INPUT_YAML = "policies/vFirewall.policy.monitoring.input.tosca.yaml"; + private static final String VFW_MON_INPUT_V2_JSON = "policies/vFirewall.policy.monitoring.input.tosca.v2.json"; + private static final String VFW_MON_INPUT_V2_YAML = "policies/vFirewall.policy.monitoring.input.tosca.v2.yaml"; - private StandardCoder standardCoder = new StandardCoder(); - private YamlJsonTranslator yamlJsonTranslator = new YamlJsonTranslator(); + private final StandardCoder standardCoder = new StandardCoder(); + private final YamlJsonTranslator yamlJsonTranslator = new YamlJsonTranslator(); @Test public void testDeserialization() throws Exception { @@ -122,9 +125,11 @@ public class MonitoringPolicySerializationTest { serviceTemplateFromJson = deserializeMonitoringInputJson(VFW_MON_INPUT_JSON); mergedServiceTemplate = ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, serviceTemplateFromJson); - verifyVfwMonitoringInputDeserialization(mergedServiceTemplate); + verifyVfwMonitoringInputDeserialization(mergedServiceTemplate, VERSION_100); serviceTemplateFromYaml = deserializeMonitoringInputYaml(VFW_MON_INPUT_YAML); assertEquals(0, serviceTemplateFromJson.compareTo(serviceTemplateFromYaml)); + + testDeserializationMonitoringV2(); } @Test @@ -143,13 +148,34 @@ public class MonitoringPolicySerializationTest { // vFirewall serviceTemplate = deserializeMonitoringInputJson(VFW_MON_INPUT_JSON); serializedServiceTemplate = serializeMonitoringServiceTemplate(serviceTemplate); - verifyVfwMonitoringOutputserialization(serializedServiceTemplate); + verifyVfwMonitoringOutputserialization(serializedServiceTemplate, VERSION_100); + // vFirewall v2 + serviceTemplate = deserializeMonitoringInputJson(VFW_MON_INPUT_V2_JSON); + serializedServiceTemplate = serializeMonitoringServiceTemplate(serviceTemplate); + verifyVfwMonitoringOutputserialization(serializedServiceTemplate, VERSION_200); }).as("No exception should be thrown").doesNotThrowAnyException(); } - private JpaToscaServiceTemplate deserializeMonitoringInputJson(String resourcePath) throws Exception { + private void testDeserializationMonitoringV2() throws Exception { + String policyTypeInputJson = + ResourceUtils.getResourceAsString("policytypes/onap.policies.monitoring.tcagen2.v2.yaml"); + ToscaServiceTemplate plainPolicyTypes = + yamlJsonTranslator.fromYaml(policyTypeInputJson, ToscaServiceTemplate.class); + + JpaToscaServiceTemplate policyTypeServiceTemplate = new JpaToscaServiceTemplate(); + policyTypeServiceTemplate.fromAuthorative(plainPolicyTypes); + JpaToscaServiceTemplate serviceTemplateFromJson = deserializeMonitoringInputJson(VFW_MON_INPUT_V2_JSON); + JpaToscaServiceTemplate mergedServiceTemplate = + ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, serviceTemplateFromJson); + verifyVfwMonitoringInputDeserialization(mergedServiceTemplate, VERSION_200); + + JpaToscaServiceTemplate serviceTemplateFromYaml = deserializeMonitoringInputYaml(VFW_MON_INPUT_V2_YAML); + assertEquals(0, serviceTemplateFromJson.compareTo(serviceTemplateFromYaml)); + } + + private JpaToscaServiceTemplate deserializeMonitoringInputJson(String resourcePath) throws Exception { String policyJson = ResourceUtils.getResourceAsString(resourcePath); ToscaServiceTemplate serviceTemplate = standardCoder.decode(policyJson, ToscaServiceTemplate.class); JpaToscaServiceTemplate jpaToscaServiceTemplate = new JpaToscaServiceTemplate(); @@ -238,7 +264,7 @@ public class MonitoringPolicySerializationTest { assertNotNull(policyVal.getProperties().values().iterator().next()); } - private void verifyVfwMonitoringInputDeserialization(JpaToscaServiceTemplate serviceTemplate) { + private void verifyVfwMonitoringInputDeserialization(JpaToscaServiceTemplate serviceTemplate, String version) { // Sanity check the entire structure assertNotNull(serviceTemplate); @@ -254,7 +280,7 @@ public class MonitoringPolicySerializationTest { // Check policies assertEquals(1, policiesConceptMap.size()); assertEquals(POLICY3, policiesConceptMap.keySet().iterator().next().getName()); - assertEquals("onap.vfirewall.tca:1.0.0", + assertEquals("onap.vfirewall.tca:" + version, serviceTemplate.getTopologyTemplate().getPolicies().get(POLICY3).getId()); JpaToscaPolicy policyVal = policiesConceptMap.values().iterator().next(); @@ -304,7 +330,7 @@ public class MonitoringPolicySerializationTest { assertNotNull(properties.get(TCA_POLICY)); } - private void verifyVfwMonitoringOutputserialization(String serializedServiceTemplate) { + private void verifyVfwMonitoringOutputserialization(String serializedServiceTemplate, String version) { JsonObject serviceTemplateJsonObject = JsonParser.parseString(serializedServiceTemplate).getAsJsonObject(); assertEquals(YAML_VERSION, serviceTemplateJsonObject.get(DEFINITION_VERSION).getAsString()); @@ -315,7 +341,7 @@ public class MonitoringPolicySerializationTest { assertNotNull(policy.get(POLICY3)); JsonObject policyVal = policy.get(POLICY3).getAsJsonObject(); assertEquals(TYPE1, policyVal.get("type").getAsString()); - assertEquals(VERSION_100, policyVal.get(VERSION).getAsString()); + assertEquals(version, policyVal.get(VERSION).getAsString()); assertEquals(POLICY3, policyVal.get(METADATA).getAsJsonObject().get(POLICY_ID).getAsString()); JsonObject properties = policyVal.get(PROPERTIES2).getAsJsonObject(); assertNotNull(properties.get(TCA_POLICY)); 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 7135da0bf..64027b976 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,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. @@ -62,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.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"; @@ -85,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); @@ -96,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); @@ -108,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); @@ -123,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); @@ -135,7 +153,7 @@ 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); @@ -159,15 +177,15 @@ public class MonitoringPolicyTypeSerializationTest { Entry secondPolicyType = policyTypesIter.next(); assertEquals("onap.policies.monitoring.tcagen2", secondPolicyType.getKey().getName()); - assertEquals(VERSION_100, secondPolicyType.getKey().getVersion()); + assertEquals(version, secondPolicyType.getKey().getVersion()); assertEquals(MONITORING, secondPolicyType.getValue().getDerivedFrom().getName()); assertEquals(1, secondPolicyType.getValue().getProperties().size()); JpaToscaProperty property = secondPolicyType.getValue().getProperties().values().iterator().next(); assertEquals("onap.policies.monitoring.tcagen2", property.getKey().getParentKeyName()); - assertEquals(VERSION_100, property.getKey().getParentKeyVersion()); + assertEquals(version, property.getKey().getParentKeyVersion()); assertEquals("tca.policy", property.getKey().getLocalName()); - assertEquals(TCA, property.getType().getName()); + assertEquals(tca, property.getType().getName()); assertEquals("TCA Policy JSON", property.getDescription()); // Check data_types @@ -235,7 +253,7 @@ 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()); @@ -243,7 +261,7 @@ public class MonitoringPolicyTypeSerializationTest { 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()); @@ -256,7 +274,7 @@ public class MonitoringPolicyTypeSerializationTest { .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()); @@ -338,7 +356,6 @@ public class MonitoringPolicyTypeSerializationTest { assertEquals(5, ((JpaToscaConstraintValidValues) (thirdDataTypeFifthProperty.getConstraints().iterator().next())) .getValidValues().size()); - ; JpaToscaProperty thirdDataTypeSixthProperty = thirdDataTypePropertiesIter.next(); assertEquals(THRESHOLDS, thirdDataTypeSixthProperty.getKey().getParentKeyName()); -- cgit 1.2.3-korg