[SDC-8] trying to merge changes of tests and csars 33/2933/1
authorPavel Aharoni <pa0916@att.com>
Mon, 3 Apr 2017 07:06:16 +0000 (10:06 +0300)
committerPavel Aharoni <pa0916@att.com>
Mon, 3 Apr 2017 07:06:32 +0000 (10:06 +0300)
Change-Id: Iac4d5bd1ea312b76cba52a172d5ac80757173409
Signed-off-by: Pavel Aharoni <pa0916@att.com>
18 files changed:
jython-tosca-parser/pom.xml
jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/api/ToscaTemplate.java
jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/api/parameters/Input.java
jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/jython/JyToscaTemplate.java
jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/jython/parameters/JyInput.java
jython-tosca-parser/src/main/resources/Lib/site-packages/tosca_parser-0.7.0-py2.7.egg/toscaparser/parameters.py
jython-tosca-parser/src/main/resources/Lib/site-packages/tosca_parser-0.7.0-py2.7.egg/toscaparser/tosca_template.py
pom.xml
sdc-distribution-ci/src/main/java/org/openecomp/test/ClientTest.java
sdc-tosca-parser/pom.xml
sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
sdc-tosca-parser/src/test/java/org/openecomp/sdc/impl/ToscaParserStubsTest.java [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-allotted-resources-4.csar [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-groups-status-supported-case-3.csar [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-props-1.csar [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-tt-metadata-2.csar [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar.csar [new file with mode: 0644]
sdc-tosca-parser/src/test/resources/csars/service-vmme-csar.csar [new file with mode: 0644]

index 29a8cd2..7e29249 100644 (file)
@@ -9,7 +9,7 @@
        </parent>
        
        <artifactId>jython-tosca-parser</artifactId>
-       <version>0.4.0-SNAPSHOT</version>
+       <version>0.4.1-SNAPSHOT</version>
 
        <dependencies>
                <dependency>
index 97563fb..abf1b53 100644 (file)
@@ -1,5 +1,7 @@
 package org.openecomp.sdc.toscaparser.api;
 
+import static com.google.common.collect.ImmutableList.toImmutableList;
+
 import java.util.List;
 import java.util.Objects;
 
@@ -10,40 +12,47 @@ import com.google.common.base.MoreObjects;
 
 public class ToscaTemplate {
 
-    private final JyToscaTemplate jyToscaTemplate;
-    private final TopologyTemplate topologyTemplate;
-
-    public ToscaTemplate(JyToscaTemplate jyToscaTemplate, TopologyTemplate topologyTemplate) {
-        this.jyToscaTemplate = Objects.requireNonNull(jyToscaTemplate);
-        this.topologyTemplate = Objects.requireNonNull(topologyTemplate);
-    }
-
-    public String getVersion() {
-        return jyToscaTemplate.getJyVersion();
-    }
-
-    public String getDescription() {
-        return jyToscaTemplate.getJyDescription();
-    }
-    
-    public TopologyTemplate getTopologyTemplate() {
-        return topologyTemplate;
-    }
-
-    public List<NodeTemplate> getNodeTemplates() {
-        return topologyTemplate.getNodeTemplates();
-    }
-    
-    public List<Input> getInputs() {
-        return topologyTemplate.getInputs();
-    }
-
-    @Override
-    public String toString() {
-        return MoreObjects.toStringHelper(this)
-                .add("version", getVersion())
-                .add("description", getDescription())
-                .add("topologyTemplate", topologyTemplate)
-                .toString();
-    }
+       private final JyToscaTemplate jyToscaTemplate;
+       private final TopologyTemplate topologyTemplate;
+
+       public ToscaTemplate(JyToscaTemplate jyToscaTemplate, TopologyTemplate topologyTemplate) {
+               this.jyToscaTemplate = Objects.requireNonNull(jyToscaTemplate);
+               this.topologyTemplate = Objects.requireNonNull(topologyTemplate);
+       }
+
+       public String getVersion() {
+               return jyToscaTemplate.getJyVersion();
+       }
+
+       public String getDescription() {
+               return jyToscaTemplate.getJyDescription();
+       }
+
+       public TopologyTemplate getTopologyTemplate() {
+               return topologyTemplate;
+       }
+
+       public List<NodeTemplate> getNodeTemplates() {
+               return topologyTemplate.getNodeTemplates();
+       }
+
+       public List<TopologyTemplate> getNestedTopologyTemplates() {
+               return jyToscaTemplate.getNestedTopologyTemplates()
+                               .stream()
+                               .map(TopologyTemplate::new)
+                               .collect(toImmutableList());
+       }
+
+       public List<Input> getInputs() {
+               return topologyTemplate.getInputs();
+       }
+
+       @Override
+       public String toString() {
+               return MoreObjects.toStringHelper(this)
+                               .add("version", getVersion())
+                               .add("description", getDescription())
+                               .add("topologyTemplate", topologyTemplate)
+                               .toString();
+       }
 }
\ No newline at end of file
index b700c47..0b9ad7d 100644 (file)
@@ -22,6 +22,8 @@ public class Input {
         return jyInput.getJyType();
     }
     
+    
+    
     public boolean isRequired() {
         return jyInput.isJyRequired();
     }
index c58a042..7cba568 100644 (file)
@@ -7,5 +7,6 @@ public interface JyToscaTemplate {
     String getJyVersion();
     String getJyDescription();
     List<JyNodeTemplate> getJyNodeTemplates();
+    List<JyTopologyTemplate> getNestedTopologyTemplates();
     JyTopologyTemplate getJyTopologyTemplate();
 }
index 320e91b..253805b 100644 (file)
@@ -4,6 +4,7 @@ public interface JyInput {
     
     String getJyName();
     String getJyType();
+    String getJyDefault();
     boolean isJyRequired();
     String getJyDescription();
 }
index 7a4acd9..1bb58be 100644 (file)
@@ -50,7 +50,10 @@ class Input(JyInput):
         return self.required  
 
     def getJyDescription(self):
-        return self.description  
+        return self.description 
+    
+    def getJyDefault(self):
+        return self.default   
     
     @property
     def type(self):
index 55485f0..6b3ea87 100644 (file)
@@ -119,8 +119,11 @@ class ToscaTemplate(JyToscaTemplate):
         return self.description        
      
     def getJyTopologyTemplate(self):
-        return self.topology_template        
+        return self.topology_template 
 
+    def getJyNestedTopologyTemplates(self):       
+        return self.nested_tosca_templates_with_topology
+        
     def _topology_template(self):
         return TopologyTemplate(self._tpl_topology_template(),
                                 self._get_all_custom_defs(),
diff --git a/pom.xml b/pom.xml
index fe0f9e8..7c348e9 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,8 @@
                <sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
                <sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
                <nexus.proxy>https://nexus.openecomp.org</nexus.proxy>
+               <snapshots.path>snapshots</snapshots.path>
+               <releases.path>releases</releases.path>
                <staging.profile.id>176c31dfe190a</staging.profile.id>
                
        </properties>
                <repository>
                        <id>ecomp-releases</id>
                        <name>Release Repository</name>
-                       <url>${nexus.proxy}/content/repositories/releases/</url>
+                       <url>${nexus.proxy}/content/repositories/${releases.path}/</url>
                </repository>
                <snapshotRepository>
                        <id>ecomp-snapshots</id>
                        <name>Snapshot Repository</name>
-                       <url>${nexus.proxy}/content/repositories/snapshots/</url>
+                       <url>${nexus.proxy}/content/repositories/${snapshots.path}/</url>
                </snapshotRepository>
 
        </distributionManagement>
index 5e8dafd..d944bf0 100644 (file)
@@ -35,10 +35,11 @@ public class ClientTest {
        public static void main(String[] args) throws Exception {
                try (SdcToscaParserFactory toscaParserFactory = SdcToscaParserFactory.getInstance()){
                        //ISdcCsarHelper csarHelper = toscaParserFactory.getSdcCsarHelper("C:\\Users\\pa0916\\Desktop\\Work\\ASDC\\CSARs\\service-ServiceFdnt-csar-nt-metadata.csar");
-                       ISdcCsarHelper csarHelper = toscaParserFactory.getSdcCsarHelper("C:\\Users\\pa0916\\Desktop\\Work\\ASDC\\CSARs\\service-ServiceFdnt-csar.csar");
+                       ISdcCsarHelper csarHelper = toscaParserFactory.getSdcCsarHelper("C:\\Users\\pa0916\\Desktop\\Work\\ASDC\\CSARs\\service-ServiceFdnt-csar-nt-props.csar");
+                       //ISdcCsarHelper csarHelper = toscaParserFactory.getSdcCsarHelper("C:\\Users\\pa0916\\Desktop\\Work\\ASDC\\CSARs\\service-ServiceFdnt-csar.csar");
                        String serviceSubstitutionMappingsTypeName = csarHelper.getServiceSubstitutionMappingsTypeName();
                        System.out.println("serviceSubstitutionMappingsTypeName is "+serviceSubstitutionMappingsTypeName);
-                       String nodeTemplatePropertyLeafValue = csarHelper.getNodeTemplatePropertyLeafValue(csarHelper.getServiceVfList().get(0), "nf_role");
+                       String nodeTemplatePropertyLeafValue = csarHelper.getNodeTemplatePropertyLeafValue(csarHelper.getServiceVfList().get(0), "nf_role#nf_naming#ecomp_generated_naming");
                        System.out.println("property is "+nodeTemplatePropertyLeafValue);
                } 
                LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
index d4ffda8..cd6e49e 100644 (file)
@@ -71,7 +71,7 @@
                <dependency>\r
                        <groupId>org.openecomp.sdc.sdc-distribution-client</groupId>\r
                        <artifactId>jython-tosca-parser</artifactId>\r
-                       <version>0.4.0-SNAPSHOT</version>\r
+                       <version>0.4.1-SNAPSHOT</version>\r
                </dependency>\r
 \r
 \r
index 51afe7e..d5caa5d 100644 (file)
@@ -24,6 +24,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.tuple.Pair;
 import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
@@ -32,27 +34,34 @@ import org.openecomp.sdc.toscaparser.api.NodeTemplate;
 import org.openecomp.sdc.toscaparser.api.Property;
 import org.openecomp.sdc.toscaparser.api.TopologyTemplate;
 import org.openecomp.sdc.toscaparser.api.ToscaTemplate;
+import org.yaml.snakeyaml.Yaml;
 
 public class SdcCsarHelperImpl implements ISdcCsarHelper {
 
        private ToscaTemplate toscaTemplate;
-       
+       private static Yaml defaultYaml = new Yaml();
+
+
        public SdcCsarHelperImpl(ToscaTemplate toscaTemplate) {
                this.toscaTemplate = toscaTemplate;
        }
 
        @Override
+       //Sunny flow  - covered with UT, flat and nested
        public String getNodeTemplatePropertyLeafValue(NodeTemplate nodeTemplate, String leafValuePath) {
                String[] split = leafValuePath.split("#");
                List<Property> properties = nodeTemplate.getProperties();
                Optional<Property> findFirst = properties.stream().filter(x -> x.getName().equals(split[0])).findFirst();
                if (findFirst.isPresent()){
-                       Object current = findFirst.get().getValue();
-                       /*for (int i = 1; i < split.length; i++) {
-                               //if (i )
-                       }*/
-                       //TODO add nested props
-                       return (String)current;
+                       Property property = findFirst.get();
+                       Object current = property.getValue();
+                       if (split.length > 1){
+                               current = defaultYaml.load((String)current); 
+                               for (int i = 1; i < split.length; i++) {
+                                       current = ((Map<String, Object>)current).get(split[i]);
+                               }
+                       }
+                       return String.valueOf(current);
                }
                return null;
        }
@@ -64,11 +73,13 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
        }
 
        @Override
+       //Sunny flow - covered with UT
        public List<NodeTemplate> getServiceVfList() {
                return getNodeTemplateBySdcType(toscaTemplate.getTopologyTemplate(), Types.TYPE_VF);
        }
-       
+
        @Override
+       //Sunny flow - covered with UT
        public List<NodeTemplate> getServiceNodeTemplatesByType(String nodeType) {
                List<NodeTemplate> res = new ArrayList<>();
                List<NodeTemplate> nodeTemplates = toscaTemplate.getNodeTemplates();
@@ -113,11 +124,6 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
                return res;
        }
 
-       /*@Override
-       public String getMetadataPropertyValue(Metadata metadata, String metadataPropertyName) {
-               return (String)metadata.get(metadataPropertyName);
-       }*/
-
        @Override
        public String getServiceInputLeafValue(String inputLeafValuePath) {
                //toscaTemplate.getTopologyTemplate().getNodeTemplates().get(0).getProperties().get(0).
@@ -131,7 +137,9 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
 
        @Override
        public Map<String, String> getServiceMetadata() {
-               return toscaTemplate.getTopologyTemplate().getMetadata();
+               TopologyTemplate topologyTemplate = toscaTemplate.getTopologyTemplate();
+               System.out.println(topologyTemplate.toString());
+               return topologyTemplate.getMetadata();
        }
 
        //Get property from group
@@ -139,10 +147,10 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
        public String getGroupPropertyLeafValue(Group group, String propertyName) {
                return null;//getLeafPropertyValue(group, propertyName);
        }
-       
+
        private List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate nodeTemplate, String sdcType){
                //Need metadata to fetch by type
-               
+
                /*List<NodeTemplate> nodeTemplates = nodeTemplate.getNestedNodeTemplates();
                List<NodeTemplate> res = new ArrayList<>();
                for (NodeTemplate nodeTemplateEntry : nodeTemplates){
@@ -152,16 +160,16 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
                }*/
                return null;
        }
-       
+
        private List<NodeTemplate> getNodeTemplateBySdcType(TopologyTemplate topologyTemplate, String sdcType){
                //Need metadata to fetch by type
-               
+
                List<NodeTemplate> nodeTemplates = topologyTemplate.getNodeTemplates();
                List<NodeTemplate> res = new ArrayList<>();
                for (NodeTemplate nodeTemplateEntry : nodeTemplates){
                        //TODO switch back to type condition
                        if (nodeTemplateEntry.getTypeDefinition().getType().contains("."+sdcType.toLowerCase()+".")){
-                       //if (sdcType.equals(nodeTemplateEntry.getMetadata().get(SdcPropertyNames.PROPERTY_NAME_TYPE))){
+                               //if (sdcType.equals(nodeTemplateEntry.getMetadata().get(SdcPropertyNames.PROPERTY_NAME_TYPE))){
                                res.add(nodeTemplateEntry);
                        }
                }
@@ -189,16 +197,23 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
        }
 
        @Override
+       //TODO constant strings
        public List<NodeTemplate> getAllottedResources() {
-               //TODO - Need metadata
-               return new ArrayList<>();
+               List<NodeTemplate> nodeTemplates = toscaTemplate.getTopologyTemplate().getNodeTemplates();
+               return nodeTemplates.stream().filter(x -> x.getMetadata() != null && x.getMetadata().get("category").equals("allotted_resources")).collect(Collectors.toList());
        }
 
        @Override
+       //Sunny flow - covered with UT
        public String getTypeOfNodeTemplate(NodeTemplate nodeTemplate) {
                //Can be done
                return nodeTemplate.getTypeDefinition().getType();
        }
-       
-       
+
+       /*//Not part of API, for inner/test use
+       public NodeTemplate getNodeTemplateByName(TopologyTemplate topologyTemplate, String topologyName){
+               List<NodeTemplate> nodeTemplates = topologyTemplate.getNodeTemplates();
+               Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(x -> x.getName().equals(topologyName)).findFirst();
+               return findFirst.isPresent() ? findFirst.get() : null;
+       }*/
 }
diff --git a/sdc-tosca-parser/src/test/java/org/openecomp/sdc/impl/ToscaParserStubsTest.java b/sdc-tosca-parser/src/test/java/org/openecomp/sdc/impl/ToscaParserStubsTest.java
new file mode 100644 (file)
index 0000000..aac552c
--- /dev/null
@@ -0,0 +1,96 @@
+package org.openecomp.sdc.impl;\r
+\r
+import java.io.File;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import org.junit.AfterClass;\r
+import static org.junit.Assert.*;\r
+import org.junit.BeforeClass;\r
+import org.junit.Test;\r
+import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;\r
+import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;\r
+import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;\r
+import org.openecomp.sdc.toscaparser.api.NodeTemplate;\r
+\r
+public class ToscaParserStubsTest {\r
+\r
+       private static ISdcCsarHelper csarHelper;\r
+       private static SdcToscaParserFactory factory;\r
+\r
+\r
+       @BeforeClass\r
+       public static void init() throws SdcToscaParserException{\r
+               factory = SdcToscaParserFactory.getInstance();\r
+               //csarHelper = factory.getSdcCsarHelper("C:\\Users\\pa0916\\Desktop\\Work\\ASDC\\CSARs\\service-ServiceFdnt-csar-allotted-resources-4.csar");\r
+               String fileStr = ToscaParserStubsTest.class.getClassLoader().getResource("csars/service-ServiceFdnt-csar-allotted-resources-4.csar").getFile();\r
+               File file = new File(fileStr);\r
+               csarHelper = factory.getSdcCsarHelper(file.getAbsolutePath());\r
+       }\r
+\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testNumberOfVfSunnyFlow() throws SdcToscaParserException {\r
+               List<NodeTemplate> serviceVfList = csarHelper.getServiceVfList();\r
+               assertNotNull(serviceVfList);\r
+               assertEquals(1, serviceVfList.size());\r
+       }\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testNodeTemplateFlatProperty() throws SdcToscaParserException {\r
+               List<NodeTemplate> serviceVfList = csarHelper.getServiceVfList();\r
+               String nodeTemplatePropertyLeafValue = csarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "availability_zone_max_count");\r
+               assertEquals("2", nodeTemplatePropertyLeafValue);\r
+       }\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testNodeTemplateNestedProperty() throws SdcToscaParserException {\r
+               List<NodeTemplate> serviceVfList = csarHelper.getServiceVfList();\r
+               String nodeTemplatePropertyLeafValue = csarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "nf_role#nf_naming#instance_name");\r
+               assertEquals("FDNT_instance_VF", nodeTemplatePropertyLeafValue);\r
+       }\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testServiceNodeTemplatesByType() throws SdcToscaParserException {\r
+               List<NodeTemplate> serviceVfList = csarHelper.getServiceNodeTemplatesByType("org.openecomp.resource.vf.Fdnt");\r
+               assertNotNull(serviceVfList);\r
+               assertEquals(1, serviceVfList.size());\r
+       }\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testGetTypeOfNodeTemplate() {\r
+               List<NodeTemplate> serviceVfList = csarHelper.getServiceVfList();\r
+               String typeOfNodeTemplate = csarHelper.getTypeOfNodeTemplate(serviceVfList.get(0));\r
+               assertEquals("org.openecomp.resource.vf.Fdnt", typeOfNodeTemplate);\r
+       }\r
+\r
+\r
+       //@Test\r
+       //TODO add rainy flows\r
+       public void testGetServiceMetadata() {\r
+               //FAILS!! Metadata is null\r
+               Map<String, String> serviceMetadata = csarHelper.getServiceMetadata();\r
+               assertNotNull(serviceMetadata);\r
+               assertEquals("78c72999-1003-4a35-8534-bbd7d96fcae3", serviceMetadata.get("invariantUUID"));\r
+               assertEquals("Service FDNT", serviceMetadata.get("name"));\r
+               assertEquals("true", serviceMetadata.get("serviceEcompNaming"));\r
+       }\r
+\r
+       @Test\r
+       //TODO add rainy flows\r
+       public void testGetAllottedResources() {\r
+               List<NodeTemplate> allottedResources = csarHelper.getAllottedResources();\r
+               assertEquals(1, allottedResources.size());\r
+       }\r
+       \r
+       \r
+               @AfterClass\r
+               public static void close(){\r
+                       factory.close();\r
+               }\r
+       }\r
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-allotted-resources-4.csar b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-allotted-resources-4.csar
new file mode 100644 (file)
index 0000000..7b4cff2
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-allotted-resources-4.csar differ
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-groups-status-supported-case-3.csar b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-groups-status-supported-case-3.csar
new file mode 100644 (file)
index 0000000..7286663
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-groups-status-supported-case-3.csar differ
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-props-1.csar b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-props-1.csar
new file mode 100644 (file)
index 0000000..ceac90a
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-props-1.csar differ
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-tt-metadata-2.csar b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-tt-metadata-2.csar
new file mode 100644 (file)
index 0000000..3cda214
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar-nt-tt-metadata-2.csar differ
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar.csar b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar.csar
new file mode 100644 (file)
index 0000000..6179316
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-ServiceFdnt-csar.csar differ
diff --git a/sdc-tosca-parser/src/test/resources/csars/service-vmme-csar.csar b/sdc-tosca-parser/src/test/resources/csars/service-vmme-csar.csar
new file mode 100644 (file)
index 0000000..416707c
Binary files /dev/null and b/sdc-tosca-parser/src/test/resources/csars/service-vmme-csar.csar differ