aboutsummaryrefslogtreecommitdiffstats
path: root/common/onap-tosca-datatype/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'common/onap-tosca-datatype/src/test')
-rw-r--r--common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/services/DataModelConvertUtilTest.java116
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/emptyImportList.yml5
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTest.yml19
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importConvertTestNoImport.yml4
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/importMultiLineGrammar.yml10
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidImportMultiLineGrammar.yml10
-rw-r--r--common/onap-tosca-datatype/src/test/resources/mock/serviceTemplate/invalidToscaImport.yml5
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