diff options
Diffstat (limited to 'common/onap-tosca-datatype/src/test')
7 files changed, 169 insertions, 0 deletions
diff --git a/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/DataModelConvertUtilTest.java b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/DataModelConvertUtilTest.java new file mode 100644 index 0000000000..d4c1a75e9a --- /dev/null +++ b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/DataModelConvertUtilTest.java @@ -0,0 +1,116 @@ +package org.onap.sdc.tosca.services; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.io.File; +import java.io.FileInputStream; +import java.net.URL; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Test; +import org.onap.sdc.tosca.datatypes.model.Import; +import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; + + +public class DataModelConvertUtilTest { + + @Test + public void testConvertToscaImport() throws Exception { + ServiceTemplate serviceTemplate; + String inputResourceName = "/mock/serviceTemplate/importConvertTest.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + serviceTemplate = toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + } + assertNotNull(((Map)serviceTemplate.getImports().get(0)).get("data")); + assertNotNull(((Map)serviceTemplate.getImports().get(1)).get("artifacts")); + assertNotNull(((Map)serviceTemplate.getImports().get(2)).get("capabilities")); + assertNotNull(((Map)serviceTemplate.getImports().get(3)).get("api_interfaces")); + assertNotNull(((Map)serviceTemplate.getImports().get(4)).get("api_util_relationships")); + assertNotNull(((Map)serviceTemplate.getImports().get(5)).get("common")); + assertNotNull(((Map)serviceTemplate.getImports().get(6)).get("api_util")); + assertNotNull(((Map)serviceTemplate.getImports().get(7)).get("relationshipsExt")); + assertNotNull(((Map)serviceTemplate.getImports().get(8)).get("some_definition_file")); + assertNotNull(((Map)serviceTemplate.getImports().get(9)).get("site_index")); + } + + @Test + public void testConvertToscaImportForEmptyImport() throws Exception { + ServiceTemplate serviceTemplate; + String inputResourceName = "/mock/serviceTemplate/importConvertTestNoImport.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + serviceTemplate = toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + } + + Assert.assertNull(serviceTemplate.getImports()); + } + + @Test + public void testInvalidToscaImportSection() { + String inputResourceName = "/mock/serviceTemplate/invalidToscaImport.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + Assert.fail(); + } catch (Exception ex) { + Assert.assertTrue(ex.getMessage().contains("Cannot create property=imports")); + } + } + + @Test + public void testEmptyImportList() throws Exception { + String inputResourceName = "/mock/serviceTemplate/emptyImportList.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + ServiceTemplate serviceTemplate = toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + assertNull(serviceTemplate.getImports()); + } + } + + @Test + public void testConvertToscaImportMultiLineGrammar() throws Exception { + ServiceTemplate serviceTemplate; + String inputResourceName = "/mock/serviceTemplate/importMultiLineGrammar.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + serviceTemplate = toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + } + Map<String, Import> parsedMultiLineImport = (Map<String, Import>) serviceTemplate.getImports().get(0); + assertNotNull(parsedMultiLineImport); + Import multiLineGrammarImport = parsedMultiLineImport.get("multi_line_grammar_import"); + assertNotNull(multiLineGrammarImport); + assertEquals(multiLineGrammarImport.getFile(), "path1/path2/importFile.yaml"); + assertEquals(multiLineGrammarImport.getRepository(), "service_repo"); + assertEquals(multiLineGrammarImport.getNamespace_uri(), "http://test.xyz/tosca/1.0/platform"); + assertEquals(multiLineGrammarImport.getNamespace_prefix(), "ns_prefix"); + } + + + @Test + public void testConvertToscaImportInvalidMultiLineGrammar() { + String inputResourceName = "/mock/serviceTemplate/invalidImportMultiLineGrammar.yml"; + URL resource = this.getClass().getResource(inputResourceName); + File inputPayload = new File(resource.getFile()); + ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil(); + try (FileInputStream fis = new FileInputStream(inputPayload)) { + toscaExtensionYamlUtil.yamlToObject(fis, ServiceTemplate.class); + Assert.fail(); + } catch (Exception ex) { + Assert.assertTrue(ex.getMessage().contains("Cannot create property=imports")); + } + } +} diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/emptyImportList.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/emptyImportList.yml new file mode 100644 index 0000000000..51b5dbb901 --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/emptyImportList.yml @@ -0,0 +1,5 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: [] +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTest.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTest.yml new file mode 100644 index 0000000000..8603e37b3c --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTest.yml @@ -0,0 +1,19 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +- artifacts.yml +- capabilities.yml +- ../../api/interfaces.yml +- api/util/relationships.yml +- common: + file: api/common.yaml +- file: api/util.yaml +- relationshipsExt.yml +- some_definition_file: api/util.yaml +- file: site/index.yml + repository: nexus_repo + namespace_uri: http://namespace_uri + namespace_prefix: ns_prefix +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTestNoImport.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTestNoImport.yml new file mode 100644 index 0000000000..536e1367e5 --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTestNoImport.yml @@ -0,0 +1,4 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importMultiLineGrammar.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importMultiLineGrammar.yml new file mode 100644 index 0000000000..347e20d0d3 --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importMultiLineGrammar.yml @@ -0,0 +1,10 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- multi_line_grammar_import: + file: path1/path2/importFile.yaml + repository: service_repo + namespace_uri: http://test.xyz/tosca/1.0/platform + namespace_prefix: ns_prefix +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidImportMultiLineGrammar.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidImportMultiLineGrammar.yml new file mode 100644 index 0000000000..b5581900cf --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidImportMultiLineGrammar.yml @@ -0,0 +1,10 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- multi_line_grammar_import: + file: path1/path2/importFile.yaml + repository: service_repo + namespace_uri: http://test.xyz/tosca/1.0/platform + invalid_key: ns_prefix +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file diff --git a/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidToscaImport.yml b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidToscaImport.yml new file mode 100644 index 0000000000..8a5cfaa9ac --- /dev/null +++ b/common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidToscaImport.yml @@ -0,0 +1,5 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: abc +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from
\ No newline at end of file |