Added onap.policies.monitoring.tcagen2 version 2.0.0
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / simple / serialization / MonitoringPolicySerializationTest.java
index fb01d5e..4e491fd 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * ============LICENSE_START=======================================================
  *  Copyright (C) 2019-2020 Nordix Foundation.
- *  Copyright (C) 2019 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.
@@ -36,7 +36,6 @@ import org.onap.policy.common.utils.coder.StandardCoder;
 import org.onap.policy.common.utils.coder.YamlJsonTranslator;
 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.JpaToscaPolicy;
 import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
@@ -61,7 +60,7 @@ public class MonitoringPolicySerializationTest {
 
     private static final String TOPOLOGY_TEMPLATE = "topology_template";
 
-    private static final String TCA_POLICY = "tca_policy";
+    private static final String TCA_POLICY = "tca.policy";
 
     private static final String PROPERTIES2 = "properties";
 
@@ -75,11 +74,12 @@ public class MonitoringPolicySerializationTest {
 
     private static final String POLICY1 = "onap.restart.tca";
 
-    private static final String TYPE1 = "onap.policies.monitoring.cdap.tca.hi.lo.app";
+    private static final String TYPE1 = "onap.policies.monitoring.tcagen2";
 
     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);
 
@@ -89,14 +89,16 @@ 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 {
         String policyTypeInputJson =
-                ResourceUtils.getResourceAsString("policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml");
+                ResourceUtils.getResourceAsString("policytypes/onap.policies.monitoring.tcagen2.yaml");
         ToscaServiceTemplate plainPolicyTypes =
                 yamlJsonTranslator.fromYaml(policyTypeInputJson, ToscaServiceTemplate.class);
 
@@ -109,7 +111,7 @@ public class MonitoringPolicySerializationTest {
                 ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, serviceTemplateFromJson);
         verifyVcpeMonitoringInputDeserialization(mergedServiceTemplate);
         JpaToscaServiceTemplate serviceTemplateFromYaml = deserializeMonitoringInputYaml(VCPE_MON_INPUT_YAML);
-        assertTrue(serviceTemplateFromJson.compareTo(serviceTemplateFromYaml) == 0);
+        assertEquals(0, serviceTemplateFromJson.compareTo(serviceTemplateFromYaml));
 
         // vDNS
         serviceTemplateFromJson = deserializeMonitoringInputJson(VDNS_MON_INPUT_JSON);
@@ -117,15 +119,17 @@ public class MonitoringPolicySerializationTest {
                 ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, serviceTemplateFromJson);
         verifyVdnsMonitoringInputDeserialization(mergedServiceTemplate);
         serviceTemplateFromYaml = deserializeMonitoringInputYaml(VDNS_MON_INPUT_YAML);
-        assertTrue(serviceTemplateFromJson.compareTo(serviceTemplateFromYaml) == 0);
+        assertEquals(0, serviceTemplateFromJson.compareTo(serviceTemplateFromYaml));
 
         // vFirewall
         serviceTemplateFromJson = deserializeMonitoringInputJson(VFW_MON_INPUT_JSON);
         mergedServiceTemplate =
                 ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, serviceTemplateFromJson);
-        verifyVfwMonitoringInputDeserialization(mergedServiceTemplate);
+        verifyVfwMonitoringInputDeserialization(mergedServiceTemplate, VERSION_100);
         serviceTemplateFromYaml = deserializeMonitoringInputYaml(VFW_MON_INPUT_YAML);
-        assertTrue(serviceTemplateFromJson.compareTo(serviceTemplateFromYaml) == 0);
+        assertEquals(0, serviceTemplateFromJson.compareTo(serviceTemplateFromYaml));
+
+        testDeserializationMonitoringV2();
     }
 
     @Test
