2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.sdc.impl;
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;
28 import java.util.List;
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;
39 @ExtendWith({SdcToscaParserBasicTest.class})
40 public class ToscaParserMetadataTest extends SdcToscaParserBasicTest {
42 //region getServiceMetadata
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")));
53 public void testServiceMetadata() {
54 Metadata metadata = rainyCsarHelperSingleVf.getServiceMetadata();
59 //region getMetadataPropertyValue
61 public void testGetMetadataProperty(){
62 Metadata serviceMetadata = fdntCsarHelper.getServiceMetadata();
63 String metadataPropertyValue = fdntCsarHelper.getMetadataPropertyValue(serviceMetadata, "invariantUUID");
64 assertEquals("78c72999-1003-4a35-8534-bbd7d96fcae3", metadataPropertyValue);
68 public void testGetNullMetadataPropertyValue() {
69 String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(null, "XXX");
74 public void testGetMetadataByNullPropertyValue() {
75 Metadata metadata = rainyCsarHelperMultiVfs.getServiceMetadata();
76 String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(metadata, null);
81 public void testGetMetadataByEmptyPropertyValue() {
82 Metadata metadata = rainyCsarHelperMultiVfs.getServiceMetadata();
83 String value = rainyCsarHelperMultiVfs.getMetadataPropertyValue(metadata, "");
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");
99 //region getConformanceLevel
101 public void testSunnyGetConformanceLevel() {
102 String conformanceLevel = fdntCsarHelper.getConformanceLevel();
103 assertNotNull(conformanceLevel);
104 assertEquals("3.0", conformanceLevel);
108 //region getServiceMetadataProperties
110 public void testNullServiceMetadataPropertiesMap() {
111 Map<String, Object> metadata = rainyCsarHelperSingleVf.getServiceMetadataProperties();
112 assertNull(metadata);
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");
124 //region getServiceMetadataAllProperties
126 public void testNullServiceMetadataAllPropertiesMap() {
127 Map<String, String> metadata = rainyCsarHelperSingleVf.getServiceMetadataAllProperties();
128 assertNull(metadata);
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");
140 //region getNodeTemplateMetadata
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"));
151 public void testGetNodeTemplateMetadataByNull() {
152 Metadata metadata = fdntCsarHelper.getNodeTemplateMetadata(null);
153 assertNull(metadata);
157 //QA tests region for US 319197 -port mirroring
159 //getNodeTemplateMetadata (All Types)
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");
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");
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");
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");
196 //QA end region for US 319197 -port mirroring
198 // Added by QA //region getServiceMetadataAllProperties
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");
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");
229 public void testCSARMissingConformanceLevelWithCustomErrorConfig() throws SdcToscaParserException {
231 ConfigurationManager configurationManager = ConfigurationManager.getInstance();
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()
242 configurationManager.setErrorConfiguration("error-configuration.yaml");
243 SdcToscaParserFactory.setConfigurationManager(configurationManager);
249 void testCSARMissingConformanceLevelWithDefaultErrorConfig() {
250 assertThrows(SdcToscaParserException.class, () -> {
251 ISdcCsarHelper missingCSARMetaCsarDefaultConfig = getCsarHelper("csars/service-missing-csar-meta-file.csar");
252 missingCSARMetaCsarDefaultConfig.getConformanceLevel();