re base code
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / utils / CsarToscaTester.java
1 package org.openecomp.sdc.ci.tests.utils;
2
3 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
4 import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
5 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
6 import org.onap.sdc.tosca.parser.impl.SdcTypes;
7 import org.onap.sdc.toscaparser.api.Group;
8 import org.onap.sdc.toscaparser.api.NodeTemplate;
9 import org.onap.sdc.toscaparser.api.elements.Metadata;
10 import org.onap.sdc.toscaparser.api.parameters.Input;
11
12 import java.io.File;
13 import java.io.FileWriter;
14 import java.io.IOException;
15 import java.util.List;
16 import java.util.Map;
17
18 public class CsarToscaTester {
19
20         public static void processCsar(SdcToscaParserFactory factory, File file) throws SdcToscaParserException {
21                 ISdcCsarHelper sdcCsarHelper = factory.getSdcCsarHelper(file.getAbsolutePath());
22                 processCsarImpl(sdcCsarHelper);
23                 
24         }
25
26         public static void processCsar(ISdcCsarHelper sdcCsarHelper) throws SdcToscaParserException {
27                 processCsarImpl(sdcCsarHelper);
28
29         }
30
31         private static void processCsarImpl(ISdcCsarHelper sdcCsarHelper) {
32
33                 //Service level
34                 System.out.println("Invoking sdc-tosca methods on this CSAR....");
35                 String conformanceLevel = sdcCsarHelper.getConformanceLevel();
36                 System.out.println("getConformanceLevel() - conformance level is "+conformanceLevel);
37                 String serviceSubstitutionMappingsTypeName = sdcCsarHelper.getServiceSubstitutionMappingsTypeName();
38                 System.out.println("serviceSubstitutionMappingsTypeName() - subst mappings type of service is "+serviceSubstitutionMappingsTypeName);
39                 List<Input> serviceInputs = sdcCsarHelper.getServiceInputs();
40                 System.out.println("getServiceInputs() - service inputs are "+serviceInputs);
41                 Metadata serviceMetadata = sdcCsarHelper.getServiceMetadata();
42                 System.out.println("getServiceMetadata() - service metadata is "+serviceMetadata);
43                 Map<String, Object> serviceMetadataProperties = sdcCsarHelper.getServiceMetadataProperties();
44                 System.out.println("getServiceMetadataProperties() - service metadata properties is "+serviceMetadataProperties);
45                 List<NodeTemplate> allottedResources = sdcCsarHelper.getAllottedResources();
46                 System.out.println("getAllottedResources() - service allotted resources are "+allottedResources);
47                 List<NodeTemplate> serviceVfList = sdcCsarHelper.getServiceVfList();
48                 System.out.println("getServiceVfList() - VF list is "+serviceVfList);
49                 List<NodeTemplate> serviceNodeTemplateBySdcType = sdcCsarHelper.getServiceNodeTemplateBySdcType(SdcTypes.VF);
50                 System.out.println("getServiceNodeTemplateBySdcType() - VF list is "+serviceNodeTemplateBySdcType);
51                 List<NodeTemplate> serviceNodeTemplates = sdcCsarHelper.getServiceNodeTemplates();
52                 System.out.println("getServiceNodeTemplates() - all node templates list of service is "+serviceNodeTemplates);
53
54                 serviceVfList.forEach(x -> {
55                         String nodeTemplateCustomizationUuid = sdcCsarHelper.getNodeTemplateCustomizationUuid(x);
56                         System.out.println("getNodeTemplateCustomizationUuid() - VF ID is "+nodeTemplateCustomizationUuid);
57                         String typeOfNodeTemplate = sdcCsarHelper.getTypeOfNodeTemplate(x);
58                         System.out.println("getTypeOfNodeTemplate() - VF tosca type is "+typeOfNodeTemplate);
59                         List<Group> vfModulesByVf = sdcCsarHelper.getVfModulesByVf(nodeTemplateCustomizationUuid);
60                         System.out.println("getVfModulesByVf() - VF modules list is "+vfModulesByVf);
61                         vfModulesByVf.forEach(y -> {
62                                 List<NodeTemplate> membersOfVfModule = sdcCsarHelper.getMembersOfVfModule(x, y);
63                                 System.out.println("getMembersOfVfModule() - members of VfModule are "+membersOfVfModule);
64                         });
65                         List<NodeTemplate> vfcListByVf = sdcCsarHelper.getVfcListByVf(nodeTemplateCustomizationUuid);
66                         System.out.println("getVfcListByVf() - VFC list is "+vfcListByVf);
67                         vfcListByVf.forEach(z -> {
68                                 List<NodeTemplate> nodeTemplateBySdcType = sdcCsarHelper.getNodeTemplateBySdcType(z, SdcTypes.CP);
69                                 System.out.println("getNodeTemplateBySdcType() - CP children node templates of this VFC are "+nodeTemplateBySdcType);
70                                 Map<String, Map<String, Object>> cpPropertiesFromVfcAsObject = sdcCsarHelper.getCpPropertiesFromVfcAsObject(z);
71                                 System.out.println("getCpPropertiesFromVfcAsObject() - consolidated CP properties for this VFC are "+cpPropertiesFromVfcAsObject);
72                                 boolean hasTopology = sdcCsarHelper.hasTopology(z);
73                                 System.out.println("hasTopology() - this VFC is "+(hasTopology ? "nested" : "not nested"));
74                         });
75                 });
76         }
77
78         private static void generateReport(String time, String name, String currentCsarDir, List<String> criticalsReport, String type)
79                         throws IOException {
80                 FileWriter fw;
81                 try (FileWriter fileWriter = fw = new FileWriter(new File(currentCsarDir + "/" + criticalsReport.size() + "-" + type + "-" + name + "-" + time + ".txt"))) {
82                 }
83                 for (String exception : criticalsReport) {
84                         fw.write(exception);
85                         fw.write("\r\n");
86                 }
87                 fw.close();
88         }
89 }