Migrate TestNG to Junit5
[sdc/sdc-tosca.git] / sdc-tosca / src / test / java / org / onap / sdc / impl / ToscaParserMetadataTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * sdc-tosca
4  * ================================================================================
5  * Copyright (C) 2017 - 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.onap.sdc.impl;
22
23 import static org.junit.jupiter.api.Assertions.assertEquals;
24 import static org.junit.jupiter.api.Assertions.assertNotNull;
25 import static org.junit.jupiter.api.Assertions.assertNull;
26 import static org.junit.jupiter.api.Assertions.assertThrows;
27
28 import java.util.List;
29 import java.util.Map;
30 import org.junit.jupiter.api.Test;
31 import org.junit.jupiter.api.extension.ExtendWith;
32 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
33 import org.onap.sdc.tosca.parser.config.ConfigurationManager;
34 import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
35 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
36 import org.onap.sdc.toscaparser.api.NodeTemplate;
37 import org.onap.sdc.toscaparser.api.elements.Metadata;
38
39 @ExtendWith({SdcToscaParserBasicTest.class})
40 public class ToscaParserMetadataTest extends SdcToscaParserBasicTest {
41
42     //region getServiceMetadata
43     @Test
44     public void testGetServiceMetadata() {
45         Metadata serviceMetadata = fdntCsarHelper.getServiceMetadata();
46         assertNotNull(serviceMetadata);
47         assertEquals("78c72999-1003-4a35-8534-bbd7d96fcae3", serviceMetadata.getValue("invariantUUID"));
48         assertEquals("Service FDNT", serviceMetadata.getValue("name"));
49         assertEquals("true", String.valueOf(serviceMetadata.getValue("serviceEcompNaming")));
50     }
51
52     @Test
53     public void testServiceMetadata() {
54         Metadata metadata = rainyCsarHelperSingleVf.getServiceMetadata();
55         assertNull(metadata);
56     }
57     //endregion
58
59     //region getMetadataPropertyValue
60     @Test
61     public void testGetMetadataProperty(){
62         Metadata serviceMetadata = fdntCsarHelper.getServiceMetadata();
63         String metadataPropertyValue = fdntCsarHelper.getMetadataPropertyValue(serviceMetadata, "invariantUUID");
64         assertEquals("78c72999-1003-4a35-8534-bbd7d96fcae3", metadataPropertyValue);
65     }
66
67     @Test
68     public void testGetNullMetadataPropertyValue() {
69         String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(null, "XXX");
70         assertNull(value);
71     }
72
73     @Test
74     public void testGetMetadataByNullPropertyValue() {
75         Metadata metadata = rainyCsarHelperMultiVfs.getServiceMetadata();
76         String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(metadata, null);
77         assertNull(value);
78     }
79
80     @Test
81     public void testGetMetadataByEmptyPropertyValue() {
82         Metadata metadata = rainyCsarHelperMultiVfs.getServiceMetadata();
83         String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(metadata, "");
84         assertNull(value);
85     }
86     //endregion
87
88     @Test
89     public void GetServiceNodeTemplateMetadataTypeCR() {
90         NodeTemplate nodeTemplate = csarHelperServiceWithCrs.getServiceNodeTemplateByNodeName("chaya best cr 0");
91         Metadata nodeTemplateMetadata = csarHelperServiceWithCrs.getNodeTemplateMetadata(nodeTemplate);
92         assertNotNull(nodeTemplateMetadata);
93         assertEquals(nodeTemplateMetadata.getValue("resourceVendorModelNumber"), "");
94         assertEquals(nodeTemplateMetadata.getValue("type"), "CR");
95         assertEquals(nodeTemplateMetadata.getValue("name"), "chaya best cr");
96         assertEquals(nodeTemplateMetadata.getValue("version"), "0.1");
97     }
98
99     //region getConformanceLevel
100     @Test
101     public void testSunnyGetConformanceLevel() {
102         String conformanceLevel = fdntCsarHelper.getConformanceLevel();
103         assertNotNull(conformanceLevel);
104         assertEquals("3.0", conformanceLevel);
105     }
106     //endregion
107
108     //region getServiceMetadataProperties
109     @Test
110     public void testNullServiceMetadataPropertiesMap() {
111         Map<String, Object> metadata = rainyCsarHelperSingleVf.getServiceMetadataProperties();
112         assertNull(metadata);
113     }
114
115     @Test
116     public void testServiceMetadataPropertiesMap() {
117         Map<String, Object> metadata = fdntCsarHelper.getServiceMetadataProperties();
118         assertNotNull(metadata);
119         assertEquals(metadata.size(), 9);
120         assertEquals(metadata.get("namingPolicy"), "test");
121     }
122     //endregion
123
124     //region getServiceMetadataAllProperties
125     @Test
126     public void testNullServiceMetadataAllPropertiesMap() {
127         Map<String, String> metadata = rainyCsarHelperSingleVf.getServiceMetadataAllProperties();
128         assertNull(metadata);
129     }
130
131     @Test
132     public void testServiceMetadataAllPropertiesMap() {
133         Map<String, String> metadata = fdntCsarHelper.getServiceMetadataAllProperties();
134         assertNotNull(metadata);
135         assertEquals(metadata.size(), 9);
136         assertEquals(metadata.get("namingPolicy"), "test");
137     }
138     //endregion
139
140     //region getNodeTemplateMetadata
141     @Test
142     public void testGetNodeTemplateMetadata() {
143         List<NodeTemplate> vfs = fdntCsarHelper.getServiceVfList();
144         Metadata metadata = fdntCsarHelper.getNodeTemplateMetadata(vfs.get(0));
145         assertNotNull(metadata);
146         assertEquals("VF", metadata.getValue("type"));
147         assertEquals("1.0", metadata.getValue("version"));
148     }
149
150     @Test
151     public void testGetNodeTemplateMetadataByNull() {
152         Metadata metadata = fdntCsarHelper.getNodeTemplateMetadata(null);
153         assertNull(metadata);
154     }
155     //endregion
156
157     //QA tests region for US 319197 -port mirroring
158
159     //getNodeTemplateMetadata (All Types)
160     @Test
161         public void GetServiceNodeTemplateMetadataTypeVF() {
162         NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("VF_1_V_port_1 0");
163         Metadata nodeTemplateMetadata = QAServiceForToscaParserTests.getNodeTemplateMetadata(nodeTemplate);
164         assertNotNull(nodeTemplateMetadata);
165         assertEquals(nodeTemplateMetadata.getValue("resourceVendorRelease"), "12-12-12");
166         assertEquals(nodeTemplateMetadata.getValue("type"), "VF");
167     }
168
169     @Test
170         public void GetServiceNodeTemplateMetadataTypeVL() {
171         NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtVL 0");
172         Metadata nodeTemplateMetadata = QAServiceForToscaParserTests.getNodeTemplateMetadata(nodeTemplate);
173         assertNotNull(nodeTemplateMetadata);
174         assertEquals(nodeTemplateMetadata.getValue("resourceVendorRelease"), "1.0.0.wd03");
175         assertEquals(nodeTemplateMetadata.getValue("type"), "VL");
176     }
177
178     @Test
179         public void GetServiceNodeTemplateMetadataTypeCP() {
180         NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtCP 0");
181         Metadata nodeTemplateMetadata = QAServiceForToscaParserTests.getNodeTemplateMetadata(nodeTemplate);
182         assertNotNull(nodeTemplateMetadata);
183         assertEquals(nodeTemplateMetadata.getValue("UUID"), "7a883088-5cab-4bfb-8d55-307d3ffd0758");
184         assertEquals(nodeTemplateMetadata.getValue("type"), "CP");
185     }
186
187     @Test
188         public void GetServiceNodeTemplateMetadataTypePNF() {
189         NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("PNF TEST 0");
190         Metadata nodeTemplateMetadata = QAServiceForToscaParserTests.getNodeTemplateMetadata(nodeTemplate);
191         assertNotNull(nodeTemplateMetadata);
192         assertEquals(nodeTemplateMetadata.getValue("resourceVendorModelNumber"), "");
193         assertEquals(nodeTemplateMetadata.getValue("type"), "PNF");
194     }
195
196     //QA end region for US 319197 -port mirroring
197
198     // Added by QA  //region getServiceMetadataAllProperties
199
200     @Test
201     public void testGetAllMetadataProperties() {
202         Metadata serviceMetadata = fdntCsarHelper.getServiceMetadata();
203         assertNotNull(serviceMetadata);
204         Map<String, String> allProperties = serviceMetadata.getAllProperties();
205         assertNotNull(allProperties);
206         String invariantUUID = allProperties.get("invariantUUID");
207         String UUID = allProperties.get("UUID");
208         String name = allProperties.get("name");
209         String description = allProperties.get("description");
210         String type = allProperties.get("type");
211         String category = allProperties.get("category");
212         String ecompGeneratedNaming = allProperties.get("ecompGeneratedNaming");
213         String namingPolicy = allProperties.get("namingPolicy");
214         String serviceEcompNaming = allProperties.get("serviceEcompNaming");
215
216         assertEquals(invariantUUID, "78c72999-1003-4a35-8534-bbd7d96fcae3");
217         assertEquals(UUID, "edd0a9f7-d084-4423-8461-a2eff4cb3eb6");
218         assertEquals(name, "Service FDNT");
219         assertEquals(description, "Service FDNT");
220         assertEquals(type, "Service");
221         assertEquals(category, "Network L1-3");
222         assertEquals(ecompGeneratedNaming, "true");
223         assertEquals(namingPolicy, "test");
224         assertEquals(serviceEcompNaming, "true");
225     }
226     //endregion
227
228     @Test
229     public void testCSARMissingConformanceLevelWithCustomErrorConfig() throws SdcToscaParserException {
230
231         ConfigurationManager configurationManager = ConfigurationManager.getInstance();
232         try {
233             configurationManager.setErrorConfiguration("error-configuration-test.yaml");
234             SdcToscaParserFactory.setConfigurationManager(configurationManager);
235             ISdcCsarHelper missingCSARMetaCsarCustomConfig = getCsarHelper
236                 ("csars/service-missing-csar-meta-file.csar");
237             String conformanceLevel = missingCSARMetaCsarCustomConfig.getConformanceLevel();
238             assertNotNull(conformanceLevel);
239             assertEquals(conformanceLevel, configurationManager.getConfiguration().getConformanceLevel()
240                 .getMaxVersion());
241         } finally {
242             configurationManager.setErrorConfiguration("error-configuration.yaml");
243             SdcToscaParserFactory.setConfigurationManager(configurationManager);
244         }
245
246     }
247
248     @Test
249     void testCSARMissingConformanceLevelWithDefaultErrorConfig() {
250         assertThrows(SdcToscaParserException.class, () -> {
251             ISdcCsarHelper missingCSARMetaCsarDefaultConfig = getCsarHelper("csars/service-missing-csar-meta-file.csar");
252             missingCSARMetaCsarDefaultConfig.getConformanceLevel();
253         });
254     }
255
256 }