Revert "vLAN . Support Policies."
[sdc/sdc-tosca.git] / src / test / java / org / openecomp / sdc / impl / ToscaParserNodeTemplateTest.java
1 package org.openecomp.sdc.impl;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertNotNull;
5 import static org.testng.Assert.assertNull;
6 import static org.testng.Assert.assertTrue;
7 import java.util.*;
8 import static org.hamcrest.CoreMatchers.is;
9
10 import com.google.common.collect.ImmutableMap;
11 import org.apache.commons.lang3.tuple.Pair;
12 import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
13 import org.openecomp.sdc.tosca.parser.impl.FilterType;
14 import org.openecomp.sdc.tosca.parser.impl.SdcTypes;
15 import org.openecomp.sdc.toscaparser.api.Group;
16 import org.openecomp.sdc.toscaparser.api.NodeTemplate;
17 import org.openecomp.sdc.toscaparser.api.Property;
18 import org.testng.annotations.Test;
19
20 import fj.data.fingertrees.Node;
21
22 public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
23
24         //region getServiceVfList
25         @Test
26         public void testNumberOfVfSunnyFlow() throws SdcToscaParserException {
27                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
28                 assertNotNull(serviceVfList);
29                 assertEquals(2, serviceVfList.size());
30         }
31         
32         @Test
33         public void testGetNodeTemplateCustomizationUuid(){
34                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
35                 boolean found = false;
36                 for (NodeTemplate nt : serviceVfList){
37                         if (nt.getName().equals("FDNT 1")){
38                                 found = true;
39                                 assertEquals(fdntCsarHelper.getNodeTemplateCustomizationUuid(nt), "56179cd8-de4a-4c38-919b-bbc4452d2d73");
40                         }
41                 }
42                 assertTrue(found);
43         }
44
45         @Test
46         public void testSingleVFWithNotMetadata() throws SdcToscaParserException {
47                 //If there is no metadata on VF level - There is no VF's because the type is taken from metadata values.
48                 List<NodeTemplate> serviceVfList = rainyCsarHelperSingleVf.getServiceVfList();
49                 assertNotNull(serviceVfList);
50                 assertEquals(0, serviceVfList.size());
51         }
52         //endregion
53
54         //region getNodeTemplatePropertyLeafValue
55         @Test
56         public void testNodeTemplateFlatProperty() throws SdcToscaParserException {
57                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
58                 assertEquals("2", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "availability_zone_max_count"));
59                 assertEquals("3", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "max_instances"));
60                 assertEquals("some code", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "nf_naming_code"));
61         }
62
63         @Test
64         public void testNodeTemplateFlatFunctionProperty() throws SdcToscaParserException {
65                 List<NodeTemplate> serviceVfList = fdntCsarHelperWithInputs.getServiceVfList();
66                 assertEquals(null, fdntCsarHelperWithInputs.getNodeTemplatePropertyLeafValue(serviceVfList.get(1), "target_network_role"));
67         }
68
69         @Test
70         public void testNodeTemplateNestedFunctionProperty() throws SdcToscaParserException {
71                 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
72                 assertEquals(null, ipAssignCsarHelper.getNodeTemplatePropertyLeafValue(vfcs.get(0), "port_pd01_port_ip_requirements#ip_count_required#count"));
73         }
74
75         @Test
76         public void testNodeTemplateNestedProperty() throws SdcToscaParserException {
77                 List<NodeTemplate> serviceVlList = fdntCsarHelper.getServiceVlList();
78                 NodeTemplate nodeTemplate = serviceVlList.get(0);
79                 //System.out.println("node template " + nodeTemplate.toString());
80                 assertEquals("24", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "network_assignments#ipv4_subnet_default_assignment#cidr_mask"));
81                 assertEquals("7a6520b-9982354-ee82992c-105720", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "network_flows#vpn_binding"));
82         }
83
84         @Test
85         public void testNodeTemplateNestedPropertyFromInput() throws SdcToscaParserException {
86                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
87                 NodeTemplate nodeTemplate = serviceVfList.get(0);
88                 //System.out.println("node template " + nodeTemplate.toString());
89                 assertEquals("true", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "nf_naming#ecomp_generated_naming"));
90                 assertEquals("FDNT_instance_VF_2", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "nf_naming#naming_policy"));
91         }
92
93         @Test
94         public void testNodeTemplateNestedPropertyNotExists() throws SdcToscaParserException {
95                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
96                 String nodeTemplatePropertyLeafValue = fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "nf_role#nf_naming#kuku");
97                 assertNull(nodeTemplatePropertyLeafValue);
98         }
99
100         @Test
101         public void testNodeTemplateFlatPropertyByNotFoundProperty() throws SdcToscaParserException {
102                 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
103                 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "XXXX");
104                 assertNull(nodeTemplatePropertyLeafValue);
105         }
106
107         @Test
108         public void testNodeTemplateFlatPropertyByNullProperty() throws SdcToscaParserException {
109                 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
110                 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), null);
111                 assertNull(nodeTemplatePropertyLeafValue);
112         }
113
114         @Test
115         public void testNodeTemplateFlatPropertyByNullNodeTemplate() throws SdcToscaParserException {
116                 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(null, "availability_zone_max_count");
117                 assertNull(nodeTemplatePropertyLeafValue);
118         }
119         //endregion
120
121         //region getServiceVlList
122         @Test
123         public void testServiceVl() {
124                 List<NodeTemplate> vlList = fdntCsarHelper.getServiceVlList();
125                 assertEquals(1, vlList.size());
126                 assertEquals("exVL", vlList.get(0).getName());
127         }
128
129         @Test
130         public void testNumberOfVLRainyFlow() throws SdcToscaParserException {
131                 List<NodeTemplate> serviceVlList = rainyCsarHelperMultiVfs.getServiceVlList();
132                 assertNotNull(serviceVlList);
133                 assertEquals(0, serviceVlList.size());
134         }
135         //endregion
136
137         //region getServiceNodeTemplatesByType
138         @Test
139         public void testServiceNodeTemplatesByType() throws SdcToscaParserException {
140                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplatesByType("org.openecomp.resource.vf.Fdnt");
141                 assertNotNull(serviceVfList);
142                 assertEquals(1, serviceVfList.size());
143         }
144
145         @Test
146         public void testServiceNodeTemplatesByNull() {
147                 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getServiceNodeTemplatesByType(null);
148                 assertNotNull(nodeTemplates);
149                 assertEquals(0, nodeTemplates.size());
150         }
151
152         @Test
153         public void testServiceNodeTemplatesByNotFoundProperty() {
154                 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getServiceNodeTemplatesByType("XXX");
155                 assertNotNull(nodeTemplates);
156                 assertEquals(0, nodeTemplates.size());
157         }
158         //endregion
159
160         //region getTypeOfNodeTemplate
161         @Test
162         public void testGetTypeOfNodeTemplate() {
163                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
164                 String typeOfNodeTemplate = fdntCsarHelper.getTypeOfNodeTemplate(serviceVfList.get(0));
165                 assertEquals("org.openecomp.resource.vf.Fdnt", typeOfNodeTemplate);
166         }
167
168         @Test
169         public void testGetTypeOfNullNodeTemplate() {
170                 String typeOfNodeTemplate = rainyCsarHelperMultiVfs.getTypeOfNodeTemplate(null);
171                 assertNull(typeOfNodeTemplate);
172         }
173         //endregion
174
175         //region getAllottedResources
176         @Test
177         public void testGetAllottedResources() {
178                 List<NodeTemplate> allottedResources = fdntCsarHelper.getAllottedResources();
179                 assertEquals(1, allottedResources.size());
180         }
181
182         @Test
183         public void testGetAllottedResourcesZero() {
184                 List<NodeTemplate> allottedResources = rainyCsarHelperMultiVfs.getAllottedResources();
185                 assertNotNull(allottedResources);
186                 assertEquals(0, allottedResources.size());
187         }
188         //endregion
189
190         //region getVfcListByVf
191         @Test
192         public void testGetVfcFromVf() {
193                 List<NodeTemplate> vfcListByVf = fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID);
194                 assertEquals(2, vfcListByVf.size());
195         }
196
197         @Test
198         public void testVfcListByNull() {
199                 List<NodeTemplate> vfcList = rainyCsarHelperMultiVfs.getVfcListByVf(null);
200                 assertNotNull(vfcList);
201                 assertEquals(0, vfcList.size());
202         }
203
204         @Test
205         public void testVfcListByNotFoundProperty() {
206                 List<NodeTemplate> vfcList = rainyCsarHelperMultiVfs.getVfcListByVf("XXX");
207                 assertNotNull(vfcList);
208                 assertEquals(0, vfcList.size());
209         }
210         //endregion
211
212         //region getCpListByVf
213         @Test
214         public void testGetCpFromVf() {
215                 List<NodeTemplate> cpListByVf = fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID);
216                 assertEquals(1, cpListByVf.size());
217                 NodeTemplate nodeTemplate = cpListByVf.get(0);
218                 assertEquals("DNT_PORT", nodeTemplate.getName());
219         }
220
221         @Test
222         public void testGetCpFromVfByNullId() {
223                 List<NodeTemplate> cpListByVf = rainyCsarHelperMultiVfs.getCpListByVf(null);
224                 assertNotNull(cpListByVf);
225                 assertEquals(0, cpListByVf.size());
226         }
227
228         @Test
229         public void testGetCpFromVfXxx() {
230                 List<NodeTemplate> cpListByVf = rainyCsarHelperMultiVfs.getCpListByVf("XXXXX");
231                 assertNotNull(cpListByVf);
232                 assertEquals(0, cpListByVf.size());
233         }
234         //endregion
235
236         //region getNodeTemplatePairsByReqName
237         @Test
238         public void testGetNodeTemplatePairsByReqName() {
239                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
240                 assertNotNull(nodeTemplatePairsByReqName);
241                 assertEquals(1, nodeTemplatePairsByReqName.size());
242                 Pair<NodeTemplate, NodeTemplate> pair = nodeTemplatePairsByReqName.get(0);
243                 NodeTemplate cp = pair.getLeft();
244                 NodeTemplate vfc = pair.getRight();
245                 assertEquals("DNT_PORT", cp.getName());
246                 assertEquals("DNT_FW_RHRG", vfc.getName());
247         }
248
249         @Test
250         public void testGetNodeTemplatePairsByReqNameWithNullVF() {
251                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
252                                 null, fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
253                 assertNotNull(nodeTemplatePairsByReqName);
254                 assertEquals(0, nodeTemplatePairsByReqName.size());
255         }
256
257         @Test
258         public void testGetNodeTemplatePairsByReqNameWithEmptyVF() {
259                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
260                                 new ArrayList<>(), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
261                 assertNotNull(nodeTemplatePairsByReqName);
262                 assertEquals(0, nodeTemplatePairsByReqName.size());
263         }
264
265         @Test
266         public void testGetNodeTemplatePairsByReqNameWithNullCap() {
267                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
268                                 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), null, "binding");
269                 assertNotNull(nodeTemplatePairsByReqName);
270                 assertEquals(0, nodeTemplatePairsByReqName.size());
271         }
272
273         @Test
274         public void testGetNodeTemplatePairsByReqNameWithEmptyCap() {
275                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
276                                 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), new ArrayList<>(), "binding");
277                 assertNotNull(nodeTemplatePairsByReqName);
278                 assertEquals(0, nodeTemplatePairsByReqName.size());
279         }
280
281         @Test
282         public void testGetNodeTemplatePairsByReqNameWithNullReq() {
283                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
284                                 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), null);
285                 assertNotNull(nodeTemplatePairsByReqName);
286                 assertEquals(0, nodeTemplatePairsByReqName.size());
287         }
288
289         @Test
290         public void testGetNodeTemplatePairsByReqNameWithDummyReq() {
291
292                 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
293                                 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "XXX");
294                 assertNotNull(nodeTemplatePairsByReqName);
295                 assertEquals(0, nodeTemplatePairsByReqName.size());
296         }
297         //endregion
298
299         //region getMembersOfVfModule
300         @Test
301         public void testGetMembersOfVfModule() {
302                 NodeTemplate vf = fdntCsarHelper.getServiceVfList().get(0);
303                 List<Group> vfModulesByVf = fdntCsarHelper.getVfModulesByVf(VF_CUSTOMIZATION_UUID);
304                 assertEquals(2, vfModulesByVf.size());
305                 for (Group group : vfModulesByVf) {
306                         List<NodeTemplate> membersOfVfModule = fdntCsarHelper.getMembersOfVfModule(vf, group);
307                         assertNotNull(membersOfVfModule);
308                         if (group.getName().equals("fdnt1..Fdnt..base_stsi_dnt_frwl..module-0")) {
309                                 assertEquals(1, membersOfVfModule.size());
310                                 NodeTemplate nodeTemplate = membersOfVfModule.get(0);
311                                 assertEquals("DNT_FW_RSG_SI_1", nodeTemplate.getName());
312                         } else {
313                                 assertEquals("fdnt1..Fdnt..mod_vmsi_dnt_fw_parent..module-1", group.getName());
314                                 assertEquals(1, membersOfVfModule.size());
315                                 NodeTemplate nodeTemplate = membersOfVfModule.get(0);
316                                 assertEquals("DNT_FW_RHRG", nodeTemplate.getName());
317                         }
318                 }
319         }
320
321         @Test
322         public void testMembersOfVfModuleByNullVf() {
323                 List<Group> vfModulesByVf = fdntCsarHelper.getVfModulesByVf(VF_CUSTOMIZATION_UUID);
324                 List<NodeTemplate> nodeTemplates = fdntCsarHelper.getMembersOfVfModule(null, vfModulesByVf.get(0));
325                 assertNotNull(nodeTemplates);
326                 assertEquals(0, nodeTemplates.size());
327         }
328
329         @Test
330         public void testMembersOfVfModuleByNullGroup() {
331                 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
332                 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getMembersOfVfModule(serviceVfList.get(0), null);
333                 assertNotNull(nodeTemplates);
334                 assertEquals(0, nodeTemplates.size());
335         }
336         //endregion
337
338         //region getCpPropertiesFromVfc
339         @Test
340         public void testGetCpPropertiesFromVfc() {
341                 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
342                 boolean isChecked = false;
343
344                 for (NodeTemplate vfc: vfcs) {
345
346                         if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
347                         {
348                                 isChecked = true;
349                                 Map<String, Map<String, Object>> cps = ipAssignCsarHelper.getCpPropertiesFromVfcAsObject(vfc);
350
351                                 assertEquals(2,cps.size());
352                                 Map<String, Object> pd01 = cps.get("port_pd01_port"); 
353                                 assertEquals(5, pd01.size());
354                                 
355                                 Map<String, Object> firstIpRequirements = (Map<String, Object>) ((List<Object>)pd01.get("ip_requirements")).get(0);
356                                 Map<String, Object> secondIpRequirements = (Map<String, Object>) ((List<Object>)pd01.get("ip_requirements")).get(1);
357                                 
358                                 assertEquals("subnet_role_4", firstIpRequirements.get("subnet_role"));
359                                 assertEquals(4, firstIpRequirements.get("ip_version"));
360                                 assertEquals(true, ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("is_required"));
361                                 assertEquals("get_input:node_count", ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("count").toString());
362                                 assertEquals(false, ((Map<String, Object>)((Map<String, Object>)pd01.get("mac_requirements")).get("mac_count_required")).get("is_required"));
363                                 assertEquals("test_subnetpoolid", pd01.get("subnetpoolid"));
364                                 assertEquals("oam", pd01.get("network_role_tag"));
365                                 assertEquals(6, secondIpRequirements.get("ip_version"));
366                         }                       
367
368                 }
369                 assertTrue(isChecked);
370         }
371
372         @Test
373         public void testGetCpPropertiesFromVfcForNullVFC() {
374                 Map<String, Map<String, Object>> cps = ipAssignCsarHelper.getCpPropertiesFromVfcAsObject(null);
375                 assertNotNull(cps);
376                 assertEquals(0, cps.size());
377         }
378         //endregion
379
380         //region getNodeTemplatePropertyAsObject
381         @Test
382         public void testGetNodeTemplatePropertyAsObject() {
383                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
384                 assertEquals("2", fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "availability_zone_max_count"));
385                 assertEquals(3, fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "max_instances"));
386                 assertEquals("some code", fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "nf_naming_code"));
387         }
388         //endregion
389
390         //region getServiceNodeTemplates
391         @Test
392         public void testServiceNodeTemplates() throws SdcToscaParserException {
393                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplates();
394                 assertNotNull(serviceVfList);
395                 assertEquals(3, serviceVfList.size());
396                 assertEquals(serviceVfList.get(2).getName(), "exVL");
397         }
398         //endregion
399
400     //region filterNodeTemplatePropertiesByValue
401     @Test
402     public void testFilterNodeTemplatePropertiesByContains() {
403         List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
404         boolean isChecked = false;
405         for (NodeTemplate vfc: vfcs) {
406             if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
407             {
408                 isChecked = true;
409                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.CONTAINS, "get_input");
410
411                 assertEquals(7, filteredInputs.size());
412                 assertEquals("get_input:availabilityzone_name", filteredInputs.get("compute_pd_server_availability_zone"));
413                                 assertEquals("get_input:[pd_server_names, 0]", filteredInputs.get("compute_pd_server_name"));
414                                 assertEquals("get_input:node_count", filteredInputs.get("port_pd01_port_ip_requirements#ip_count_required#count"));
415
416                 break;
417             }
418
419         }
420         assertTrue(isChecked);
421     }
422
423     @Test
424     public void testFilterNodeTemplatePropertiesByDummyContains() {
425         List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
426         Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.CONTAINS, "dummy");
427         assertNotNull(filteredInputs);
428         assertEquals(0, filteredInputs.size());
429     }
430
431     @Test
432     public void testFilterNodeTemplatePropertiesByEquals() {
433         List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
434         boolean isChecked = false;
435         for (NodeTemplate vfc: vfcs) {
436             if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
437             {
438                 isChecked = true;
439                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.EQUALS, "oam");
440
441                 assertEquals(2, filteredInputs.size());
442                 assertEquals("oam", filteredInputs.get("port_pd02_port_network_role_tag"));
443                 assertEquals("oam", filteredInputs.get("port_pd01_port_network_role_tag"));
444                 break;
445             }
446
447         }
448         assertTrue(isChecked);
449     }
450
451         @Test
452         public void testFilterNodeTemplatePropertiesByDummyEquals() {
453                 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
454                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, "dummy");
455                 assertNotNull(filteredInputs);
456                 assertEquals(0, filteredInputs.size());
457         }
458
459         @Test
460         public void testFilterNodeTemplatePropertiesByNullFilterType() {
461                 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
462                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), null, "ddc");
463                 assertNotNull(filteredInputs);
464                 assertEquals(0, filteredInputs.size());
465         }
466
467         @Test
468         public void testFilterNodeTemplatePropertiesByNullPattern() {
469                 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
470                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, null);
471                 assertNotNull(filteredInputs);
472                 assertEquals(0, filteredInputs.size());
473         }
474
475         @Test
476         public void testFilterNodeTemplatePropertiesByNullVfc() {
477                 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(null, FilterType.EQUALS, "ddc");
478                 assertNotNull(filteredInputs);
479                 assertEquals(0, filteredInputs.size());
480         }
481         //endregion
482     
483         //region getServiceNodeTemplateBySdcType
484         @Test
485         public void testServiceNodeTemplateBySdcType() {
486                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplateBySdcType(SdcTypes.VF);
487                 assertNotNull(serviceVfList);
488                 assertEquals(serviceVfList.size(), 2);
489                 assertEquals(serviceVfList.get(0).getName(), "FDNT 1");
490         }
491
492         @Test
493         public void testServiceNodeTemplateBySdcTypeServiceProxy() {
494                 List<NodeTemplate> serviceProxies = portMirroring.getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY);
495                 assertNotNull(serviceProxies);
496                 assertEquals(serviceProxies.size(), 2);
497         }
498
499         @Test
500         public void testServiceNodeTemplateByNullSdcType() {
501                 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplateBySdcType(null);
502                 assertNotNull(serviceVfList);
503                 assertEquals(serviceVfList.size(), 0);
504         }
505         //endregion
506
507         //region getNodeTemplateBySdcType
508         @Test
509         public void testNodeTemplateBySdcType() {
510                 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
511                 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(vfList.get(0), SdcTypes.VFC);
512                 assertNotNull(vfcList);
513                 assertEquals(2, vfcList.size());
514                 assertEquals("DNT_FW_RSG_SI_1", vfcList.get(0).getName());
515         }
516
517         @Test
518         public void testNodeTemplateByNullSdcType() {
519                 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
520                 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(vfList.get(0), null);
521                 assertNotNull(vfcList);
522                 assertEquals(0, vfcList.size());
523         }
524
525         @Test
526         public void testNodeTemplateBySdcTypeNullNT() {
527                 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(null, SdcTypes.VFC);
528                 assertNotNull(vfcList);
529                 assertEquals(0, vfcList.size());
530         }
531         //endregion
532            
533         //region getVnfConfig
534     @Test
535     public void testGetVnfConfig() {
536         NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
537         assertNotNull(vnfConfig);
538         assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
539     }
540     
541     @Test
542     public void testGetVnfConfigByNonFoundVNF() {
543         NodeTemplate vnfConfig = ipAssignCsarHelper.getVnfConfig("b5190df2-7880-4d6f-836f-56ab17e1b85b");
544         assertNull(vnfConfig);
545     }
546     
547     @Test
548     public void testGetVnfConfigByDummyUUID() {
549         NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("XXX");
550         assertNull(vnfConfig);
551     }
552     
553     @Test
554     public void testGetVnfConfigByNullUUID() {
555         NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig(null);
556         assertNull(vnfConfig);
557     }
558     
559     @Test
560     public void testGetVfcTypWithoutVnf() {
561         List<NodeTemplate> vfcList = nfodCsarHlper.getVfcListByVf("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
562         assertNotNull(vfcList);
563         assertEquals(2, vfcList.size());
564     }
565     //endregion
566
567         //region nested vfc
568         @Test
569         public void testNestedVfcByExistCvfc() {
570                 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("71389f8b-8671-4a43-a991-59fb621d3615");
571                 assertNotNull(vfcList);
572                 assertEquals(vfcList.size(), 2);
573                 assertEquals("VFC1 DUMMY", vfcList.get(0).getName());
574                 assertEquals("VF_VNF", vfcList.get(1).getName());
575         }
576
577         @Test
578         public void testNestedVfcByNullVf() {
579                 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf(null);
580                 assertNotNull(vfcList);
581                 assertEquals(0, vfcList.size());
582         }
583
584         @Test
585         public void testNestedVfcByDummyVf() {
586                 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("dummy");
587                 assertNotNull(vfcList);
588                 assertEquals(0, vfcList.size());
589         }
590         //endregion
591
592         //region hasTopology
593         @Test
594         public void testHasTopologyByVF() {
595                 List<NodeTemplate> vfList = nestedVfcCsarHlper.getServiceVfList();
596                 boolean hasTopology = nestedVfcCsarHlper.hasTopology(vfList.get(0));
597                 assertEquals(true, hasTopology);
598         }
599
600         @Test
601         public void testHasTopologyByCVFC() {
602                 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("71389f8b-8671-4a43-a991-59fb621d3615");
603                 boolean hasTopology = nestedVfcCsarHlper.hasTopology(vfcList.get(1));
604                 assertEquals(true, hasTopology);
605         }
606
607         @Test
608         public void testHasTopologyByVL() {
609                 List<NodeTemplate> serviceVlList = fdntCsarHelper.getServiceVlList();
610                 boolean hasTopology = fdntCsarHelper.hasTopology(serviceVlList.get(0));
611                 assertEquals(false, hasTopology);
612         }
613
614         @Test
615         public void testHasTopologyByNull() {
616                 boolean hasTopology = fdntCsarHelper.hasTopology(null);
617                 assertEquals(false, hasTopology);
618         }
619         //endregion
620
621         //region getNodeTemplateChildren
622         @Test
623         public void testGetNodeTemplatesListOfNodeTemplateByVF() {
624                 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
625                 List<NodeTemplate> children = fdntCsarHelper.getNodeTemplateChildren(vfList.get(0));
626                 assertNotNull(children);
627                 assertEquals(3, children.size());
628
629                 children.sort(Comparator.comparing(NodeTemplate::getName));
630
631                 assertEquals("DNT_FW_RSG_SI_1", children.get(1).getName());
632                 assertEquals("VFC", children.get(1).getMetaData().getValue("type"));
633                 assertEquals("DNT_PORT", children.get(2).getName());
634                 assertEquals("CP", children.get(2).getMetaData().getValue("type"));
635         }
636
637         @Test
638         public void testGetNodeTemplatesListOfNodeTemplateByVFC() {
639                 List<NodeTemplate> vfList = nestedVfcCsarHlper.getServiceVfList();
640                 List<NodeTemplate> vfChildren = nestedVfcCsarHlper.getNodeTemplateChildren(vfList.get(0));
641                 assertNotNull(vfChildren);
642                 assertEquals(vfChildren.size(), 2);
643                 vfChildren.sort(Comparator.comparing(NodeTemplate::getName));
644                 assertEquals("VFC1 DUMMY", vfChildren.get(0).getName());
645                 assertEquals("VF_VNF", vfChildren.get(1).getName());
646                 assertEquals("CVFC", vfChildren.get(1).getMetaData().getValue("type"));
647
648
649                 List<NodeTemplate> vfcChildren = nestedVfcCsarHlper.getNodeTemplateChildren(vfChildren.get(1));
650                 assertNotNull(vfcChildren);
651                 assertEquals(vfcChildren.size(), 3);
652                 vfcChildren.sort(Comparator.comparing(NodeTemplate::getName));
653                 assertEquals("Test NIC 02_wan_port", vfcChildren.get(0).getName());
654                 assertEquals("Test NIC_wan_port", vfcChildren.get(1).getName());
655                 assertEquals("VF", vfcChildren.get(2).getName());
656         }
657
658         @Test
659         public void testGetNodeTemplatesListOfNodeTemplateByNull() {
660                 List<NodeTemplate> children = fdntCsarHelper.getNodeTemplateChildren(null);
661                 assertNotNull(children);
662                 assertEquals(0, children.size());
663         }
664         //endregion
665
666     // added by QA
667     // Get specific VNF properties
668     @Test
669     public void testGetVnfConfigGetProperties() {
670         NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
671         assertNotNull(vnfConfig);
672         assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
673
674         String manufacturer_reference_number = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_12345_for_FortiGate-VM00#vendor_info#manufacturer_reference_number");
675         String num_cpus = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_67890_for_FortiGate-VM01#compute_flavor#num_cpus");
676         String sp_part_number = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_67890_for_FortiGate-VM01#sp_part_number");
677
678         assertEquals("FortiGate-VM00",manufacturer_reference_number);
679         assertEquals("10",num_cpus);
680         assertEquals("ATT_part_67890_for_FortiGate-VM01",sp_part_number);
681     }
682
683     // added by QA
684     // Check that get vnfconfiguration not return as VFC
685     @Test
686     public void testGetVfcTypWithoutVnfCheckNames() {
687         List<NodeTemplate> vfcList = nfodCsarHlper.getVfcListByVf("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
688         assertNotNull(vfcList);
689         assertEquals(2, vfcList.size());
690         for (int i = 0; i < vfcList.size(); i++) {
691
692                 String Name= vfcList.get(i).getName();
693
694                 assertEquals(false, Name.equals("vFW_VNF_Configuration"));
695
696                 }
697     }
698
699     @Test
700     public void testNewGetVnfConfigGetProperties() {
701         NodeTemplate vnfConfig = nfodNEWCsarHlper.getVnfConfig("a6587663-b27f-4e88-8a86-604604302ce6");
702         assertNotNull(vnfConfig);
703         assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
704
705         //Deployment flavor 1
706         String manufacturer_reference_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#vendor_info#manufacturer_reference_number");
707         String num_cpus = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#compute_flavor#num_cpus");
708         String sp_part_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#sp_part_number");
709
710         assertEquals("234567",manufacturer_reference_number);
711         assertEquals("2",num_cpus);
712         assertEquals("123456",sp_part_number);
713
714         //Deployment flavor 2
715         manufacturer_reference_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#vendor_info#manufacturer_reference_number");
716         num_cpus = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#compute_flavor#num_cpus");
717         sp_part_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#sp_part_number");
718
719         assertEquals("EP_manufacturerReferenceNumberkbAiqZZNzx1",manufacturer_reference_number);
720         assertEquals("1",num_cpus);
721         assertEquals("FG_partNumbereJqQjUkteF1",sp_part_number);
722     }
723
724     // added by QA
725     // Check that get vnfconfiguration not return as VFC
726     @Test
727     public void testNewGetVfcTypWithoutVnfCheckNames() {
728         List<NodeTemplate> vfcList = nfodNEWCsarHlper.getVfcListByVf("a6587663-b27f-4e88-8a86-604604302ce6");
729         assertNotNull(vfcList);
730         assertEquals(1, vfcList.size());
731         for (int i = 0; i < vfcList.size(); i++) {
732
733                 String Name= vfcList.get(i).getName();
734
735                 assertEquals(false, Name.equals("name_6GkVrOjnGp1_VNF_Configuration"));
736                 }
737     }
738
739     //region getServiceNodeTemplateByNodeName
740         @Test
741         public void testGetServiceNodeTemplateByRealNodeName() {
742                 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
743                 assertNotNull(nodeTemplate);
744                 assertEquals(nodeTemplate.getName(), "FDNT 1");
745                 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VF");
746         }
747
748         @Test
749         public void testGetServiceNodeTemplateByNullNodeName() {
750                 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName(null);
751                 assertNull(nodeTemplate);
752         }
753
754         @Test
755         public void testGetServiceNodeTemplateByDummyNodeName() {
756                 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName("dummy");
757                 assertNull(nodeTemplate);
758         }       
759         
760
761
762         //endregion
763         //region resolve get_input
764         @Test
765         public void testResolveGetInputForComplexTypeAndList() {
766                 //port_pd01_port_ip_requirements is of type list<org.openecomp.datatypes.network.IpRequirements>
767                 //This test covers:
768                 // 1) "default" resolving
769                 // 2) complex type resolving
770                 // 3) List access resolving
771                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
772                 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
773                 assertTrue(propertyAsObject instanceof ArrayList);
774                 assertEquals(2, ((ArrayList) propertyAsObject).size());
775                 //port_pd01_port_ip_requirements:
776                 //- get_input: [ip_requirements, 0]
777                 //- get_input: [ip_requirements, 1]
778                 assertEquals("subnet_role_4", ((Map) ((ArrayList) propertyAsObject).get(0)).get("subnet_role"));
779                 assertEquals("subnet_role_6", ((Map) ((ArrayList) propertyAsObject).get(1)).get("subnet_role"));
780         }
781
782         @Test
783         public void testResolveGetInputForPrimitiveTypeString() {
784                 //This test covers "default" resolving of primitive - as Object
785                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
786                 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_network_role_tag");
787                 assertEquals("oam", propertyAsObject);
788         }
789
790         @Test
791         public void testResolveGetInputForPrimitiveTypeInteger() {
792                 //This test covers "default" resolving of primitive - as String
793                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
794                 String propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyLeafValue(vfcs.get(0), "port_pd01_port_order");
795                 assertEquals("1", propertyAsObject);
796         }
797
798         @Test
799         public void testResolveGetInputForMap() {
800                 //This test covers "default" resolving of primitive - as Map
801                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
802                 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd02_port_ip_requirements#ip_count_required");
803                 assertTrue(propertyAsObject instanceof Map);
804                 assertEquals(false, ((Map)propertyAsObject).get("is_required"));
805         }
806
807         @Test
808         public void testResolveGetInputForAllHierarchy() {
809                 //This test covers "default" resolving from service level
810                 List<NodeTemplate> vfs = resolveGetInputCsar.getServiceVfList();
811                 Object vfPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfs.get(0), "vm_count");
812                 assertEquals(2, vfPropertyAsObject);
813                 //This test covers property assignment resolving on VFI level (service template), from Vf level
814                 List<NodeTemplate> vfcs = resolveGetInputCsar.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.VFC);
815                 Object vfcPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "my_count");
816                 assertEquals(2, vfcPropertyAsObject); //takes it from upper level (VF) property
817         }
818
819         @Test
820         public void testResolveGetInputNoDefValueInnerLevel() {
821                 //This test covers resolving when no "default" value is supplied to the input - should be null - VF/VFCI level
822                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
823                 String propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyLeafValue(vfcs.get(0), "index_value");
824                 assertNull(propertyAsObject);
825
826         }
827
828         @Test
829         public void testResolveGetInputNoDefValueServiceLevel() {
830                 //This test covers resolving when no "default" value is supplied to the input - should be null - Service/VFI level
831                 List<NodeTemplate> vfs = resolveGetInputCsar.getServiceVfList();
832                 Object vfPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfs.get(0), "port_order");
833                 assertNull(vfPropertyAsObject);
834
835         }
836         //endregion
837
838         // region Added by QA - Continue with testings of resolve get_input
839         
840         @Test
841         public void testResolveGetInputForComplexTypeAndListWithFalseValue() 
842         {
843                 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
844                 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
845                 assertTrue(propertyAsObject instanceof ArrayList);
846                 assertEquals(2, ((ArrayList) propertyAsObject).size());
847                 assertEquals("get_input:[ip_requirements, 0]", ((ArrayList) propertyAsObject).get(0).toString());
848                 assertEquals("get_input:[ip_requirements, 1]", ((ArrayList) propertyAsObject).get(1).toString());
849         }
850         
851         @Test
852         public void testResolveGetInputForPrimitiveTypeStringWithFalseValue() {
853                 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
854                 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_network_role_tag");
855                 assertEquals("get_input:role_tag_oam", propertyAsObject.toString());
856         }
857         
858         @Test
859         public void testResolveGetInputForPrimitiveTypeListWithFalseValue() {
860                 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
861                 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
862                 assertEquals("[get_input:[pd_server_names, 0]]", propertyAsObject.toString());
863         }
864         
865         //@Test // Maybe a bug here.... need to check with Esti - Mait was sent. 
866         public void testResolveGetInputForPrimitiveTypeList() {
867                 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
868                 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
869                 assertEquals("\"ZRDM1MOGX01MPD001\"", propertyAsObject.toString());                             
870         }
871         
872         @Test
873         public void testResolveGetInputForPrimitiveNullValue() {
874                 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
875                 @SuppressWarnings("unchecked")
876                 List<String>propertyAsObject = (List<String>) resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_availability_zone");
877                 assertNull(propertyAsObject.get(0));
878                 }
879         @Test
880         public void testResolveGetInputForPrimitiveIPValue() {
881                 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
882                 Object propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "vm_image_name");
883                 assertEquals("107.239.36.5", propertyAsObject.toString());
884         }
885         
886         //QA region getServiceNodeTemplateByNodeName tests
887         
888         @Test
889         public void getServiceNodeTemplateByNodeNameTypeVF() {
890                 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("VF_1_V_port_1 0");
891                 assertNotNull(nodeTemplate);
892                 assertEquals(nodeTemplate.getName(), "VF_1_V_port_1 0");
893                 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VF");
894         }
895         
896         @Test
897         public void getServiceNodeTemplateByNodeNameTypeVL() {
898                 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtVL 0");
899                 assertNotNull(nodeTemplate);
900                 assertEquals(nodeTemplate.getName(), "ExtVL 0");
901                 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VL");
902         }
903         
904         @Test
905         public void getServiceNodeTemplateByNodeNameTypeCP() {
906                 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtCP 0");
907                 assertNotNull(nodeTemplate);
908                 assertEquals(nodeTemplate.getName(), "ExtCP 0");
909                 assertEquals(nodeTemplate.getMetaData().getValue("type"), "CP");
910         }
911         
912         @Test
913         public void getServiceNodeTemplateByNodeNameTypePNF() {
914                 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("PNF TEST 0");
915                 assertNotNull(nodeTemplate);
916                 assertEquals(nodeTemplate.getName(), "PNF TEST 0");
917                 assertEquals(nodeTemplate.getMetaData().getValue("type"), "PNF");
918         }
919         
920         //QA region  getServiceNodeTemplateBySdcType tests 
921         
922         @Test
923         public void getServiceNodeTemplateBySdcType_VF() {
924                 List<NodeTemplate> vfList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("org.openecomp.resource.vf.Vf1VPort1");
925                 assertEquals(2, vfList.size());
926                 assertEquals("VF_1_V_port_1", vfList.get(0).getMetaData().getValue("name"));
927         }
928         // endregion Added by QA - Continue with testings of resolve get_input
929
930
931         @Test
932         public void testResolveGetInputArrayStructure() {
933                 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
934                 Object propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
935                 assertEquals( ((ArrayList)propertyAsObject).get(0).toString(), "\"ZRDM1MOGX01MPD001\"");
936                 propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
937                 assertEquals( ((ArrayList)propertyAsObject).get(1), null);
938         }
939
940         @Test
941         public void testServiceNodeTemplateByCRType() {
942                 List<NodeTemplate> serviceCRList = csarHelperServiceWithCrs.getServiceNodeTemplateBySdcType(SdcTypes.CR);
943                 assertNotNull(serviceCRList);
944                 assertEquals(serviceCRList.size(), 2);
945                 assertEquals(serviceCRList.get(0).getName(), "chaya best cr 1");
946                 assertEquals(serviceCRList.get(0).getType(), "org.openecomp.resource.cr.ChayaBestCr");
947                 assertEquals(serviceCRList.get(1).getName(), "chaya best cr 0");
948                 assertEquals(serviceCRList.get(1).getType(), "org.openecomp.resource.cr.ChayaBestCr");
949         }
950
951         @Test
952         public void testGetCPOfCRNodeTemplate() {
953                 NodeTemplate nodeTemplate = csarHelperServiceWithCrs.getServiceNodeTemplateByNodeName("chaya best cr 0");
954                 List<NodeTemplate> crCpChildren = csarHelperServiceWithCrs.getNodeTemplateBySdcType(nodeTemplate, SdcTypes.CP);
955                 assertEquals(crCpChildren.get(0).getName(), "ContrailPort 0");
956                 assertEquals(crCpChildren.get(0).getMetaData().getValue("type"), SdcTypes.CP.name());
957         }
958
959         @Test
960         public void testServiceCRInstanceProps() {
961                 List<NodeTemplate> serviceCrList = csarHelperServiceWithCrs.getServiceNodeTemplateBySdcType(SdcTypes.CR);
962                 assertNotNull(serviceCrList);
963                 NodeTemplate crTemplate = serviceCrList.get(0);
964                 assertNotNull(crTemplate);
965                 assertEquals(crTemplate.getPropertyValue("nf_naming").toString(), ImmutableMap.of("ecomp_generated_naming", "true").toString());
966                 assertEquals(crTemplate.getPropertyValue("contrailport0_virtual_network"), "chaya");
967         }
968
969
970 }
971
972