@@ -144,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();
@@ -179,8 +204,8 @@ public class MonitoringPolicySerializationTest {
 
         // 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(YAML_VERSION, serviceTemplate.getToscaDefinitionsVersion());
@@ -189,7 +214,7 @@ public class MonitoringPolicySerializationTest {
                 serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap();
 
         // Check policies
-        assertTrue(policiesConceptMap.size() == 1);
+        assertEquals(1, policiesConceptMap.size());
         assertEquals(POLICY1, policiesConceptMap.keySet().iterator().next().getName());
         assertEquals("onap.restart.tca:1.0.0",
                 serviceTemplate.getTopologyTemplate().getPolicies().get(POLICY1).getId());
@@ -197,12 +222,12 @@ public class MonitoringPolicySerializationTest {
         JpaToscaPolicy policyVal = policiesConceptMap.values().iterator().next();
 
         // Check metadata
-        assertTrue(policyVal.getMetadata().size() == 2);
+        assertEquals(2, policyVal.getMetadata().size());
         assertEquals(POLICY_ID, policyVal.getMetadata().entrySet().iterator().next().getKey());
         assertEquals(POLICY1, policyVal.getMetadata().entrySet().iterator().next().getValue());
 
         // Check properties
-        assertTrue(policiesConceptMap.values().iterator().next().getProperties().size() == 1);
+        assertEquals(1, policiesConceptMap.values().iterator().next().getProperties().size());
         assertEquals(TCA_POLICY, policyVal.getProperties().keySet().iterator().next());
         assertNotNull(policyVal.getProperties().values().iterator().next());
     }
@@ -211,8 +236,8 @@ public class MonitoringPolicySerializationTest {
 
         // 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(YAML_VERSION, serviceTemplate.getToscaDefinitionsVersion());
@@ -221,7 +246,7 @@ public class MonitoringPolicySerializationTest {
                 serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap();
 
         // Check policies
-        assertTrue(policiesConceptMap.size() == 1);
+        assertEquals(1, policiesConceptMap.size());
         assertEquals(POLICY2, policiesConceptMap.keySet().iterator().next().getName());
         assertEquals("onap.scaleout.tca:1.0.0",
                 serviceTemplate.getTopologyTemplate().getPolicies().get(POLICY2).getId());
@@ -229,22 +254,22 @@ public class MonitoringPolicySerializationTest {
         JpaToscaPolicy policyVal = policiesConceptMap.values().iterator().next();
 
         // Check metadata
-        assertTrue(policyVal.getMetadata().size() == 2);
+        assertEquals(2, policyVal.getMetadata().size());
         assertEquals(POLICY_ID, policyVal.getMetadata().entrySet().iterator().next().getKey());
         assertEquals(POLICY2, policyVal.getMetadata().entrySet().iterator().next().getValue());
 
         // Check properties
-        assertTrue(policiesConceptMap.values().iterator().next().getProperties().size() == 1);
+        assertEquals(1, policiesConceptMap.values().iterator().next().getProperties().size());
         assertEquals(TCA_POLICY, policyVal.getProperties().keySet().iterator().next());
         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);
-        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(YAML_VERSION, serviceTemplate.getToscaDefinitionsVersion());
@@ -253,20 +278,20 @@ public class MonitoringPolicySerializationTest {
                 serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap();
 
         // Check policies
-        assertTrue(policiesConceptMap.size() == 1);
+        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();
 
         // Check metadata
-        assertTrue(policyVal.getMetadata().size() == 2);
+        assertEquals(2, policyVal.getMetadata().size());
         assertEquals(POLICY_ID, policyVal.getMetadata().entrySet().iterator().next().getKey());
         assertEquals(POLICY3, policyVal.getMetadata().entrySet().iterator().next().getValue());
 
         // Check properties
-        assertTrue(policiesConceptMap.values().iterator().next().getProperties().size() == 1);
+        assertEquals(1, policiesConceptMap.values().iterator().next().getProperties().size());
         assertEquals(TCA_POLICY, policyVal.getProperties().keySet().iterator().next());
         assertNotNull(policyVal.getProperties().values().iterator().next());
     }
@@ -277,7 +302,7 @@ public class MonitoringPolicySerializationTest {
         assertEquals(YAML_VERSION, serviceTemplateJsonObject.get(DEFINITION_VERSION).getAsString());
         JsonObject topologyTemplateJsonObject = serviceTemplateJsonObject.get(TOPOLOGY_TEMPLATE).getAsJsonObject();
         JsonArray policiesJsonArray = topologyTemplateJsonObject.get(POLICIES).getAsJsonArray();
-        assertTrue(policiesJsonArray.size() == 1);
+        assertEquals(1, policiesJsonArray.size());
         JsonObject policy = policiesJsonArray.iterator().next().getAsJsonObject();
         assertNotNull(policy.get(POLICY1));
         JsonObject policyVal = policy.get(POLICY1).getAsJsonObject();
@@ -294,7 +319,7 @@ public class MonitoringPolicySerializationTest {
         assertEquals(YAML_VERSION, serviceTemplateJsonObject.get(DEFINITION_VERSION).getAsString());
         JsonObject topologyTemplateJsonObject = serviceTemplateJsonObject.get(TOPOLOGY_TEMPLATE).getAsJsonObject();
         JsonArray policiesJsonArray = topologyTemplateJsonObject.get(POLICIES).getAsJsonArray();
-        assertTrue(policiesJsonArray.size() == 1);
+        assertEquals(1, policiesJsonArray.size());
         JsonObject policy = policiesJsonArray.iterator().next().getAsJsonObject();
         assertNotNull(policy.get(POLICY2));
         JsonObject policyVal = policy.get(POLICY2).getAsJsonObject();
@@ -305,18 +330,18 @@ 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());
         JsonObject topologyTemplateJsonObject = serviceTemplateJsonObject.get(TOPOLOGY_TEMPLATE).getAsJsonObject();
         JsonArray policiesJsonArray = topologyTemplateJsonObject.get(POLICIES).getAsJsonArray();
-        assertTrue(policiesJsonArray.size() == 1);
+        assertEquals(1, policiesJsonArray.size());
         JsonObject policy = policiesJsonArray.iterator().next().getAsJsonObject();
         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));