aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-heat-lib/src
diff options
context:
space:
mode:
authortalio <tali.orenbach@amdocs.com>2017-12-27 12:59:05 +0200
committerAvi Gaffa <avi.gaffa@amdocs.com>2017-12-27 14:42:02 +0000
commitb220096e336b0e2bff63f596db3b65878dcd5fe1 (patch)
tree84b5f4d456cc3fc561ec6dbd426e3eef0ed077e5 /openecomp-be/lib/openecomp-heat-lib/src
parent549b96f3b8da259ed482bc76be7097aea70b7147 (diff)
Add tests
Add unit tests for ToscaTreeManager Change-Id: I772b63799cd34b687e6c81cb235c1c9a36ad34a2 Issue-ID: SDC-802 Signed-off-by: talio <tali.orenbach@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-heat-lib/src')
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/services/tree/ToscaTreeManagerTest.java86
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml430
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/MainServiceTemplate.yaml95
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/TOSCA-Metadata/TOSCA.meta4
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/out/expectedTree.json23
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/Deployment/OTHER/clearWaterIMSOTHERDEPLOYMENT.zipbin0 -> 21937 bytes
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/OTHER/clearWaterIMSOTHER.zipbin0 -> 21937 bytes
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml430
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/MainServiceTemplate.yaml95
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/TOSCA-Metadata/TOSCA.meta4
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/out/expectedTree.json49
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHER.zipbin0 -> 21937 bytes
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHERDEPLOYMENT.zipbin0 -> 21937 bytes
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml430
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/MainServiceTemplate.yaml95
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/TOSCA-Metadata/TOSCA.meta4
-rw-r--r--openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/out/expectedTree.json39
17 files changed, 1784 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/services/tree/ToscaTreeManagerTest.java b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/services/tree/ToscaTreeManagerTest.java
new file mode 100644
index 0000000000..0cfac52318
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/services/tree/ToscaTreeManagerTest.java
@@ -0,0 +1,86 @@
+package org.openecomp.sdc.heat.services.tree;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.regex.Pattern;
+
+public class ToscaTreeManagerTest {
+ private static final String BASE_DIR = "/mock/toscaTree/";
+ private static final String IN = "in";
+ private static final String OUT = "out";
+ private static final String EXPECTED_TREE_FILE = "/expectedTree.json";
+ private ToscaTreeManager toscaTreeManager = new ToscaTreeManager();
+
+ @Test
+ public void testTreeWithDiffFileNames() throws IOException {
+ String inputDirectory = BASE_DIR + "diffFileNames/" + IN;
+ String outputFileName = BASE_DIR + "diffFileNames/" + OUT + EXPECTED_TREE_FILE;
+
+ testTreeManager(inputDirectory, outputFileName);
+ }
+
+ @Test
+ public void testDirectoriesWithSimilarNameUnderDifferentRoots() throws IOException {
+ String inputDirectory = BASE_DIR + "similarDirectoryName/" + IN;
+ String outputFileName = BASE_DIR + "similarDirectoryName/" + OUT + EXPECTED_TREE_FILE;
+
+ testTreeManager(inputDirectory, outputFileName);
+ }
+
+ @Test
+ public void testTwoFilesUnderSameDirectory() throws IOException {
+ String inputDirectory = BASE_DIR + "twoFilesUnderSameDirectory/" + IN;
+ String outputFileName = BASE_DIR + "twoFilesUnderSameDirectory/" + OUT + EXPECTED_TREE_FILE;
+
+ testTreeManager(inputDirectory, outputFileName);
+ }
+
+ private void testTreeManager(String inputDirectory, String outputFileName) throws IOException {
+ initTreeManager(inputDirectory);
+ toscaTreeManager.createTree();
+ HeatStructureTree tree = toscaTreeManager.getTree();
+
+ validateToscaTree(outputFileName, tree);
+ }
+
+ private void validateToscaTree(String outputFileName, HeatStructureTree tree) throws IOException {
+ String actualTree = JsonUtil.object2Json(tree);
+ File expectedTreeFile = new File(this.getClass().getResource(outputFileName).getFile());
+
+ String expectedTree;
+ try(FileInputStream fis = new FileInputStream(expectedTreeFile)) {
+ expectedTree = new String(FileUtils.toByteArray(fis));
+ }
+ Assert.assertNotNull(expectedTree);
+ expectedTree = expectedTree.trim().replace("\r", "");
+ Assert.assertEquals(expectedTree, actualTree);
+ }
+
+ private void initTreeManager(String inputDir) throws IOException {
+ String fileName = inputDir.replace("/", File.separator);
+ File directory = new File(this.getClass().getResource(inputDir).getFile());
+
+ addFilesToTreeManager(fileName, directory.listFiles());
+ }
+
+ private void addFilesToTreeManager(String baseDir, File[] listFiles) throws IOException {
+ for (File file : listFiles) {
+ if (file.isDirectory()) {
+ addFilesToTreeManager(baseDir, file.listFiles());
+ } else {
+ toscaTreeManager.addFile(getFileNameWithoutTestDirectory(baseDir, file.getPath()), new byte[2]);
+ }
+ }
+ }
+
+ private String getFileNameWithoutTestDirectory(String baseDir, String fileName) {
+ return fileName.split(Pattern.quote(baseDir) + Pattern.quote(File.separator))[1];
+ }
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..0923257ac8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,430 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+
+node_types:
+ tosca.nodes.nfv.ext.ImageFile:
+ capabilities:
+ guest_os:
+ type: tosca.capabilities.nfv.ext.GuestOs
+ image_fle:
+ type: tosca.capabilities.nfv.ext.ImageFile
+ derived_from: tosca.nodes.Root
+ properties:
+ file_url:
+ required: false
+ type: string
+ container_type:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ disk_format:
+ required: false
+ type: string
+ version:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.LocalStorage:
+ capabilities:
+ local_attachment:
+ type: tosca.capabilities.nfv.ext.LocalAttachment
+ derived_from: tosca.nodes.Root
+ properties:
+ size:
+ required: false
+ type: string
+ disk_type:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.zte.VNF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ required: false
+ type: string
+ vnf_extend_type:
+ required: false
+ type: string
+ id:
+ required: false
+ type: string
+ vnf_type:
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.CP:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ guest_os_mtu:
+ required: false
+ type: integer
+ bandwidth:
+ required: false
+ type: integer
+ interface_name:
+ required: false
+ type: string
+ allowed_address_pairs:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.AddressPairs
+ required: false
+ type: list
+ ip_address:
+ required: false
+ type: string
+ bond:
+ required: false
+ type: string
+ proxiedVNFs:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ sfc_encapsulation:
+ required: false
+ type: string
+ floating_ip_address:
+ required: false
+ type: tosca.datatypes.nfv.ext.FloatingIP
+ service_ip_address:
+ required: false
+ type: string
+ mac_address:
+ required: false
+ type: string
+ proxiedVNFtype:
+ required: false
+ type: string
+ macbond:
+ required: false
+ type: string
+ vnic_type:
+ required: false
+ type: string
+ direction:
+ required: false
+ type: string
+ order:
+ required: false
+ type: integer
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualbinding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VDU:
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ nfv_compute:
+ type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+ virtualbinding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ derived_from: tosca.nodes.Root
+ properties:
+ manual_scale_select_vim:
+ required: false
+ type: boolean
+ vdu_type:
+ required: false
+ type: string
+ watchdog:
+ required: false
+ type: tosca.datatypes.nfv.ext.zte.WatchDog
+ name:
+ required: false
+ type: string
+ local_affinity_antiaffinity_rule:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+ support_scaling:
+ required: false
+ type: boolean
+ storage_policy:
+ required: false
+ type: string
+ key_vdu:
+ required: false
+ type: boolean
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+ inject_data_list:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.InjectData
+ required: false
+ type: list
+ requirements:
+ - guest_os:
+ capability: tosca.capabilities.nfv.ext.GuestOs
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage:
+ capability: tosca.capabilities.nfv.ext.LocalAttachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - volume_storage:
+ capability: tosca.capabilities.Attachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency:
+ capability: tosca.capabilities.Node
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VL:
+ capabilities:
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
+ derived_from: tosca.nodes.Root
+ properties:
+ segmentation_id:
+ required: false
+ type: string
+ network_name:
+ required: false
+ type: string
+ is_predefined:
+ required: false
+ type: boolean
+ mtu:
+ required: false
+ type: integer
+ dns_nameservers:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ physical_network:
+ required: false
+ type: string
+ dhcp_enabled:
+ required: false
+ type: boolean
+ network_id:
+ required: false
+ type: string
+ host_routes:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.HostRouteInfo
+ required: false
+ type: list
+ ip_version:
+ required: false
+ type: integer
+ vendor:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ start_ip:
+ required: false
+ type: string
+ vlan_transparent:
+ required: false
+ type: boolean
+ cidr:
+ required: false
+ type: string
+ gateway_ip:
+ required: false
+ type: string
+ network_type:
+ required: false
+ type: string
+ end_ip:
+ required: false
+ type: string
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+
+ tosca.nodes.nfv.ext.zte.VNF.vCSCF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.nfv.ext.zte.VNF
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ default: CT
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ vnfm_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ default: v1.0
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ csarVersion:
+ default: v1.0
+ required: false
+ type: string
+ csarProvider:
+ default: ZTE
+ required: false
+ type: string
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ default: v1.0
+ required: false
+ type: string
+ csarType:
+ default: NFAR
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ default: ZTE
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ default: vCSCF
+ required: false
+ type: string
+ vnf_extend_type:
+ default: none
+ required: false
+ type: string
+ id:
+ default: CSCF_NF_ZTE_v1.0
+ required: false
+ type: string
+ vnf_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toVNFM:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toMgmt:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..eaf7fecdf8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/MainServiceTemplate.yaml
@@ -0,0 +1,95 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+#Next section moved from GlobalSubstitutionTypesServiceTemplate
+node_types:
+ org.openecomp.resource.vfc.VNF.vMME:
+ derived_from: tosca.nodes.Root
+ description: MME_VFC
+ properties:
+ vendor:
+ type: string
+ default: ERICSSON
+ csarVersion:
+ type: string
+ default: v1.0
+ csarProvider:
+ type: string
+ default: ERICSSON
+ id:
+ type: string
+ default: vMME
+ version:
+ type: string
+ default: v1.0
+ csarType:
+ type: string
+ default: NFAR
+ requirements:
+ - virtualLink:
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capability: tosca.capabilities.network.Linkable
+metadata:
+ invariantUUID: b638d948-297a-434c-84c1-7cbc08456c4e
+ UUID: cd6b68ae-c2af-4af4-ada0-d066b02519a0
+ name: ZTE-EPC-MME-VF
+ description: mme vf
+ type: VF
+ category: Generic
+ subcategory: Network Elements
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+topology_template:
+ inputs:
+ nf_naming:
+ type: org.openecomp.datatypes.Naming
+ default:
+ ecomp_generated_naming: true
+ nf_naming_code:
+ type: string
+ default: xxxxxx
+ nf_function:
+ type: string
+ default: xxxxxx
+ availability_zone_max_count:
+ type: integer
+ default: 1
+ nf_role:
+ type: string
+ default: xxxxxx
+ max_instances:
+ type: integer
+ default: 0
+ min_instances:
+ type: integer
+ default: 0
+ nf_type:
+ type: string
+ default: xxxxxx
+ node_templates:
+ MME-EPC-ZTE:
+ type: org.openecomp.resource.vfc.VNF.vMME
+ metadata:
+ invariantUUID: 2e7e44d1-c6fd-4a9b-8026-130c91b49fe2
+ UUID: fa6c6a48-9916-4089-ade0-68ae2b1c2b6d
+ customizationUUID: 0862b18b-a728-4455-975d-e4debd2719a0
+ version: '0.1'
+ name: ZTE-EPC-MME
+ description: MME VFC
+ type: VFC
+ category: Generic
+ subcategory: Abstract
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+ properties:
+ vendor: ERICSSON
+ csarVersion: v1.0
+ csarProvider: ERICSSON
+ id: vMME
+ version: v1.0
+ csarType: NFAR \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/TOSCA-Metadata/TOSCA.meta b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000000..f7bb7b4944
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/in/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,4 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Feng yuanxing
+Entry-Definitions: Definitions/MainServiceTemplate.yml
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/out/expectedTree.json b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/out/expectedTree.json
new file mode 100644
index 0000000000..4be1e1ddeb
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/diffFileNames/out/expectedTree.json
@@ -0,0 +1,23 @@
+{
+ "nested": [
+ {
+ "fileName": "TOSCA-Metadata",
+ "nested": [
+ {
+ "fileName": "TOSCA.meta"
+ }
+ ]
+ },
+ {
+ "fileName": "MainServiceTemplate.yaml"
+ },
+ {
+ "fileName": "Definitions",
+ "nested": [
+ {
+ "fileName": "GlobalSubstitutionTypesServiceTemplate.yaml"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/Deployment/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/Deployment/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip
new file mode 100644
index 0000000000..df1ac6bab3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/Deployment/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip
Binary files differ
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/OTHER/clearWaterIMSOTHER.zip b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/OTHER/clearWaterIMSOTHER.zip
new file mode 100644
index 0000000000..df1ac6bab3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Artifacts/OTHER/clearWaterIMSOTHER.zip
Binary files differ
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..0923257ac8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,430 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+
+node_types:
+ tosca.nodes.nfv.ext.ImageFile:
+ capabilities:
+ guest_os:
+ type: tosca.capabilities.nfv.ext.GuestOs
+ image_fle:
+ type: tosca.capabilities.nfv.ext.ImageFile
+ derived_from: tosca.nodes.Root
+ properties:
+ file_url:
+ required: false
+ type: string
+ container_type:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ disk_format:
+ required: false
+ type: string
+ version:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.LocalStorage:
+ capabilities:
+ local_attachment:
+ type: tosca.capabilities.nfv.ext.LocalAttachment
+ derived_from: tosca.nodes.Root
+ properties:
+ size:
+ required: false
+ type: string
+ disk_type:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.zte.VNF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ required: false
+ type: string
+ vnf_extend_type:
+ required: false
+ type: string
+ id:
+ required: false
+ type: string
+ vnf_type:
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.CP:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ guest_os_mtu:
+ required: false
+ type: integer
+ bandwidth:
+ required: false
+ type: integer
+ interface_name:
+ required: false
+ type: string
+ allowed_address_pairs:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.AddressPairs
+ required: false
+ type: list
+ ip_address:
+ required: false
+ type: string
+ bond:
+ required: false
+ type: string
+ proxiedVNFs:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ sfc_encapsulation:
+ required: false
+ type: string
+ floating_ip_address:
+ required: false
+ type: tosca.datatypes.nfv.ext.FloatingIP
+ service_ip_address:
+ required: false
+ type: string
+ mac_address:
+ required: false
+ type: string
+ proxiedVNFtype:
+ required: false
+ type: string
+ macbond:
+ required: false
+ type: string
+ vnic_type:
+ required: false
+ type: string
+ direction:
+ required: false
+ type: string
+ order:
+ required: false
+ type: integer
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualbinding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VDU:
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ nfv_compute:
+ type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+ virtualbinding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ derived_from: tosca.nodes.Root
+ properties:
+ manual_scale_select_vim:
+ required: false
+ type: boolean
+ vdu_type:
+ required: false
+ type: string
+ watchdog:
+ required: false
+ type: tosca.datatypes.nfv.ext.zte.WatchDog
+ name:
+ required: false
+ type: string
+ local_affinity_antiaffinity_rule:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+ support_scaling:
+ required: false
+ type: boolean
+ storage_policy:
+ required: false
+ type: string
+ key_vdu:
+ required: false
+ type: boolean
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+ inject_data_list:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.InjectData
+ required: false
+ type: list
+ requirements:
+ - guest_os:
+ capability: tosca.capabilities.nfv.ext.GuestOs
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage:
+ capability: tosca.capabilities.nfv.ext.LocalAttachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - volume_storage:
+ capability: tosca.capabilities.Attachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency:
+ capability: tosca.capabilities.Node
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VL:
+ capabilities:
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
+ derived_from: tosca.nodes.Root
+ properties:
+ segmentation_id:
+ required: false
+ type: string
+ network_name:
+ required: false
+ type: string
+ is_predefined:
+ required: false
+ type: boolean
+ mtu:
+ required: false
+ type: integer
+ dns_nameservers:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ physical_network:
+ required: false
+ type: string
+ dhcp_enabled:
+ required: false
+ type: boolean
+ network_id:
+ required: false
+ type: string
+ host_routes:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.HostRouteInfo
+ required: false
+ type: list
+ ip_version:
+ required: false
+ type: integer
+ vendor:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ start_ip:
+ required: false
+ type: string
+ vlan_transparent:
+ required: false
+ type: boolean
+ cidr:
+ required: false
+ type: string
+ gateway_ip:
+ required: false
+ type: string
+ network_type:
+ required: false
+ type: string
+ end_ip:
+ required: false
+ type: string
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+
+ tosca.nodes.nfv.ext.zte.VNF.vCSCF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.nfv.ext.zte.VNF
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ default: CT
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ vnfm_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ default: v1.0
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ csarVersion:
+ default: v1.0
+ required: false
+ type: string
+ csarProvider:
+ default: ZTE
+ required: false
+ type: string
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ default: v1.0
+ required: false
+ type: string
+ csarType:
+ default: NFAR
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ default: ZTE
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ default: vCSCF
+ required: false
+ type: string
+ vnf_extend_type:
+ default: none
+ required: false
+ type: string
+ id:
+ default: CSCF_NF_ZTE_v1.0
+ required: false
+ type: string
+ vnf_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toVNFM:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toMgmt:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..eaf7fecdf8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/MainServiceTemplate.yaml
@@ -0,0 +1,95 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+#Next section moved from GlobalSubstitutionTypesServiceTemplate
+node_types:
+ org.openecomp.resource.vfc.VNF.vMME:
+ derived_from: tosca.nodes.Root
+ description: MME_VFC
+ properties:
+ vendor:
+ type: string
+ default: ERICSSON
+ csarVersion:
+ type: string
+ default: v1.0
+ csarProvider:
+ type: string
+ default: ERICSSON
+ id:
+ type: string
+ default: vMME
+ version:
+ type: string
+ default: v1.0
+ csarType:
+ type: string
+ default: NFAR
+ requirements:
+ - virtualLink:
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capability: tosca.capabilities.network.Linkable
+metadata:
+ invariantUUID: b638d948-297a-434c-84c1-7cbc08456c4e
+ UUID: cd6b68ae-c2af-4af4-ada0-d066b02519a0
+ name: ZTE-EPC-MME-VF
+ description: mme vf
+ type: VF
+ category: Generic
+ subcategory: Network Elements
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+topology_template:
+ inputs:
+ nf_naming:
+ type: org.openecomp.datatypes.Naming
+ default:
+ ecomp_generated_naming: true
+ nf_naming_code:
+ type: string
+ default: xxxxxx
+ nf_function:
+ type: string
+ default: xxxxxx
+ availability_zone_max_count:
+ type: integer
+ default: 1
+ nf_role:
+ type: string
+ default: xxxxxx
+ max_instances:
+ type: integer
+ default: 0
+ min_instances:
+ type: integer
+ default: 0
+ nf_type:
+ type: string
+ default: xxxxxx
+ node_templates:
+ MME-EPC-ZTE:
+ type: org.openecomp.resource.vfc.VNF.vMME
+ metadata:
+ invariantUUID: 2e7e44d1-c6fd-4a9b-8026-130c91b49fe2
+ UUID: fa6c6a48-9916-4089-ade0-68ae2b1c2b6d
+ customizationUUID: 0862b18b-a728-4455-975d-e4debd2719a0
+ version: '0.1'
+ name: ZTE-EPC-MME
+ description: MME VFC
+ type: VFC
+ category: Generic
+ subcategory: Abstract
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+ properties:
+ vendor: ERICSSON
+ csarVersion: v1.0
+ csarProvider: ERICSSON
+ id: vMME
+ version: v1.0
+ csarType: NFAR \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/TOSCA-Metadata/TOSCA.meta b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000000..f7bb7b4944
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/in/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,4 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Feng yuanxing
+Entry-Definitions: Definitions/MainServiceTemplate.yml
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/out/expectedTree.json b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/out/expectedTree.json
new file mode 100644
index 0000000000..071887b2fb
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/similarDirectoryName/out/expectedTree.json
@@ -0,0 +1,49 @@
+{
+ "nested": [
+ {
+ "fileName": "TOSCA-Metadata",
+ "nested": [
+ {
+ "fileName": "TOSCA.meta"
+ }
+ ]
+ },
+ {
+ "fileName": "MainServiceTemplate.yaml"
+ },
+ {
+ "fileName": "Definitions",
+ "nested": [
+ {
+ "fileName": "GlobalSubstitutionTypesServiceTemplate.yaml"
+ }
+ ]
+ },
+ {
+ "fileName": "Artifacts",
+ "nested": [
+ {
+ "fileName": "OTHER",
+ "nested": [
+ {
+ "fileName": "clearWaterIMSOTHER.zip"
+ }
+ ]
+ },
+ {
+ "fileName": "Deployment",
+ "nested": [
+ {
+ "fileName": "OTHER",
+ "nested": [
+ {
+ "fileName": "clearWaterIMSOTHERDEPLOYMENT.zip"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHER.zip b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHER.zip
new file mode 100644
index 0000000000..df1ac6bab3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHER.zip
Binary files differ
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip
new file mode 100644
index 0000000000..df1ac6bab3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Artifacts/OTHER/clearWaterIMSOTHERDEPLOYMENT.zip
Binary files differ
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..0923257ac8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/Definitions/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,430 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+
+node_types:
+ tosca.nodes.nfv.ext.ImageFile:
+ capabilities:
+ guest_os:
+ type: tosca.capabilities.nfv.ext.GuestOs
+ image_fle:
+ type: tosca.capabilities.nfv.ext.ImageFile
+ derived_from: tosca.nodes.Root
+ properties:
+ file_url:
+ required: false
+ type: string
+ container_type:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ disk_format:
+ required: false
+ type: string
+ version:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.LocalStorage:
+ capabilities:
+ local_attachment:
+ type: tosca.capabilities.nfv.ext.LocalAttachment
+ derived_from: tosca.nodes.Root
+ properties:
+ size:
+ required: false
+ type: string
+ disk_type:
+ required: false
+ type: string
+
+ tosca.nodes.nfv.ext.zte.VNF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ required: false
+ type: string
+ vnf_extend_type:
+ required: false
+ type: string
+ id:
+ required: false
+ type: string
+ vnf_type:
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.CP:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.Root
+ properties:
+ guest_os_mtu:
+ required: false
+ type: integer
+ bandwidth:
+ required: false
+ type: integer
+ interface_name:
+ required: false
+ type: string
+ allowed_address_pairs:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.AddressPairs
+ required: false
+ type: list
+ ip_address:
+ required: false
+ type: string
+ bond:
+ required: false
+ type: string
+ proxiedVNFs:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ sfc_encapsulation:
+ required: false
+ type: string
+ floating_ip_address:
+ required: false
+ type: tosca.datatypes.nfv.ext.FloatingIP
+ service_ip_address:
+ required: false
+ type: string
+ mac_address:
+ required: false
+ type: string
+ proxiedVNFtype:
+ required: false
+ type: string
+ macbond:
+ required: false
+ type: string
+ vnic_type:
+ required: false
+ type: string
+ direction:
+ required: false
+ type: string
+ order:
+ required: false
+ type: integer
+ requirements:
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualbinding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VDU:
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ nfv_compute:
+ type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
+ virtualbinding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ derived_from: tosca.nodes.Root
+ properties:
+ manual_scale_select_vim:
+ required: false
+ type: boolean
+ vdu_type:
+ required: false
+ type: string
+ watchdog:
+ required: false
+ type: tosca.datatypes.nfv.ext.zte.WatchDog
+ name:
+ required: false
+ type: string
+ local_affinity_antiaffinity_rule:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
+ support_scaling:
+ required: false
+ type: boolean
+ storage_policy:
+ required: false
+ type: string
+ key_vdu:
+ required: false
+ type: boolean
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+ inject_data_list:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.InjectData
+ required: false
+ type: list
+ requirements:
+ - guest_os:
+ capability: tosca.capabilities.nfv.ext.GuestOs
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage:
+ capability: tosca.capabilities.nfv.ext.LocalAttachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - volume_storage:
+ capability: tosca.capabilities.Attachment
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency:
+ capability: tosca.capabilities.Node
+ occurrences:
+ - 0
+ - UNBOUNDED
+
+ tosca.nodes.nfv.ext.zte.VL:
+ capabilities:
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
+ derived_from: tosca.nodes.Root
+ properties:
+ segmentation_id:
+ required: false
+ type: string
+ network_name:
+ required: false
+ type: string
+ is_predefined:
+ required: false
+ type: boolean
+ mtu:
+ required: false
+ type: integer
+ dns_nameservers:
+ entry_schema:
+ type: string
+ required: false
+ type: list
+ physical_network:
+ required: false
+ type: string
+ dhcp_enabled:
+ required: false
+ type: boolean
+ network_id:
+ required: false
+ type: string
+ host_routes:
+ entry_schema:
+ type: tosca.datatypes.nfv.ext.HostRouteInfo
+ required: false
+ type: list
+ ip_version:
+ required: false
+ type: integer
+ vendor:
+ required: false
+ type: string
+ name:
+ required: false
+ type: string
+ start_ip:
+ required: false
+ type: string
+ vlan_transparent:
+ required: false
+ type: boolean
+ cidr:
+ required: false
+ type: string
+ gateway_ip:
+ required: false
+ type: string
+ network_type:
+ required: false
+ type: string
+ end_ip:
+ required: false
+ type: string
+ location_info:
+ required: false
+ type: tosca.datatypes.nfv.ext.LocationInfo
+
+ tosca.nodes.nfv.ext.zte.VNF.vCSCF:
+ capabilities:
+ forwarder:
+ type: tosca.capabilities.nfv.Forwarder
+ derived_from: tosca.nodes.nfv.ext.zte.VNF
+ properties:
+ request_reclassification:
+ required: false
+ type: boolean
+ domain_type:
+ default: CT
+ required: false
+ type: string
+ nsh_aware:
+ required: false
+ type: boolean
+ plugin_info:
+ required: false
+ type: string
+ vnfm_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ adjust_vnf_capacity:
+ required: false
+ type: boolean
+ vnfd_version:
+ default: v1.0
+ required: false
+ type: string
+ vmnumber_overquota_alarm:
+ required: false
+ type: boolean
+ csarVersion:
+ default: v1.0
+ required: false
+ type: string
+ csarProvider:
+ default: ZTE
+ required: false
+ type: string
+ custom_properties:
+ entry_schema:
+ type: string
+ required: false
+ type: map
+ version:
+ default: v1.0
+ required: false
+ type: string
+ csarType:
+ default: NFAR
+ required: false
+ type: string
+ cross_dc:
+ required: false
+ type: boolean
+ script_info:
+ required: false
+ type: string
+ vendor:
+ default: ZTE
+ required: false
+ type: string
+ is_shared:
+ required: false
+ type: boolean
+ name:
+ default: vCSCF
+ required: false
+ type: string
+ vnf_extend_type:
+ default: none
+ required: false
+ type: string
+ id:
+ default: CSCF_NF_ZTE_v1.0
+ required: false
+ type: string
+ vnf_type:
+ default: ztevmanagerdriver
+ required: false
+ type: string
+ is_sfc_proxy:
+ required: false
+ type: boolean
+ requirements:
+ - virtualLink:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - forwarder:
+ capability: tosca.capabilities.nfv.Forwarder
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toVNFM:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - toMgmt:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ occurrences:
+ - 0
+ - UNBOUNDED \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..eaf7fecdf8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/MainServiceTemplate.yaml
@@ -0,0 +1,95 @@
+tosca_definitions_version: tosca_simple_yaml_1_1
+imports:
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+#Next section moved from GlobalSubstitutionTypesServiceTemplate
+node_types:
+ org.openecomp.resource.vfc.VNF.vMME:
+ derived_from: tosca.nodes.Root
+ description: MME_VFC
+ properties:
+ vendor:
+ type: string
+ default: ERICSSON
+ csarVersion:
+ type: string
+ default: v1.0
+ csarProvider:
+ type: string
+ default: ERICSSON
+ id:
+ type: string
+ default: vMME
+ version:
+ type: string
+ default: v1.0
+ csarType:
+ type: string
+ default: NFAR
+ requirements:
+ - virtualLink:
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capability: tosca.capabilities.network.Linkable
+metadata:
+ invariantUUID: b638d948-297a-434c-84c1-7cbc08456c4e
+ UUID: cd6b68ae-c2af-4af4-ada0-d066b02519a0
+ name: ZTE-EPC-MME-VF
+ description: mme vf
+ type: VF
+ category: Generic
+ subcategory: Network Elements
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+topology_template:
+ inputs:
+ nf_naming:
+ type: org.openecomp.datatypes.Naming
+ default:
+ ecomp_generated_naming: true
+ nf_naming_code:
+ type: string
+ default: xxxxxx
+ nf_function:
+ type: string
+ default: xxxxxx
+ availability_zone_max_count:
+ type: integer
+ default: 1
+ nf_role:
+ type: string
+ default: xxxxxx
+ max_instances:
+ type: integer
+ default: 0
+ min_instances:
+ type: integer
+ default: 0
+ nf_type:
+ type: string
+ default: xxxxxx
+ node_templates:
+ MME-EPC-ZTE:
+ type: org.openecomp.resource.vfc.VNF.vMME
+ metadata:
+ invariantUUID: 2e7e44d1-c6fd-4a9b-8026-130c91b49fe2
+ UUID: fa6c6a48-9916-4089-ade0-68ae2b1c2b6d
+ customizationUUID: 0862b18b-a728-4455-975d-e4debd2719a0
+ version: '0.1'
+ name: ZTE-EPC-MME
+ description: MME VFC
+ type: VFC
+ category: Generic
+ subcategory: Abstract
+ resourceVendor: zte
+ resourceVendorRelease: '1.0'
+ resourceVendorModelNumber: ''
+ properties:
+ vendor: ERICSSON
+ csarVersion: v1.0
+ csarProvider: ERICSSON
+ id: vMME
+ version: v1.0
+ csarType: NFAR \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/TOSCA-Metadata/TOSCA.meta b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000000..f7bb7b4944
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/in/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,4 @@
+TOSCA-Meta-File-Version: 1.0
+CSAR-Version: 1.1
+Created-By: Feng yuanxing
+Entry-Definitions: Definitions/MainServiceTemplate.yml
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/out/expectedTree.json b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/out/expectedTree.json
new file mode 100644
index 0000000000..59fec70152
--- /dev/null
+++ b/openecomp-be/lib/openecomp-heat-lib/src/test/resources/mock/toscaTree/twoFilesUnderSameDirectory/out/expectedTree.json
@@ -0,0 +1,39 @@
+{
+ "nested": [
+ {
+ "fileName": "TOSCA-Metadata",
+ "nested": [
+ {
+ "fileName": "TOSCA.meta"
+ }
+ ]
+ },
+ {
+ "fileName": "MainServiceTemplate.yaml"
+ },
+ {
+ "fileName": "Definitions",
+ "nested": [
+ {
+ "fileName": "GlobalSubstitutionTypesServiceTemplate.yaml"
+ }
+ ]
+ },
+ {
+ "fileName": "Artifacts",
+ "nested": [
+ {
+ "fileName": "OTHER",
+ "nested": [
+ {
+ "fileName": "clearWaterIMSOTHERDEPLOYMENT.zip"
+ },
+ {
+ "fileName": "clearWaterIMSOTHER.zip"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file