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