Added oparent to sdc main
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / utils / CsarToscaTester.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.utils;
22
23 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
24 import org.onap.sdc.tosca.parser.enums.SdcTypes;
25 import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
26 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
27 import org.onap.sdc.toscaparser.api.Group;
28 import org.onap.sdc.toscaparser.api.NodeTemplate;
29 import org.onap.sdc.toscaparser.api.elements.Metadata;
30 import org.onap.sdc.toscaparser.api.parameters.Input;
31
32 import java.io.File;
33 import java.io.FileWriter;
34 import java.io.IOException;
35 import java.util.List;
36 import java.util.Map;
37
38 public class CsarToscaTester {
39
40         public static void processCsar(SdcToscaParserFactory factory, File file) throws SdcToscaParserException {
41                 ISdcCsarHelper sdcCsarHelper = factory.getSdcCsarHelper(file.getAbsolutePath());
42                 processCsarImpl(sdcCsarHelper);
43                 
44         }
45
46         public static void processCsar(ISdcCsarHelper sdcCsarHelper) throws SdcToscaParserException {
47                 processCsarImpl(sdcCsarHelper);
48
49         }
50
51         private static void processCsarImpl(ISdcCsarHelper sdcCsarHelper) {
52
53                 //Service level
54                 System.out.println("Invoking sdc-tosca methods on this CSAR....");
55                 String conformanceLevel = sdcCsarHelper.getConformanceLevel();
56                 System.out.println("getConformanceLevel() - conformance level is "+conformanceLevel);
57                 String serviceSubstitutionMappingsTypeName = sdcCsarHelper.getServiceSubstitutionMappingsTypeName();
58                 System.out.println("serviceSubstitutionMappingsTypeName() - subst mappings type of service is "+serviceSubstitutionMappingsTypeName);
59                 List<Input> serviceInputs = sdcCsarHelper.getServiceInputs();
60                 System.out.println("getServiceInputs() - service inputs are "+serviceInputs);
61                 Metadata serviceMetadata = sdcCsarHelper.getServiceMetadata();
62                 System.out.println("getServiceMetadata() - service metadata is "+serviceMetadata);
63                 Map<String, Object> serviceMetadataProperties = sdcCsarHelper.getServiceMetadataProperties();
64                 System.out.println("getServiceMetadataProperties() - service metadata properties is "+serviceMetadataProperties);
65                 List<NodeTemplate> allottedResources = sdcCsarHelper.getAllottedResources();
66                 System.out.println("getAllottedResources() - service allotted resources are "+allottedResources);
67                 List<NodeTemplate> serviceVfList = sdcCsarHelper.getServiceVfList();
68                 System.out.println("getServiceVfList() - VF list is "+serviceVfList);
69                 List<NodeTemplate> serviceNodeTemplateBySdcType = sdcCsarHelper.getServiceNodeTemplateBySdcType(SdcTypes.VF);
70                 System.out.println("getServiceNodeTemplateBySdcType() - VF list is "+serviceNodeTemplateBySdcType);
71                 List<NodeTemplate> serviceNodeTemplates = sdcCsarHelper.getServiceNodeTemplates();
72                 System.out.println("getServiceNodeTemplates() - all node templates list of service is "+serviceNodeTemplates);
73
74                 serviceVfList.forEach(x -> {
75                         String nodeTemplateCustomizationUuid = sdcCsarHelper.getNodeTemplateCustomizationUuid(x);
76                         System.out.println("getNodeTemplateCustomizationUuid() - VF ID is "+nodeTemplateCustomizationUuid);
77                         String typeOfNodeTemplate = sdcCsarHelper.getTypeOfNodeTemplate(x);
78                         System.out.println("getTypeOfNodeTemplate() - VF tosca type is "+typeOfNodeTemplate);
79                         List<Group> vfModulesByVf = sdcCsarHelper.getVfModulesByVf(nodeTemplateCustomizationUuid);
80                         System.out.println("getVfModulesByVf() - VF modules list is "+vfModulesByVf);
81                         vfModulesByVf.forEach(y -> {
82                                 List<NodeTemplate> membersOfVfModule = sdcCsarHelper.getMembersOfVfModule(x, y);
83                                 System.out.println("getMembersOfVfModule() - members of VfModule are "+membersOfVfModule);
84                         });
85                         List<NodeTemplate> vfcListByVf = sdcCsarHelper.getVfcListByVf(nodeTemplateCustomizationUuid);
86                         System.out.println("getVfcListByVf() - VFC list is "+vfcListByVf);
87                         vfcListByVf.forEach(z -> {
88                                 List<NodeTemplate> nodeTemplateBySdcType = sdcCsarHelper.getNodeTemplateBySdcType(z, SdcTypes.CP);
89                                 System.out.println("getNodeTemplateBySdcType() - CP children node templates of this VFC are "+nodeTemplateBySdcType);
90                                 Map<String, Map<String, Object>> cpPropertiesFromVfcAsObject = sdcCsarHelper.getCpPropertiesFromVfcAsObject(z);
91                                 System.out.println("getCpPropertiesFromVfcAsObject() - consolidated CP properties for this VFC are "+cpPropertiesFromVfcAsObject);
92                                 boolean hasTopology = sdcCsarHelper.hasTopology(z);
93                                 System.out.println("hasTopology() - this VFC is "+(hasTopology ? "nested" : "not nested"));
94                         });
95                 });
96         }
97
98         private static void generateReport(String time, String name, String currentCsarDir, List<String> criticalsReport, String type)
99                         throws IOException {
100                 FileWriter fw;
101                 try (FileWriter fileWriter = fw = new FileWriter(new File(currentCsarDir + "/" + criticalsReport.size() + "-" + type + "-" + name + "-" + time + ".txt"))) {
102                 }
103                 for (String exception : criticalsReport) {
104                         fw.write(exception);
105                         fw.write("\r\n");
106                 }
107                 fw.close();
108         }
109 }