diff options
author | sebdet <sebastien.determe@intl.att.com> | 2020-03-12 14:38:07 -0700 |
---|---|---|
committer | sebdet <sebastien.determe@intl.att.com> | 2020-03-13 11:03:29 -0700 |
commit | 723de7f63f0951d0cfe7a23956cf9d00128809b1 (patch) | |
tree | 751562c9a0c9a885f6be143c12a6c85472519afb /src/test/java/org/onap/clamp/clds | |
parent | 774b4ba65f0d23ae34d3bddb63058796121c1ae3 (diff) |
Fix the new tosca converter
Fix the metadata section analysis and make the tosca parser more configurable (in applications.properties)
Issue-ID: CLAMP-580
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I9068bd9dc89861c640660a7f78fae2cb70bdc178
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'src/test/java/org/onap/clamp/clds')
12 files changed, 302 insertions, 157 deletions
diff --git a/src/test/java/org/onap/clamp/clds/config/CldsUserJsonDecoderTest.java b/src/test/java/org/onap/clamp/clds/config/CldsUserJsonDecoderTest.java index 5a129221..7152ee11 100644 --- a/src/test/java/org/onap/clamp/clds/config/CldsUserJsonDecoderTest.java +++ b/src/test/java/org/onap/clamp/clds/config/CldsUserJsonDecoderTest.java @@ -26,12 +26,12 @@ package org.onap.clamp.clds.config; +import static org.assertj.core.api.Assertions.assertThat; + import org.junit.Test; import org.onap.clamp.authorization.CldsUser; import org.onap.clamp.clds.exception.CldsUsersException; -import static org.assertj.core.api.Assertions.assertThat; - public class CldsUserJsonDecoderTest { private String user1 = "admin1"; diff --git a/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java b/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java index 4bf2de03..d985a5d7 100644 --- a/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java @@ -24,6 +24,7 @@ package org.onap.clamp.clds.it.config; import static org.junit.Assert.assertEquals; + import java.io.IOException; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java b/src/test/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java index db6fd5c0..a32d4995 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java +++ b/src/test/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java @@ -57,7 +57,7 @@ public class ToscaYamlToJsonConvertorTestItCase { * Schema. * * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file + * converted json file */ @Test public final void testParseToscaYaml() throws IOException { @@ -65,11 +65,11 @@ public class ToscaYamlToJsonConvertorTestItCase { ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.cdap.tca.hi.lo.app"); + convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.cdap.tca.hi.lo.app"); assertNotNull(parsedJsonSchema); JSONAssert.assertEquals( - ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json.json"), - parsedJsonSchema, true); + ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json.json"), + parsedJsonSchema, true); } /** @@ -77,20 +77,20 @@ public class ToscaYamlToJsonConvertorTestItCase { * based on JSON Editor Schema. * * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file + * converted json file */ @Test public final void testParseToscaYamlWithConstraints() throws IOException { String toscaModelYaml = - ResourceFileUtil.getResourceAsString("tosca/tosca-with-constraints.yaml"); + ResourceFileUtil.getResourceAsString("tosca/tosca-with-constraints.yaml"); ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); + convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); assertNotNull(parsedJsonSchema); JSONAssert.assertEquals( - ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json-with-constraints.json"), - parsedJsonSchema, true); + ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json-with-constraints.json"), + parsedJsonSchema, true); } /** @@ -98,20 +98,20 @@ public class ToscaYamlToJsonConvertorTestItCase { * conversion based on JSON Editor Schema. * * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file + * converted json file */ @Test public final void testParseToscaYamlWithTypes() throws IOException { String toscaModelYaml = - ResourceFileUtil.getResourceAsString("tosca/tosca-with-datatypes.yaml"); + ResourceFileUtil.getResourceAsString("tosca/tosca-with-datatypes.yaml"); ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); + convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); assertNotNull(parsedJsonSchema); JSONAssert.assertEquals( - ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json-with-datatypes.json"), - parsedJsonSchema, true); + ResourceFileUtil.getResourceAsString("tosca/policy-yaml-to-json-with-datatypes.json"), + parsedJsonSchema, true); } /** @@ -119,7 +119,7 @@ public class ToscaYamlToJsonConvertorTestItCase { * parameters which defines the Tosca Policy name and its short name. * * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file + * converted json file */ @Test @Transactional @@ -165,24 +165,24 @@ public class ToscaYamlToJsonConvertorTestItCase { dictionaryService.saveOrUpdateDictionary(dictionaryTest2); String toscaModelYaml = - ResourceFileUtil.getResourceAsString("tosca/tosca_metadata_clamp_possible_values.yaml"); + ResourceFileUtil.getResourceAsString("tosca/tosca_metadata_clamp_possible_values.yaml"); JsonObject jsonObject = toscaYamlToJsonConvertor.validateAndConvertToJson(toscaModelYaml); assertNotNull(jsonObject); String policyModelType = toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_POLICY_MODEL_TYPE); + ToscaSchemaConstants.METADATA_POLICY_MODEL_TYPE); String acronym = toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_ACRONYM); + ToscaSchemaConstants.METADATA_ACRONYM); String parsedJsonSchema = - toscaYamlToJsonConvertor.parseToscaYaml(toscaModelYaml, policyModelType); + toscaYamlToJsonConvertor.parseToscaYaml(toscaModelYaml, policyModelType); assertNotNull(parsedJsonSchema); assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app", policyModelType); assertEquals("tca", acronym); JSONAssert.assertEquals( - ResourceFileUtil - .getResourceAsString("tosca/tosca_metadata_clamp_possible_values_json_schema.json"), - parsedJsonSchema, true); + ResourceFileUtil + .getResourceAsString("tosca/tosca_metadata_clamp_possible_values_json_schema.json"), + parsedJsonSchema, true); } } diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/ArrayFieldTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/ArrayFieldTest.java index 83c374e9..421bd6ab 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/ArrayFieldTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/ArrayFieldTest.java @@ -27,6 +27,10 @@ import com.google.gson.JsonArray; import java.io.IOException; import java.util.ArrayList; import junit.framework.TestCase; +import org.onap.clamp.clds.tosca.update.elements.ArrayField; +import org.onap.clamp.clds.tosca.update.elements.ToscaElement; +import org.onap.clamp.clds.tosca.update.elements.ToscaElementProperty; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager; import org.onap.clamp.clds.util.ResourceFileUtil; public class ArrayFieldTest extends TestCase { @@ -37,13 +41,13 @@ public class ArrayFieldTest extends TestCase { * @throws IOException in case of failure */ public void testDeploy() throws IOException { - ToscaConverterManager toscaConverterManager = new ToscaConverterManager(ResourceFileUtil.getResourceAsString( + JsonTemplateManager jsonTemplateManager = new JsonTemplateManager(ResourceFileUtil.getResourceAsString( "tosca/new-converter/sampleOperationalPoliciesEXTENTED.yaml"),ResourceFileUtil.getResourceAsString( - "clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - ToscaElement toscaElement = toscaConverterManager.getComponents().get("onap.datatype.controlloop.Actor"); - Property property = toscaElement.getProperties().get("actor"); - ArrayField arrayParser = new ArrayField((ArrayList<Object>) property.getItems().get("default")); + "clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + ToscaElement toscaElement = jsonTemplateManager.getToscaElements().get("onap.datatype.controlloop.Actor"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("actor"); + ArrayField arrayParser = new ArrayField((ArrayList<Object>) toscaElementProperty.getItems().get("default")); JsonArray toTest = arrayParser.deploy(); String reference = "[1,\"String\",5.5,true]"; assertEquals(reference, String.valueOf(toTest)); diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/ConstraintTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/ConstraintTest.java index a73fd673..5215cbd4 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/ConstraintTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/ConstraintTest.java @@ -27,16 +27,20 @@ import com.google.gson.JsonObject; import java.io.IOException; import java.util.ArrayList; import junit.framework.TestCase; +import org.onap.clamp.clds.tosca.update.elements.ToscaElement; +import org.onap.clamp.clds.tosca.update.elements.ToscaElementProperty; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplate; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager; import org.onap.clamp.clds.util.ResourceFileUtil; public class ConstraintTest extends TestCase { - ToscaConverterManager toscaConverterManager = new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/constraints.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); - ToscaElement toscaElement = toscaConverterManager.getComponents().get("onap.datatype.controlloop.Operation"); + ToscaElement toscaElement = jsonTemplateManager.getToscaElements().get("onap.datatype.controlloop.Operation"); public ConstraintTest() throws IOException { } @@ -45,18 +49,20 @@ public class ConstraintTest extends TestCase { * Test get value array. */ public void testGetValuesArray() { - Property property = toscaElement.getProperties().get("timeout"); - Template template = toscaConverterManager.getTemplates().get("integer"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("timeout"); + JsonTemplate jsonTemplate = jsonTemplateManager.getJsonSchemaTemplates().get("integer"); JsonObject resultProcess = new JsonObject(); - property.addConstraintsAsJson(resultProcess, (ArrayList<Object>) property.getItems().get("constraints"), - template); + toscaElementProperty.addConstraintsAsJson(resultProcess, + (ArrayList<Object>) toscaElementProperty.getItems().get("constraints"), + jsonTemplate); String reference = "{\"enum\":[3,4,5.5,6,10]}"; assertEquals(reference, String.valueOf(resultProcess)); - property = toscaElement.getProperties().get("success"); - template = toscaConverterManager.getTemplates().get("string"); + toscaElementProperty = toscaElement.getProperties().get("success"); + jsonTemplate = jsonTemplateManager.getJsonSchemaTemplates().get("string"); resultProcess = new JsonObject(); - property.addConstraintsAsJson(resultProcess, (ArrayList<Object>) property.getItems().get("constraints"), - template); + toscaElementProperty.addConstraintsAsJson(resultProcess, + (ArrayList<Object>) toscaElementProperty.getItems().get("constraints"), + jsonTemplate); reference = "{\"enum\":[\"VALID\",\"TERMINATED\"]}"; assertEquals(reference, String.valueOf(resultProcess)); } @@ -66,11 +72,12 @@ public class ConstraintTest extends TestCase { */ public void testGetSpecificLength() { //Test for string type, same process for array - Property property = toscaElement.getProperties().get("id"); - Template template = toscaConverterManager.getTemplates().get("string"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("id"); + JsonTemplate jsonTemplate = jsonTemplateManager.getJsonSchemaTemplates().get("string"); JsonObject resultProcess = new JsonObject(); - property.addConstraintsAsJson(resultProcess, (ArrayList<Object>) property.getItems().get("constraints"), - template); + toscaElementProperty.addConstraintsAsJson(resultProcess, + (ArrayList<Object>) toscaElementProperty.getItems().get("constraints"), + jsonTemplate); int specificLength = 8; int toTest = resultProcess.get("minLength").getAsInt(); assertEquals(specificLength, toTest); @@ -83,11 +90,12 @@ public class ConstraintTest extends TestCase { */ public void testGetLimitValue() { //Test for array type, same process for string - Property property = toscaElement.getProperties().get("description"); - Template template = toscaConverterManager.getTemplates().get("array"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("description"); + JsonTemplate jsonTemplate = jsonTemplateManager.getJsonSchemaTemplates().get("array"); JsonObject resultProcess = new JsonObject(); - property.addConstraintsAsJson(resultProcess, (ArrayList<Object>) property.getItems().get("constraints"), - template); + toscaElementProperty.addConstraintsAsJson(resultProcess, + (ArrayList<Object>) toscaElementProperty.getItems().get("constraints"), + jsonTemplate); int toTest = resultProcess.get("minItems").getAsInt(); assertEquals(5, toTest); diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/ToscaConverterManagerTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/JsonTemplateManagerTest.java index 49384121..693377ee 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/ToscaConverterManagerTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/JsonTemplateManagerTest.java @@ -28,9 +28,12 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplate; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateField; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager; import org.onap.clamp.clds.util.ResourceFileUtil; -public class ToscaConverterManagerTest extends TestCase { +public class JsonTemplateManagerTest extends TestCase { /** * Test the launch translation wit operational policies. @@ -39,17 +42,15 @@ public class ToscaConverterManagerTest extends TestCase { * @throws UnknownComponentException In case of failure */ public void testLaunchTranslationTca() throws IOException, UnknownComponentException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap" + ".policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0?" + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString( - "clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - assertNull(toscaConverterManager.getParseToJson()); + "clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); String componentName = "onap.policies.monitoring.cdap.tca.hi.lo.app"; - toscaConverterManager.startConversionToJson(componentName); - assertNotNull(toscaConverterManager.getParseToJson()); + jsonTemplateManager.getJsonSchemaForPolicyType(componentName, null); } /** @@ -59,17 +60,15 @@ public class ToscaConverterManagerTest extends TestCase { * @throws UnknownComponentException In case of failure */ public void testLaunchTranslationFrequencyLimiter() throws IOException, UnknownComponentException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap" + ".policies.controlloop.guard.common.FrequencyLimiter/versions/1.0.0?" + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString( - "clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - assertNull(toscaConverterManager.getParseToJson()); + "clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); String componentName = "onap.policies.controlloop.guard.common.FrequencyLimiter"; - toscaConverterManager.startConversionToJson(componentName); - assertNotNull(toscaConverterManager.getParseToJson()); + jsonTemplateManager.getJsonSchemaForPolicyType(componentName, null); } /** @@ -79,17 +78,15 @@ public class ToscaConverterManagerTest extends TestCase { * @throws UnknownComponentException In case of failure */ public void testLaunchTranslationApex() throws IOException, UnknownComponentException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap" + ".policies.controlloop.operational.common.Apex/versions/1.0.0?" + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString( - "clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - assertNull(toscaConverterManager.getParseToJson()); + "clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); String componentName = "onap.policies.controlloop.operational.common.Apex"; - toscaConverterManager.startConversionToJson(componentName); - assertNotNull(toscaConverterManager.getParseToJson()); + jsonTemplateManager.getJsonSchemaForPolicyType(componentName, null); } /** @@ -99,19 +96,18 @@ public class ToscaConverterManagerTest extends TestCase { * @throws UnknownComponentException In case of failure */ public void testLaunchTranslationDrools() throws IOException, UnknownComponentException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap" + ".policies.controlloop.operational.common.Drools/versions/1.0.0?" + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString( - "clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - assertNull(toscaConverterManager.getParseToJson()); + "clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); String componentName = "onap.policies.controlloop.operational.common.Drools"; - toscaConverterManager.startConversionToJson(componentName); - assertNotNull(toscaConverterManager.getParseToJson()); + jsonTemplateManager.getJsonSchemaForPolicyType(componentName, null); } + /** * Test the launch translation. * @@ -119,15 +115,13 @@ public class ToscaConverterManagerTest extends TestCase { * @throws UnknownComponentException In case of failure */ public void testLaunchTranslation() throws IOException, UnknownComponentException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - assertNull(toscaConverterManager.getParseToJson()); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); String componentName = "onap.policies.controlloop.operational.common.Drools"; - toscaConverterManager.startConversionToJson(componentName); - assertNotNull(toscaConverterManager.getParseToJson()); + jsonTemplateManager.getJsonSchemaForPolicyType(componentName, null); } /** @@ -136,18 +130,20 @@ public class ToscaConverterManagerTest extends TestCase { * @throws IOException In case of failure */ public void testAddTemplate() throws IOException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - int count = toscaConverterManager.getTemplates().size(); - List<TemplateField> templateFields = new ArrayList<>(Arrays.asList(new TemplateField("type"), new TemplateField("description"), - new TemplateField( - "required"), - new TemplateField("metadata"), new TemplateField("constraints"))); - toscaConverterManager.addTemplate("test", templateFields); - assertNotSame(count, toscaConverterManager.getTemplates().size()); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + int count = jsonTemplateManager.getJsonSchemaTemplates().size(); + List<JsonTemplateField> + jsonTemplateFields = + new ArrayList<>(Arrays.asList(new JsonTemplateField("type"), new JsonTemplateField("description"), + new JsonTemplateField( + "required"), + new JsonTemplateField("metadata"), new JsonTemplateField("constraints"))); + jsonTemplateManager.addTemplate("test", jsonTemplateFields); + assertNotSame(count, jsonTemplateManager.getJsonSchemaTemplates().size()); } /** @@ -156,14 +152,14 @@ public class ToscaConverterManagerTest extends TestCase { * @throws IOException In case of failure */ public void testRemoveTemplate() throws IOException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - int count = toscaConverterManager.getTemplates().size(); - toscaConverterManager.removeTemplate("string"); - assertNotSame(count, toscaConverterManager.getTemplates().size()); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + int count = jsonTemplateManager.getJsonSchemaTemplates().size(); + jsonTemplateManager.removeTemplate("string"); + assertNotSame(count, jsonTemplateManager.getJsonSchemaTemplates().size()); } /** @@ -172,14 +168,15 @@ public class ToscaConverterManagerTest extends TestCase { * @throws IOException In case of failure */ public void testUpdateTemplate() throws IOException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - int count = toscaConverterManager.getTemplates().get("integer").getTemplateFields().size(); - toscaConverterManager.updateTemplate("integer", new TemplateField("type"), false); - assertNotSame(count, toscaConverterManager.getTemplates().get("integer").getTemplateFields().size()); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + int count = jsonTemplateManager.getJsonSchemaTemplates().get("integer").getJsonTemplateFields().size(); + jsonTemplateManager.updateTemplate("integer", new JsonTemplateField("type"), false); + assertNotSame(count, + jsonTemplateManager.getJsonSchemaTemplates().get("integer").getJsonTemplateFields().size()); } /** @@ -188,17 +185,18 @@ public class ToscaConverterManagerTest extends TestCase { * @throws IOException In case of failure */ public void testHasTemplate() throws IOException { - ToscaConverterManager toscaConverterManager = - new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); boolean has = true; - List<TemplateField> templateFieldsString = - new ArrayList<>(Arrays.asList(new TemplateField("type"), new TemplateField("description"), new TemplateField("required"), - new TemplateField("metadata"), new TemplateField("constraints"))); - Template templateTest = new Template("String", templateFieldsString); - has = toscaConverterManager.hasTemplate(templateTest); + List<JsonTemplateField> jsonTemplateFieldsString = + new ArrayList<>(Arrays.asList(new JsonTemplateField("type"), new JsonTemplateField("description"), + new JsonTemplateField("required"), + new JsonTemplateField("metadata"), new JsonTemplateField("constraints"))); + JsonTemplate jsonTemplateTest = new JsonTemplate("String", jsonTemplateFieldsString); + has = jsonTemplateManager.hasTemplate(jsonTemplateTest); assertEquals(false, has); } diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/TemplateTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/JsonTemplateTest.java index 02c5747b..fab3030c 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/TemplateTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/JsonTemplateTest.java @@ -27,19 +27,24 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplate; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateField; -public class TemplateTest extends TestCase { +public class JsonTemplateTest extends TestCase { /** * Test check failed. */ public void testCheckFields() { - Template toTest = new Template("toTest"); - List<TemplateField> templateFields = new ArrayList<>(Arrays.asList(new TemplateField("type"), new TemplateField("description"),new TemplateField( - "enum"))); - toTest.setTemplateFields(templateFields); - Template reference = new Template("toTest"); - reference.setTemplateFields(templateFields); + JsonTemplate toTest = new JsonTemplate("toTest"); + List<JsonTemplateField> + jsonTemplateFields = new ArrayList<>( + Arrays.asList(new JsonTemplateField("type"), new JsonTemplateField("description"), + new JsonTemplateField( + "enum"))); + toTest.setJsonTemplateFields(jsonTemplateFields); + JsonTemplate reference = new JsonTemplate("toTest"); + reference.setJsonTemplateFields(jsonTemplateFields); assertTrue(toTest.checkFields(reference)); } diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/ToscaConverterWithDictionarySupportItCase.java b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaConverterWithDictionarySupportItCase.java new file mode 100644 index 00000000..b4f8b124 --- /dev/null +++ b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaConverterWithDictionarySupportItCase.java @@ -0,0 +1,118 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2020 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +package org.onap.clamp.clds.tosca.update; + +import com.google.gson.JsonObject; +import java.io.IOException; +import javax.transaction.Transactional; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.clamp.clds.Application; +import org.onap.clamp.clds.tosca.update.parser.metadata.ToscaMetadataParserWithDictionarySupport; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager; +import org.onap.clamp.clds.util.JsonUtils; +import org.onap.clamp.clds.util.ResourceFileUtil; +import org.onap.clamp.tosca.Dictionary; +import org.onap.clamp.tosca.DictionaryElement; +import org.onap.clamp.tosca.DictionaryService; +import org.skyscreamer.jsonassert.JSONAssert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(classes = Application.class) +public class ToscaConverterWithDictionarySupportItCase { + + @Autowired + private DictionaryService dictionaryService; + + @Autowired + private ToscaMetadataParserWithDictionarySupport toscaMetadataParserWithDictionarySupport; + + /** + * This Test validates Tosca yaml with metadata tag that contains policy_model_type and acronym + * parameters which defines the Tosca Policy name and its short name. + * + * @throws IOException In case of issue when opening the tosca yaml file and + * converted json file + */ + @Test + @Transactional + public final void testMetadataClampPossibleValues() throws IOException, UnknownComponentException { + + // Set up dictionary elements + Dictionary dictionaryTest = new Dictionary(); + dictionaryTest.setName("Context"); + dictionaryTest.setSecondLevelDictionary(0); + + DictionaryElement element = new DictionaryElement(); + element.setName("PROD"); + element.setShortName("PROD"); + element.setType("string"); + element.setDescription("Production"); + dictionaryTest.addDictionaryElements(element); + + dictionaryService.saveOrUpdateDictionary(dictionaryTest); + + Dictionary dictionaryTest1 = new Dictionary(); + dictionaryTest1.setName("EventDictionary"); + dictionaryTest1.setSecondLevelDictionary(0); + + DictionaryElement element1 = new DictionaryElement(); + element1.setName("alarmCondition"); + element1.setShortName("alarmCondition"); + element1.setType("string"); + element1.setDescription("Alarm Condition"); + dictionaryTest1.addDictionaryElements(element1); + + dictionaryService.saveOrUpdateDictionary(dictionaryTest1); + + Dictionary dictionaryTest2 = new Dictionary(); + dictionaryTest2.setName("Operators"); + dictionaryTest2.setSecondLevelDictionary(0); + + DictionaryElement element2 = new DictionaryElement(); + element2.setName("equals"); + element2.setShortName("equals"); + element2.setType("string"); + element2.setDescription("equals"); + dictionaryTest2.addDictionaryElements(element2); + dictionaryService.saveOrUpdateDictionary(dictionaryTest2); + + JsonTemplateManager jsonTemplateManager = + new JsonTemplateManager( + ResourceFileUtil.getResourceAsString("tosca/tosca_metadata_clamp_possible_values.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + + JsonObject jsonSchema = jsonTemplateManager.getJsonSchemaForPolicyType( + "onap.policies.monitoring.cdap.tca.hi.lo.app", toscaMetadataParserWithDictionarySupport); + + JSONAssert.assertEquals( + ResourceFileUtil + .getResourceAsString("tosca/new-converter/tca-with-metadata.json"), + JsonUtils.GSON.toJson(jsonSchema), true); + } +} diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/PropertyTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementPropertyTest.java index bb1929f9..967f330d 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/PropertyTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementPropertyTest.java @@ -28,10 +28,14 @@ import com.google.gson.JsonObject; import java.io.IOException; import java.util.ArrayList; import junit.framework.TestCase; +import org.onap.clamp.clds.tosca.update.elements.ToscaElement; +import org.onap.clamp.clds.tosca.update.elements.ToscaElementProperty; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplate; +import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager; import org.onap.clamp.clds.util.ResourceFileUtil; -public class PropertyTest extends TestCase { - public PropertyTest() throws IOException { +public class ToscaElementPropertyTest extends TestCase { + public ToscaElementPropertyTest() throws IOException { } /** @@ -40,13 +44,14 @@ public class PropertyTest extends TestCase { * @throws IOException In case of failure */ public void testParseArray() throws IOException { - ToscaConverterManager toscaConverterManager = new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPoliciesEXTENTED.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - ToscaElement toscaElement = toscaConverterManager.getComponents().get("onap.datatype.controlloop.Actor"); - Property property = toscaElement.getProperties().get("actor"); - JsonArray toTest = property.parseArray((ArrayList<Object>) property.getItems().get("default")); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + ToscaElement toscaElement = jsonTemplateManager.getToscaElements().get("onap.datatype.controlloop.Actor"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("actor"); + JsonArray toTest = + toscaElementProperty.parseArray((ArrayList<Object>) toscaElementProperty.getItems().get("default")); assertNotNull(toTest); } @@ -56,15 +61,18 @@ public class PropertyTest extends TestCase { * @throws IOException In case of failure */ public void testAddConstraintsAsJson() throws IOException { - ToscaConverterManager toscaConverterManager = new ToscaConverterManager( + JsonTemplateManager jsonTemplateManager = new JsonTemplateManager( ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"), - ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json")); - ToscaElement toscaElement = toscaConverterManager.getComponents().get("onap.datatype.controlloop.operation.Failure"); - Property property = toscaElement.getProperties().get("category"); - Template template = toscaConverterManager.getTemplates().get("string"); + ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"), + ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json")); + ToscaElement toscaElement = + jsonTemplateManager.getToscaElements().get("onap.datatype.controlloop.operation.Failure"); + ToscaElementProperty toscaElementProperty = toscaElement.getProperties().get("category"); + JsonTemplate jsonTemplate = jsonTemplateManager.getJsonSchemaTemplates().get("string"); JsonObject toTest = new JsonObject(); - property.addConstraintsAsJson(toTest, (ArrayList<Object>) property.getItems().get("constraints"), template); + toscaElementProperty + .addConstraintsAsJson(toTest, (ArrayList<Object>) toscaElementProperty.getItems().get("constraints"), + jsonTemplate); String test = "{\"enum\":[\"error\",\"timeout\",\"retries\",\"guard\",\"exception\"]}"; assertEquals(test, String.valueOf(toTest)); } diff --git a/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementTest.java b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementTest.java index 7ffba4e0..5f7de28a 100644 --- a/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementTest.java +++ b/src/test/java/org/onap/clamp/clds/tosca/update/ToscaElementTest.java @@ -27,6 +27,8 @@ import java.io.IOException; import java.util.ArrayList;
import java.util.Arrays;
import junit.framework.TestCase;
+import org.onap.clamp.clds.tosca.update.elements.ToscaElement;
+import org.onap.clamp.clds.tosca.update.templates.JsonTemplateManager;
import org.onap.clamp.clds.util.ResourceFileUtil;
public class ToscaElementTest extends TestCase {
@@ -38,12 +40,12 @@ public class ToscaElementTest extends TestCase { */
public void testPropertiesNames() throws IOException {
ArrayList<String> reference = new ArrayList<>(Arrays.asList("actor", "operation", "target", "payload"));
- ToscaConverterManager toscaConverterManager =
- new ToscaConverterManager(
+ JsonTemplateManager jsonTemplateManager =
+ new JsonTemplateManager(
ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
- ResourceFileUtil.getResourceAsString("clds/tosca_update/default-tosca-types.yaml"),
- ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.json"));
- ToscaElement toscaElement = toscaConverterManager.getComponents().get("onap.datatype.controlloop.Actor");
+ ResourceFileUtil.getResourceAsString("clds/tosca-converter/default-tosca-types.yaml"),
+ ResourceFileUtil.getResourceAsString("clds/tosca-converter/templates.json"));
+ ToscaElement toscaElement = jsonTemplateManager.getToscaElements().get("onap.datatype.controlloop.Actor");
assertEquals(reference, toscaElement.propertiesNames());
}
diff --git a/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilderTest.java b/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilderTest.java index 184a391d..8eeba07e 100644 --- a/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilderTest.java +++ b/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilderTest.java @@ -39,7 +39,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; -import org.onap.clamp.loop.Loop; import org.onap.clamp.loop.template.PolicyModel; import org.onap.clamp.policy.microservice.MicroServicePolicy; import org.onap.clamp.policy.operational.OperationalPolicy; @@ -65,11 +64,11 @@ public class ClampGraphBuilderTest { public void clampGraphBuilderCompleteChainTest() { String collector = "VES"; MicroServicePolicy ms1 = new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0"), false, - null); + null, null, null, null); MicroServicePolicy ms2 = new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0"), false, - null); + null, null, null, null); - OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new Loop(), new JsonObject(), + OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new JsonObject(), new JsonObject(), new PolicyModel("org.onap.opolicy", null, "1.0.0", "opolicy1"), null, null, null); final Set<OperationalPolicy> opPolicies = Set.of(opPolicy); final Set<MicroServicePolicy> microServices = Set.of(ms1, ms2); @@ -92,9 +91,11 @@ public class ClampGraphBuilderTest { public void clampGraphBuilderNoPolicyGivenTest() { String collector = "VES"; MicroServicePolicy ms1 = - new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0"), false, null); + new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0"), false, null, null, null, + null); MicroServicePolicy ms2 = - new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0"), false, null); + new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0"), false, null, null, null, + null); ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter); assertThat(clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).build()) diff --git a/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java b/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java index a320131c..9559fa17 100644 --- a/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java +++ b/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java @@ -24,6 +24,7 @@ package org.onap.clamp.clds.util.drawing; import static org.assertj.core.api.Assertions.assertThat; + import com.google.gson.JsonObject; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; @@ -38,12 +39,11 @@ public class SvgLoopGeneratorTest { private Loop getLoop() { MicroServicePolicy ms1 = new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0", "short.ms1"), - false, - null); + false,null,null,null,null); MicroServicePolicy ms2 = new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0", "short.ms2"), - false, null); - OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new Loop(), new JsonObject(), + false, null,null,null,null); + OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new JsonObject(),new JsonObject(), new PolicyModel("org.onap.opolicy", null, "1.0.0", "short.OperationalPolicy"), null, null, null); Loop loop = new Loop(); loop.addMicroServicePolicy(ms1); |