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