1 package org.onap.sdc.impl;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertFalse;
5 import static org.testng.Assert.assertNotNull;
6 import static org.testng.Assert.assertNull;
7 import static org.testng.Assert.assertTrue;
9 import java.util.stream.Collectors;
11 import com.google.common.collect.ImmutableMap;
12 import org.apache.commons.lang3.tuple.Pair;
13 import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
14 import org.onap.sdc.tosca.parser.impl.FilterType;
15 import org.onap.sdc.tosca.parser.impl.SdcTypes;
16 import org.onap.sdc.toscaparser.api.CapabilityAssignment;
17 import org.onap.sdc.toscaparser.api.CapabilityAssignments;
18 import org.onap.sdc.toscaparser.api.Group;
19 import org.onap.sdc.toscaparser.api.NodeTemplate;
20 import org.onap.sdc.toscaparser.api.Policy;
21 import org.onap.sdc.toscaparser.api.Property;
22 import org.onap.sdc.toscaparser.api.parameters.Annotation;
23 import org.onap.sdc.toscaparser.api.parameters.Input;
24 import org.testng.annotations.Test;
26 public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
28 //region getServiceVfList
30 public void testNumberOfVfSunnyFlow() throws SdcToscaParserException {
31 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
32 assertNotNull(serviceVfList);
33 assertEquals(2, serviceVfList.size());
37 public void testGetNodeTemplateCustomizationUuid(){
38 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
39 boolean found = false;
40 for (NodeTemplate nt : serviceVfList){
41 if (nt.getName().equals("FDNT 1")){
43 assertEquals(fdntCsarHelper.getNodeTemplateCustomizationUuid(nt), "56179cd8-de4a-4c38-919b-bbc4452d2d73");
50 public void testSingleVFWithNotMetadata() throws SdcToscaParserException {
51 //If there is no metadata on VF level - There is no VF's because the type is taken from metadata values.
52 List<NodeTemplate> serviceVfList = rainyCsarHelperSingleVf.getServiceVfList();
53 assertNotNull(serviceVfList);
54 assertEquals(0, serviceVfList.size());
58 //region getNodeTemplatePropertyLeafValue
60 public void testNodeTemplateFlatProperty() throws SdcToscaParserException {
61 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
62 assertEquals("2", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "availability_zone_max_count"));
63 assertEquals("3", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "max_instances"));
64 assertEquals("some code", fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "nf_naming_code"));
68 public void testNodeTemplateFlatFunctionProperty() throws SdcToscaParserException {
69 List<NodeTemplate> serviceVfList = fdntCsarHelperWithInputs.getServiceVfList();
70 assertEquals(null, fdntCsarHelperWithInputs.getNodeTemplatePropertyLeafValue(serviceVfList.get(1), "target_network_role"));
74 public void testNodeTemplateNestedFunctionProperty() throws SdcToscaParserException {
75 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
76 assertEquals(null, ipAssignCsarHelper.getNodeTemplatePropertyLeafValue(vfcs.get(0), "port_pd01_port_ip_requirements#ip_count_required#count"));
80 public void testNodeTemplateNestedProperty() throws SdcToscaParserException {
81 List<NodeTemplate> serviceVlList = fdntCsarHelper.getServiceVlList();
82 NodeTemplate nodeTemplate = serviceVlList.get(0);
83 //System.out.println("node template " + nodeTemplate.toString());
84 assertEquals("24", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "network_assignments#ipv4_subnet_default_assignment#cidr_mask"));
85 assertEquals("7a6520b-9982354-ee82992c-105720", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "network_flows#vpn_binding"));
89 public void testNodeTemplateNestedPropertyFromInput() throws SdcToscaParserException {
90 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
91 NodeTemplate nodeTemplate = serviceVfList.get(0);
92 //System.out.println("node template " + nodeTemplate.toString());
93 assertEquals("true", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "nf_naming#ecomp_generated_naming"));
94 assertEquals("FDNT_instance_VF_2", fdntCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, "nf_naming#naming_policy"));
98 public void testNodeTemplateNestedPropertyNotExists() throws SdcToscaParserException {
99 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
100 String nodeTemplatePropertyLeafValue = fdntCsarHelper.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "nf_role#nf_naming#kuku");
101 assertNull(nodeTemplatePropertyLeafValue);
105 public void testNodeTemplateFlatPropertyByNotFoundProperty() throws SdcToscaParserException {
106 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
107 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), "XXXX");
108 assertNull(nodeTemplatePropertyLeafValue);
112 public void testNodeTemplateFlatPropertyByNullProperty() throws SdcToscaParserException {
113 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
114 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(serviceVfList.get(0), null);
115 assertNull(nodeTemplatePropertyLeafValue);
119 public void testNodeTemplateFlatPropertyByNullNodeTemplate() throws SdcToscaParserException {
120 String nodeTemplatePropertyLeafValue = rainyCsarHelperMultiVfs.getNodeTemplatePropertyLeafValue(null, "availability_zone_max_count");
121 assertNull(nodeTemplatePropertyLeafValue);
125 //region getServiceVlList
127 public void testServiceVl() {
128 List<NodeTemplate> vlList = fdntCsarHelper.getServiceVlList();
129 assertEquals(1, vlList.size());
130 assertEquals("exVL", vlList.get(0).getName());
134 public void testNumberOfVLRainyFlow() throws SdcToscaParserException {
135 List<NodeTemplate> serviceVlList = rainyCsarHelperMultiVfs.getServiceVlList();
136 assertNotNull(serviceVlList);
137 assertEquals(0, serviceVlList.size());
141 //region getServiceNodeTemplatesByType
143 public void testServiceNodeTemplatesByType() throws SdcToscaParserException {
144 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplatesByType("org.openecomp.resource.vf.Fdnt");
145 assertNotNull(serviceVfList);
146 assertEquals(1, serviceVfList.size());
150 public void testServiceNodeTemplatesByNull() {
151 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getServiceNodeTemplatesByType(null);
152 assertNotNull(nodeTemplates);
153 assertEquals(0, nodeTemplates.size());
157 public void testServiceNodeTemplatesByNotFoundProperty() {
158 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getServiceNodeTemplatesByType("XXX");
159 assertNotNull(nodeTemplates);
160 assertEquals(0, nodeTemplates.size());
164 //region getTypeOfNodeTemplate
166 public void testGetTypeOfNodeTemplate() {
167 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
168 String typeOfNodeTemplate = fdntCsarHelper.getTypeOfNodeTemplate(serviceVfList.get(0));
169 assertEquals("org.openecomp.resource.vf.Fdnt", typeOfNodeTemplate);
173 public void testGetTypeOfNullNodeTemplate() {
174 String typeOfNodeTemplate = rainyCsarHelperMultiVfs.getTypeOfNodeTemplate(null);
175 assertNull(typeOfNodeTemplate);
179 //region getAllottedResources
181 public void testGetAllottedResources() {
182 List<NodeTemplate> allottedResources = fdntCsarHelper.getAllottedResources();
183 assertEquals(1, allottedResources.size());
187 public void testGetAllottedResourcesZero() {
188 List<NodeTemplate> allottedResources = rainyCsarHelperMultiVfs.getAllottedResources();
189 assertNotNull(allottedResources);
190 assertEquals(0, allottedResources.size());
194 //region getVfcListByVf
196 public void testGetVfcFromVf() {
197 List<NodeTemplate> vfcListByVf = fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID);
198 assertEquals(2, vfcListByVf.size());
202 public void testVfcListByNull() {
203 List<NodeTemplate> vfcList = rainyCsarHelperMultiVfs.getVfcListByVf(null);
204 assertNotNull(vfcList);
205 assertEquals(0, vfcList.size());
209 public void testVfcListByNotFoundProperty() {
210 List<NodeTemplate> vfcList = rainyCsarHelperMultiVfs.getVfcListByVf("XXX");
211 assertNotNull(vfcList);
212 assertEquals(0, vfcList.size());
216 //region getCpListByVf
218 public void testGetCpFromVf() {
219 List<NodeTemplate> cpListByVf = fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID);
220 assertEquals(1, cpListByVf.size());
221 NodeTemplate nodeTemplate = cpListByVf.get(0);
222 assertEquals("DNT_PORT", nodeTemplate.getName());
226 public void testGetCpFromVfByNullId() {
227 List<NodeTemplate> cpListByVf = rainyCsarHelperMultiVfs.getCpListByVf(null);
228 assertNotNull(cpListByVf);
229 assertEquals(0, cpListByVf.size());
233 public void testGetCpFromVfXxx() {
234 List<NodeTemplate> cpListByVf = rainyCsarHelperMultiVfs.getCpListByVf("XXXXX");
235 assertNotNull(cpListByVf);
236 assertEquals(0, cpListByVf.size());
240 //region getNodeTemplatePairsByReqName
242 public void testGetNodeTemplatePairsByReqName() {
243 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
244 assertNotNull(nodeTemplatePairsByReqName);
245 assertEquals(1, nodeTemplatePairsByReqName.size());
246 Pair<NodeTemplate, NodeTemplate> pair = nodeTemplatePairsByReqName.get(0);
247 NodeTemplate cp = pair.getLeft();
248 NodeTemplate vfc = pair.getRight();
249 assertEquals("DNT_PORT", cp.getName());
250 assertEquals("DNT_FW_RHRG", vfc.getName());
254 public void testGetNodeTemplatePairsByReqNameWithNullVF() {
255 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
256 null, fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
257 assertNotNull(nodeTemplatePairsByReqName);
258 assertEquals(0, nodeTemplatePairsByReqName.size());
262 public void testGetNodeTemplatePairsByReqNameWithEmptyVF() {
263 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
264 new ArrayList<>(), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "binding");
265 assertNotNull(nodeTemplatePairsByReqName);
266 assertEquals(0, nodeTemplatePairsByReqName.size());
270 public void testGetNodeTemplatePairsByReqNameWithNullCap() {
271 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
272 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), null, "binding");
273 assertNotNull(nodeTemplatePairsByReqName);
274 assertEquals(0, nodeTemplatePairsByReqName.size());
278 public void testGetNodeTemplatePairsByReqNameWithEmptyCap() {
279 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
280 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), new ArrayList<>(), "binding");
281 assertNotNull(nodeTemplatePairsByReqName);
282 assertEquals(0, nodeTemplatePairsByReqName.size());
286 public void testGetNodeTemplatePairsByReqNameWithNullReq() {
287 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
288 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), null);
289 assertNotNull(nodeTemplatePairsByReqName);
290 assertEquals(0, nodeTemplatePairsByReqName.size());
294 public void testGetNodeTemplatePairsByReqNameWithDummyReq() {
296 List<Pair<NodeTemplate, NodeTemplate>> nodeTemplatePairsByReqName = fdntCsarHelper.getNodeTemplatePairsByReqName(
297 fdntCsarHelper.getCpListByVf(VF_CUSTOMIZATION_UUID), fdntCsarHelper.getVfcListByVf(VF_CUSTOMIZATION_UUID), "XXX");
298 assertNotNull(nodeTemplatePairsByReqName);
299 assertEquals(0, nodeTemplatePairsByReqName.size());
303 //region getMembersOfVfModule
305 public void testGetMembersOfVfModule() {
306 NodeTemplate vf = fdntCsarHelper.getServiceVfList().get(0);
307 List<Group> vfModulesByVf = fdntCsarHelper.getVfModulesByVf(VF_CUSTOMIZATION_UUID);
308 assertEquals(2, vfModulesByVf.size());
309 for (Group group : vfModulesByVf) {
310 List<NodeTemplate> membersOfVfModule = fdntCsarHelper.getMembersOfVfModule(vf, group);
311 assertNotNull(membersOfVfModule);
312 if (group.getName().equals("fdnt1..Fdnt..base_stsi_dnt_frwl..module-0")) {
313 assertEquals(1, membersOfVfModule.size());
314 NodeTemplate nodeTemplate = membersOfVfModule.get(0);
315 assertEquals("DNT_FW_RSG_SI_1", nodeTemplate.getName());
317 assertEquals("fdnt1..Fdnt..mod_vmsi_dnt_fw_parent..module-1", group.getName());
318 assertEquals(1, membersOfVfModule.size());
319 NodeTemplate nodeTemplate = membersOfVfModule.get(0);
320 assertEquals("DNT_FW_RHRG", nodeTemplate.getName());
326 public void testMembersOfVfModuleByNullVf() {
327 List<Group> vfModulesByVf = fdntCsarHelper.getVfModulesByVf(VF_CUSTOMIZATION_UUID);
328 List<NodeTemplate> nodeTemplates = fdntCsarHelper.getMembersOfVfModule(null, vfModulesByVf.get(0));
329 assertNotNull(nodeTemplates);
330 assertEquals(0, nodeTemplates.size());
334 public void testMembersOfVfModuleByNullGroup() {
335 List<NodeTemplate> serviceVfList = rainyCsarHelperMultiVfs.getServiceVfList();
336 List<NodeTemplate> nodeTemplates = rainyCsarHelperMultiVfs.getMembersOfVfModule(serviceVfList.get(0), null);
337 assertNotNull(nodeTemplates);
338 assertEquals(0, nodeTemplates.size());
342 //region getCpPropertiesFromVfc
343 @SuppressWarnings("unchecked")
345 public void testGetCpPropertiesFromVfc() {
346 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
347 boolean isChecked = false;
349 for (NodeTemplate vfc: vfcs) {
351 if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
354 Map<String, Map<String, Object>> cps = ipAssignCsarHelper.getCpPropertiesFromVfcAsObject(vfc);
356 assertEquals(2,cps.size());
357 Map<String, Object> pd01 = cps.get("port_pd01_port");
358 assertEquals(5, pd01.size());
360 Map<String, Object> firstIpRequirements = (Map<String, Object>) ((List<Object>)pd01.get("ip_requirements")).get(0);
361 Map<String, Object> secondIpRequirements = (Map<String, Object>) ((List<Object>)pd01.get("ip_requirements")).get(1);
363 assertEquals("subnet_role_4", firstIpRequirements.get("subnet_role"));
364 assertEquals(4, firstIpRequirements.get("ip_version"));
365 assertEquals(true, ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("is_required"));
366 assertEquals("get_input:node_count", ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("count").toString());
367 assertEquals(false, ((Map<String, Object>)((Map<String, Object>)pd01.get("mac_requirements")).get("mac_count_required")).get("is_required"));
368 assertEquals("test_subnetpoolid", pd01.get("subnetpoolid"));
369 assertEquals("oam", pd01.get("network_role_tag"));
370 assertEquals(6, secondIpRequirements.get("ip_version"));
374 assertTrue(isChecked);
378 public void testGetCpPropertiesFromVfcForNullVFC() {
379 Map<String, Map<String, Object>> cps = ipAssignCsarHelper.getCpPropertiesFromVfcAsObject(null);
381 assertEquals(0, cps.size());
385 //region getNodeTemplatePropertyAsObject
387 public void testGetNodeTemplatePropertyAsObject() {
388 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceVfList();
389 assertEquals("2", fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "availability_zone_max_count"));
390 assertEquals(3, fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "max_instances"));
391 assertEquals("some code", fdntCsarHelper.getNodeTemplatePropertyAsObject(serviceVfList.get(0), "nf_naming_code"));
395 //region getServiceNodeTemplates
397 public void testServiceNodeTemplates() throws SdcToscaParserException {
398 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplates();
399 assertNotNull(serviceVfList);
400 assertEquals(3, serviceVfList.size());
401 assertEquals(serviceVfList.get(2).getName(), "exVL");
405 //region filterNodeTemplatePropertiesByValue
407 public void testFilterNodeTemplatePropertiesByContains() {
408 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
409 boolean isChecked = false;
410 for (NodeTemplate vfc: vfcs) {
411 if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
414 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.CONTAINS, "get_input");
416 assertEquals(7, filteredInputs.size());
417 assertEquals("get_input:availabilityzone_name", filteredInputs.get("compute_pd_server_availability_zone"));
418 assertEquals("get_input:[pd_server_names, 0]", filteredInputs.get("compute_pd_server_name"));
419 assertEquals("get_input:node_count", filteredInputs.get("port_pd01_port_ip_requirements#ip_count_required#count"));
425 assertTrue(isChecked);
429 public void testFilterNodeTemplatePropertiesByDummyContains() {
430 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
431 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.CONTAINS, "dummy");
432 assertNotNull(filteredInputs);
433 assertEquals(0, filteredInputs.size());
437 public void testFilterNodeTemplatePropertiesByEquals() {
438 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
439 boolean isChecked = false;
440 for (NodeTemplate vfc: vfcs) {
441 if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
444 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.EQUALS, "oam");
446 assertEquals(2, filteredInputs.size());
447 assertEquals("oam", filteredInputs.get("port_pd02_port_network_role_tag"));
448 assertEquals("oam", filteredInputs.get("port_pd01_port_network_role_tag"));
453 assertTrue(isChecked);
457 public void testFilterNodeTemplatePropertiesByDummyEquals() {
458 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
459 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, "dummy");
460 assertNotNull(filteredInputs);
461 assertEquals(0, filteredInputs.size());
465 public void testFilterNodeTemplatePropertiesByNullFilterType() {
466 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
467 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), null, "ddc");
468 assertNotNull(filteredInputs);
469 assertEquals(0, filteredInputs.size());
473 public void testFilterNodeTemplatePropertiesByNullPattern() {
474 List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
475 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, null);
476 assertNotNull(filteredInputs);
477 assertEquals(0, filteredInputs.size());
481 public void testFilterNodeTemplatePropertiesByNullVfc() {
482 Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(null, FilterType.EQUALS, "ddc");
483 assertNotNull(filteredInputs);
484 assertEquals(0, filteredInputs.size());
488 //region getServiceNodeTemplateBySdcType
490 public void testServiceNodeTemplateBySdcType() {
491 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplateBySdcType(SdcTypes.VF);
492 assertNotNull(serviceVfList);
493 assertEquals(serviceVfList.size(), 2);
494 assertEquals(serviceVfList.get(0).getName(), "FDNT 1");
498 public void testServiceNodeTemplateBySdcTypeServiceProxy() {
499 List<NodeTemplate> serviceProxies = portMirroring.getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY);
500 assertNotNull(serviceProxies);
501 assertEquals(serviceProxies.size(), 2);
505 public void testServiceNodeTemplateByNullSdcType() {
506 List<NodeTemplate> serviceVfList = fdntCsarHelper.getServiceNodeTemplateBySdcType(null);
507 assertNotNull(serviceVfList);
508 assertEquals(serviceVfList.size(), 0);
512 //region getNodeTemplateBySdcType
514 public void testNodeTemplateBySdcType() {
515 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
516 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(vfList.get(0), SdcTypes.VFC);
517 assertNotNull(vfcList);
518 assertEquals(2, vfcList.size());
519 assertEquals("DNT_FW_RSG_SI_1", vfcList.get(0).getName());
523 public void testNodeTemplateByNullSdcType() {
524 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
525 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(vfList.get(0), null);
526 assertNotNull(vfcList);
527 assertEquals(0, vfcList.size());
531 public void testNodeTemplateBySdcTypeNullNT() {
532 List<NodeTemplate> vfcList = fdntCsarHelper.getNodeTemplateBySdcType(null, SdcTypes.VFC);
533 assertNotNull(vfcList);
534 assertEquals(0, vfcList.size());
538 //region getVnfConfig
540 public void testGetVnfConfig() {
541 NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
542 assertNotNull(vnfConfig);
543 assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
547 public void testGetVnfConfigByNonFoundVNF() {
548 NodeTemplate vnfConfig = ipAssignCsarHelper.getVnfConfig("b5190df2-7880-4d6f-836f-56ab17e1b85b");
549 assertNull(vnfConfig);
553 public void testGetVnfConfigByDummyUUID() {
554 NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("XXX");
555 assertNull(vnfConfig);
559 public void testGetVnfConfigByNullUUID() {
560 NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig(null);
561 assertNull(vnfConfig);
565 public void testGetVfcTypWithoutVnf() {
566 List<NodeTemplate> vfcList = nfodCsarHlper.getVfcListByVf("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
567 assertNotNull(vfcList);
568 assertEquals(2, vfcList.size());
574 public void testNestedVfcByExistCvfc() {
575 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("71389f8b-8671-4a43-a991-59fb621d3615");
576 assertNotNull(vfcList);
577 assertEquals(vfcList.size(), 2);
578 assertEquals("VFC1 DUMMY", vfcList.get(0).getName());
579 assertEquals("VF_VNF", vfcList.get(1).getName());
583 public void testNestedVfcByNullVf() {
584 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf(null);
585 assertNotNull(vfcList);
586 assertEquals(0, vfcList.size());
590 public void testNestedVfcByDummyVf() {
591 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("dummy");
592 assertNotNull(vfcList);
593 assertEquals(0, vfcList.size());
599 public void testHasTopologyByVF() {
600 List<NodeTemplate> vfList = nestedVfcCsarHlper.getServiceVfList();
601 boolean hasTopology = nestedVfcCsarHlper.hasTopology(vfList.get(0));
602 assertEquals(true, hasTopology);
606 public void testHasTopologyByCVFC() {
607 List<NodeTemplate> vfcList = nestedVfcCsarHlper.getVfcListByVf("71389f8b-8671-4a43-a991-59fb621d3615");
608 boolean hasTopology = nestedVfcCsarHlper.hasTopology(vfcList.get(1));
609 assertEquals(true, hasTopology);
613 public void testHasTopologyByVL() {
614 List<NodeTemplate> serviceVlList = fdntCsarHelper.getServiceVlList();
615 boolean hasTopology = fdntCsarHelper.hasTopology(serviceVlList.get(0));
616 assertEquals(false, hasTopology);
620 public void testHasTopologyByNull() {
621 boolean hasTopology = fdntCsarHelper.hasTopology(null);
622 assertEquals(false, hasTopology);
626 //region getNodeTemplateChildren
628 public void testGetNodeTemplatesListOfNodeTemplateByVF() {
629 List<NodeTemplate> vfList = fdntCsarHelper.getServiceVfList();
630 List<NodeTemplate> children = fdntCsarHelper.getNodeTemplateChildren(vfList.get(0));
631 assertNotNull(children);
632 assertEquals(3, children.size());
634 children.sort(Comparator.comparing(NodeTemplate::getName));
636 assertEquals("DNT_FW_RSG_SI_1", children.get(1).getName());
637 assertEquals("VFC", children.get(1).getMetaData().getValue("type"));
638 assertEquals("DNT_PORT", children.get(2).getName());
639 assertEquals("CP", children.get(2).getMetaData().getValue("type"));
643 public void testGetNodeTemplatesListOfNodeTemplateByVFC() {
644 List<NodeTemplate> vfList = nestedVfcCsarHlper.getServiceVfList();
645 List<NodeTemplate> vfChildren = nestedVfcCsarHlper.getNodeTemplateChildren(vfList.get(0));
646 assertNotNull(vfChildren);
647 assertEquals(vfChildren.size(), 2);
648 vfChildren.sort(Comparator.comparing(NodeTemplate::getName));
649 assertEquals("VFC1 DUMMY", vfChildren.get(0).getName());
650 assertEquals("VF_VNF", vfChildren.get(1).getName());
651 assertEquals("CVFC", vfChildren.get(1).getMetaData().getValue("type"));
654 List<NodeTemplate> vfcChildren = nestedVfcCsarHlper.getNodeTemplateChildren(vfChildren.get(1));
655 assertNotNull(vfcChildren);
656 assertEquals(vfcChildren.size(), 3);
657 vfcChildren.sort(Comparator.comparing(NodeTemplate::getName));
658 assertEquals("Test NIC 02_wan_port", vfcChildren.get(0).getName());
659 assertEquals("Test NIC_wan_port", vfcChildren.get(1).getName());
660 assertEquals("VF", vfcChildren.get(2).getName());
664 public void testGetNodeTemplatesListOfNodeTemplateByNull() {
665 List<NodeTemplate> children = fdntCsarHelper.getNodeTemplateChildren(null);
666 assertNotNull(children);
667 assertEquals(0, children.size());
672 // Get specific VNF properties
674 public void testGetVnfConfigGetProperties() {
675 NodeTemplate vnfConfig = nfodCsarHlper.getVnfConfig("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
676 assertNotNull(vnfConfig);
677 assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
679 String manufacturer_reference_number = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_12345_for_FortiGate-VM00#vendor_info#manufacturer_reference_number");
680 String num_cpus = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_67890_for_FortiGate-VM01#compute_flavor#num_cpus");
681 String sp_part_number = nfodCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#ATT_part_67890_for_FortiGate-VM01#sp_part_number");
683 assertEquals("FortiGate-VM00",manufacturer_reference_number);
684 assertEquals("10",num_cpus);
685 assertEquals("ATT_part_67890_for_FortiGate-VM01",sp_part_number);
689 // Check that get vnfconfiguration not return as VFC
691 public void testGetVfcTypWithoutVnfCheckNames() {
692 List<NodeTemplate> vfcList = nfodCsarHlper.getVfcListByVf("9bb2ef82-f8f6-4391-bc71-db063f15bf57");
693 assertNotNull(vfcList);
694 assertEquals(2, vfcList.size());
695 for (int i = 0; i < vfcList.size(); i++) {
697 String Name= vfcList.get(i).getName();
699 assertEquals(false, Name.equals("vFW_VNF_Configuration"));
705 public void testNewGetVnfConfigGetProperties() {
706 NodeTemplate vnfConfig = nfodNEWCsarHlper.getVnfConfig("a6587663-b27f-4e88-8a86-604604302ce6");
707 assertNotNull(vnfConfig);
708 assertEquals("vnfConfiguration", vnfConfig.getMetaData().getValue("name"));
710 //Deployment flavor 1
711 String manufacturer_reference_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#vendor_info#manufacturer_reference_number");
712 String num_cpus = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#compute_flavor#num_cpus");
713 String sp_part_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#123456#sp_part_number");
715 assertEquals("234567",manufacturer_reference_number);
716 assertEquals("2",num_cpus);
717 assertEquals("123456",sp_part_number);
719 //Deployment flavor 2
720 manufacturer_reference_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#vendor_info#manufacturer_reference_number");
721 num_cpus = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#compute_flavor#num_cpus");
722 sp_part_number = nfodNEWCsarHlper.getNodeTemplatePropertyLeafValue(vnfConfig, "allowed_flavors#FG_partNumbereJqQjUkteF1#sp_part_number");
724 assertEquals("EP_manufacturerReferenceNumberkbAiqZZNzx1",manufacturer_reference_number);
725 assertEquals("1",num_cpus);
726 assertEquals("FG_partNumbereJqQjUkteF1",sp_part_number);
730 // Check that get vnfconfiguration not return as VFC
732 public void testNewGetVfcTypWithoutVnfCheckNames() {
733 List<NodeTemplate> vfcList = nfodNEWCsarHlper.getVfcListByVf("a6587663-b27f-4e88-8a86-604604302ce6");
734 assertNotNull(vfcList);
735 assertEquals(1, vfcList.size());
736 for (int i = 0; i < vfcList.size(); i++) {
738 String Name= vfcList.get(i).getName();
740 assertEquals(false, Name.equals("name_6GkVrOjnGp1_VNF_Configuration"));
744 //region getServiceNodeTemplateByNodeName
746 public void testGetServiceNodeTemplateByRealNodeName() {
747 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
748 assertNotNull(nodeTemplate);
749 assertEquals(nodeTemplate.getName(), "FDNT 1");
750 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VF");
754 public void testGetServiceNodeTemplateByNullNodeName() {
755 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName(null);
756 assertNull(nodeTemplate);
760 public void testGetServiceNodeTemplateByDummyNodeName() {
761 NodeTemplate nodeTemplate = fdntCsarHelper.getServiceNodeTemplateByNodeName("dummy");
762 assertNull(nodeTemplate);
768 //region resolve get_input
769 @SuppressWarnings("rawtypes")
771 public void testResolveGetInputForComplexTypeAndList() {
772 //port_pd01_port_ip_requirements is of type list<org.openecomp.datatypes.network.IpRequirements>
774 // 1) "default" resolving
775 // 2) complex type resolving
776 // 3) List access resolving
777 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
778 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
779 assertTrue(propertyAsObject instanceof ArrayList);
780 assertEquals(2, ((ArrayList) propertyAsObject).size());
781 //port_pd01_port_ip_requirements:
782 //- get_input: [ip_requirements, 0]
783 //- get_input: [ip_requirements, 1]
784 assertEquals("subnet_role_4", ((Map) ((ArrayList) propertyAsObject).get(0)).get("subnet_role"));
785 assertEquals("subnet_role_6", ((Map) ((ArrayList) propertyAsObject).get(1)).get("subnet_role"));
789 public void testResolveGetInputForListOnNetworkCloud() {
790 final String related_network_role = "related_network_role";
791 List<NodeTemplate> serviceVfList = csarHelperServiceNetworkCloud.getServiceVfList();
792 assertNotNull(serviceVfList);
793 assertFalse(serviceVfList.isEmpty());
794 List<NodeTemplate> vfcListByVf = csarHelperServiceNetworkCloud.getVfcListByVf(csarHelperServiceNetworkCloud.getNodeTemplateCustomizationUuid(serviceVfList.get(0)));
795 assertNotNull(vfcListByVf);
796 assertFalse(vfcListByVf.isEmpty());
797 List<NodeTemplate> cpList = csarHelperServiceNetworkCloud.getNodeTemplateChildren(vfcListByVf.get(0));
798 assertNotNull(cpList);
799 assertFalse(cpList.isEmpty());
800 final Object propertyValue = cpList.get(0).getPropertyValue("related_networks");
801 assertNotNull(propertyValue);
802 ArrayList<Map<String, String>> relatedNetworkList = (ArrayList)propertyValue;
803 assertEquals(3, relatedNetworkList.size());
804 assertEquals("cor_direct_2", relatedNetworkList.get(0).get(related_network_role));
805 assertEquals("sgi_direct_2", relatedNetworkList.get(1).get(related_network_role));
806 assertEquals("int_imbl_2", relatedNetworkList.get(2).get(related_network_role));
810 public void testResolveGetInputForPrimitiveTypeString() {
811 //This test covers "default" resolving of primitive - as Object
812 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
813 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_network_role_tag");
814 assertEquals("oam", propertyAsObject);
818 public void testResolveGetInputForPrimitiveTypeInteger() {
819 //This test covers "default" resolving of primitive - as String
820 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
821 String propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyLeafValue(vfcs.get(0), "port_pd01_port_order");
822 assertEquals("1", propertyAsObject);
825 @SuppressWarnings("rawtypes")
827 public void testResolveGetInputForMap() {
828 //This test covers "default" resolving of primitive - as Map
829 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
830 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd02_port_ip_requirements#ip_count_required");
831 assertTrue(propertyAsObject instanceof Map);
832 assertEquals(false, ((Map)propertyAsObject).get("is_required"));
836 public void testResolveGetInputForAllHierarchy() {
837 //This test covers "default" resolving from service level
838 List<NodeTemplate> vfs = resolveGetInputCsar.getServiceVfList();
839 Object vfPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfs.get(0), "vm_count");
840 assertEquals(2, vfPropertyAsObject);
841 //This test covers property assignment resolving on VFI level (service template), from Vf level
842 List<NodeTemplate> vfcs = resolveGetInputCsar.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.VFC);
843 Object vfcPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "my_count");
844 assertEquals(2, vfcPropertyAsObject); //takes it from upper level (VF) property
848 public void testResolveGetInputNoDefValueInnerLevel() {
849 //This test covers resolving when no "default" value is supplied to the input - should be null - VF/VFCI level
850 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
851 String propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyLeafValue(vfcs.get(0), "index_value");
852 assertNull(propertyAsObject);
857 public void testResolveGetInputNoDefValueServiceLevel() {
858 //This test covers resolving when no "default" value is supplied to the input - should be null - Service/VFI level
859 List<NodeTemplate> vfs = resolveGetInputCsar.getServiceVfList();
860 Object vfPropertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfs.get(0), "port_order");
861 assertNull(vfPropertyAsObject);
866 // region Added by QA - Continue with testings of resolve get_input
868 @SuppressWarnings("rawtypes")
870 public void testResolveGetInputForComplexTypeAndListWithFalseValue()
872 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
873 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
874 assertTrue(propertyAsObject instanceof ArrayList);
875 assertEquals(2, ((ArrayList) propertyAsObject).size());
876 assertEquals("get_input:[ip_requirements, 0]", ((ArrayList) propertyAsObject).get(0).toString());
877 assertEquals("get_input:[ip_requirements, 1]", ((ArrayList) propertyAsObject).get(1).toString());
881 public void testResolveGetInputForPrimitiveTypeStringWithFalseValue() {
882 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
883 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_network_role_tag");
884 assertEquals("get_input:role_tag_oam", propertyAsObject.toString());
888 public void testResolveGetInputForPrimitiveTypeListWithFalseValue() {
889 List<NodeTemplate> vfcs = resolveGetInputCsarFalse.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
890 Object propertyAsObject = resolveGetInputCsarFalse.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
891 assertEquals("[get_input:[pd_server_names, 0]]", propertyAsObject.toString());
894 //@Test // Maybe a bug here.... need to check with Esti - Mait was sent.
895 public void testResolveGetInputForPrimitiveTypeList() {
896 List<NodeTemplate> vfcs = resolveGetInputCsar.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
897 Object propertyAsObject = resolveGetInputCsar.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
898 assertEquals("\"ZRDM1MOGX01MPD001\"", propertyAsObject.toString());
902 public void testResolveGetInputForPrimitiveNullValue() {
903 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
904 @SuppressWarnings("unchecked")
905 List<String>propertyAsObject = (List<String>) resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_availability_zone");
906 assertNull(propertyAsObject.get(0));
909 public void testResolveGetInputForPrimitiveIPValue() {
910 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
911 Object propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "vm_image_name");
912 assertEquals("107.239.36.5", propertyAsObject.toString());
915 //QA region getServiceNodeTemplateByNodeName tests
918 public void getServiceNodeTemplateByNodeNameTypeVF() {
919 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("VF_1_V_port_1 0");
920 assertNotNull(nodeTemplate);
921 assertEquals(nodeTemplate.getName(), "VF_1_V_port_1 0");
922 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VF");
926 public void getServiceNodeTemplateByNodeNameTypeVL() {
927 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtVL 0");
928 assertNotNull(nodeTemplate);
929 assertEquals(nodeTemplate.getName(), "ExtVL 0");
930 assertEquals(nodeTemplate.getMetaData().getValue("type"), "VL");
934 public void getServiceNodeTemplateByNodeNameTypeCP() {
935 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("ExtCP 0");
936 assertNotNull(nodeTemplate);
937 assertEquals(nodeTemplate.getName(), "ExtCP 0");
938 assertEquals(nodeTemplate.getMetaData().getValue("type"), "CP");
942 public void getServiceNodeTemplateByNodeNameTypePNF() {
943 NodeTemplate nodeTemplate = QAServiceForToscaParserTests.getServiceNodeTemplateByNodeName("PNF TEST 0");
944 assertNotNull(nodeTemplate);
945 assertEquals(nodeTemplate.getName(), "PNF TEST 0");
946 assertEquals(nodeTemplate.getMetaData().getValue("type"), "PNF");
949 //QA region getServiceNodeTemplateBySdcType tests
952 public void getServiceNodeTemplateBySdcType_VF() {
953 List<NodeTemplate> vfList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("org.openecomp.resource.vf.Vf1VPort1");
954 assertEquals(2, vfList.size());
955 assertEquals("VF_1_V_port_1", vfList.get(0).getMetaData().getValue("name"));
957 // endregion Added by QA - Continue with testings of resolve get_input
960 @SuppressWarnings("rawtypes")
962 public void testResolveGetInputArrayStructure() {
963 List<NodeTemplate> vfcs = resolveGetInputCsarQA.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
964 Object propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "compute_pd_server_name");
965 assertEquals( ((ArrayList)propertyAsObject).get(0).toString(), "\"ZRDM1MOGX01MPD001\"");
966 propertyAsObject = resolveGetInputCsarQA.getNodeTemplatePropertyAsObject(vfcs.get(0), "port_pd01_port_ip_requirements");
967 assertEquals( ((ArrayList)propertyAsObject).get(1), null);
971 public void testServiceNodeTemplateByCRType() {
972 List<NodeTemplate> serviceCRList = csarHelperServiceWithCrs.getServiceNodeTemplateBySdcType(SdcTypes.CR);
973 assertNotNull(serviceCRList);
974 assertEquals(serviceCRList.size(), 2);
975 assertEquals(serviceCRList.get(0).getName(), "chaya best cr 1");
976 assertEquals(serviceCRList.get(0).getType(), "org.openecomp.resource.cr.ChayaBestCr");
977 assertEquals(serviceCRList.get(1).getName(), "chaya best cr 0");
978 assertEquals(serviceCRList.get(1).getType(), "org.openecomp.resource.cr.ChayaBestCr");
982 public void testGetCPOfCRNodeTemplate() {
983 NodeTemplate nodeTemplate = csarHelperServiceWithCrs.getServiceNodeTemplateByNodeName("chaya best cr 0");
984 List<NodeTemplate> crCpChildren = csarHelperServiceWithCrs.getNodeTemplateBySdcType(nodeTemplate, SdcTypes.CP);
985 assertEquals(crCpChildren.get(0).getName(), "ContrailPort 0");
986 assertEquals(crCpChildren.get(0).getMetaData().getValue("type"), SdcTypes.CP.name());
990 public void testServiceCRInstanceProps() {
991 List<NodeTemplate> serviceCrList = csarHelperServiceWithCrs.getServiceNodeTemplateBySdcType(SdcTypes.CR);
992 assertNotNull(serviceCrList);
993 NodeTemplate crTemplate = serviceCrList.get(0);
994 assertNotNull(crTemplate);
995 assertEquals(crTemplate.getPropertyValue("nf_naming").toString(), ImmutableMap.of("ecomp_generated_naming", "true").toString());
996 assertEquals(crTemplate.getPropertyValue("contrailport0_virtual_network"), "chaya");
1000 public void testGetPoliciesOfOriginOfNodeTemplate() {
1001 NodeTemplate nt0 = csarHelperServicePolicy.getNodeTemplateByName("al_vf 0");
1002 NodeTemplate nt1 = csarHelperServicePolicy.getNodeTemplateByName("al_vf 1");
1003 List<Policy> policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplate(nt0);
1004 assertNotNull(policies);
1005 assertEquals(policies.size(), 3);
1006 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplate(nt1);
1007 assertNotNull(policies);
1008 assertEquals(policies.size(), 3);
1012 public void testGetPoliciesOfOriginOfNodeTemplateByToscaPolicyType() {
1013 NodeTemplate nt0 = csarHelperServicePolicy.getNodeTemplateByName("al_vf 0");
1014 NodeTemplate nt1 = csarHelperServicePolicy.getNodeTemplateByName("al_vf 1");
1015 List<Policy> policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt0, "org.openecomp.policies.placement.Colocate");
1016 assertNotNull(policies);
1017 assertEquals(policies.size(), 1);
1019 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt0, "org.openecomp.policies.placement.Antilocate");
1020 assertNotNull(policies);
1021 assertEquals(policies.size(), 1);
1023 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt0, "org.openecomp.policies.placement.valet.Diversity");
1024 assertNotNull(policies);
1025 assertEquals(policies.size(), 1);
1027 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt1, "org.openecomp.policies.placement.Colocate");
1028 assertNotNull(policies);
1029 assertEquals(policies.size(), 1);
1031 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt1, "org.openecomp.policies.placement.Antilocate");
1032 assertNotNull(policies);
1033 assertEquals(policies.size(), 1);
1035 policies = csarHelperServicePolicy.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nt1, "org.openecomp.policies.placement.valet.Diversity");
1036 assertNotNull(policies);
1037 assertEquals(policies.size(), 1);
1041 public void testGetPolicyTargetNodeTemplatesFromOrigin() {
1042 List<NodeTemplate> nodeTemplates = csarHelperServicePolicy.getPolicyTargetsFromOrigin(csarHelperServicePolicy.getNodeTemplateByName("al_vf 1"),"policy..Colocate..0");
1043 assertNotNull(nodeTemplates);
1044 assertEquals(nodeTemplates.size(), 2);
1048 public void testGetPoliciesOfNodeTemplate() {
1049 NodeTemplate nt0 = csarHelperVfPolicy.getNodeTemplateByName("al_vfc 1");
1050 List<Policy> policies = csarHelperVfPolicy.getPoliciesOfTarget(nt0);
1051 assertNotNull(policies);
1052 assertEquals(policies.size(), 1);
1056 public void testGetPoliciesOfNodeTemplateByToscaPolicyType() {
1057 NodeTemplate nt0 = csarHelperVfPolicy.getNodeTemplateByName("al_vfc 1");
1058 List<Policy> policies = csarHelperVfPolicy.getPoliciesOfTargetByToscaPolicyType(nt0, "org.openecomp.policies.placement.Colocate");
1059 assertNotNull(policies);
1060 assertEquals(policies.size(), 1);
1064 public void testGetPoliciesOfTopologyTemplate() {
1065 List<Policy> policies = csarHelperVfPolicy.getPoliciesOfTopologyTemplate();
1066 assertNotNull(policies);
1067 assertEquals(policies.size(), 1);
1071 public void testGetPolicyTargetNodeTemplates() {
1072 List<NodeTemplate> nodeTemplates = csarHelperVfPolicy.getPolicyTargetsFromTopologyTemplate("policy..Colocate..0");
1073 assertNotNull(nodeTemplates);
1074 assertEquals(nodeTemplates.size(), 2);
1078 public void testGetGroups() {
1079 NodeTemplate groupsVf = csarHelperServiceGroups.getNodeTemplateByName("GroupsVf 0");
1080 NodeTemplate vlanGroups = csarHelperServiceGroups.getNodeTemplateByName("VlanGroups 0");
1082 ArrayList<Group> groups = csarHelperServiceGroups.getGroupsOfOriginOfNodeTemplate(groupsVf);
1083 assertNotNull(groups);
1084 assertEquals(groups.size(), 5);
1086 groups = csarHelperServiceGroups.getGroupsOfOriginOfNodeTemplate(vlanGroups);
1087 assertNotNull(groups);
1088 assertEquals(groups.size(), 4);
1090 groups = csarHelperServiceGroups.getGroupsOfOriginOfNodeTemplateByToscaGroupType(groupsVf, "org.openecomp.groups.VfcInstanceGroup");
1091 assertNotNull(groups);
1092 assertEquals(groups.size(), 1);
1094 groups = csarHelperServiceGroups.getGroupsOfOriginOfNodeTemplateByToscaGroupType(vlanGroups, "org.openecomp.groups.VfcInstanceGroup");
1095 assertNotNull(groups);
1096 assertEquals(groups.size(), 2);
1098 List<NodeTemplate> members = csarHelperServiceGroups.getGroupMembersOfOriginOfNodeTemplate(groupsVf, "x_group");
1100 assertNotNull(members);
1101 assertEquals(members.size(), 3);
1102 Optional<NodeTemplate> memberOpt = (members.stream().filter(m -> m.getName().equals("lb_1"))).findFirst();
1103 assertTrue(memberOpt.isPresent());
1104 memberOpt = (members.stream().filter(m -> m.getName().equals("lb_2"))).findFirst();
1105 assertTrue(memberOpt.isPresent());
1106 memberOpt = (members.stream().filter(m -> m.getName().equals("mg_4"))).findFirst();
1107 assertTrue(memberOpt.isPresent());
1109 members = csarHelperServiceGroups.getGroupMembersOfOriginOfNodeTemplate(vlanGroups, "oam_group");
1110 assertNotNull(members);
1111 assertEquals(members.size(), 1);
1112 memberOpt = (members.stream().filter(m -> m.getName().equals("abstract_vdbe_1"))).findFirst();
1113 assertTrue(memberOpt.isPresent());
1115 members = csarHelperServiceGroups.getGroupMembersOfOriginOfNodeTemplate(vlanGroups, "untr_group");
1116 assertNotNull(members);
1117 assertEquals(members.size(), 1);
1118 memberOpt = (members.stream().filter(m -> m.getName().equals("abstract_vdbe"))).findFirst();
1119 assertTrue(memberOpt.isPresent());
1123 public void testGetGroupsInputsProperties() {
1124 NodeTemplate vdbe0 = csarHelperServiceGroupsInputs.getNodeTemplateByName("vDBE 0");
1125 ArrayList<Group> groups = csarHelperServiceGroupsInputs.getGroupsOfOriginOfNodeTemplate(vdbe0);
1126 assertNotNull(groups);
1127 assertEquals(groups.size(), 4);
1129 Optional<Group> groupOpt = (groups.stream().filter(g -> g.getName().equals("oam_group"))).findFirst();
1130 assertTrue(groupOpt.isPresent());
1131 Group group = groupOpt.get();
1132 validateInputsProperties(vdbe0, group);
1134 groupOpt = (groups.stream().filter(g -> g.getName().equals("untr_group"))).findFirst();
1135 assertTrue(groupOpt.isPresent());
1136 group = groupOpt.get();
1137 validateInputsProperties(vdbe0, group);
1141 public void testGetGroupsInputsCapabilities() {
1142 NodeTemplate vdbe = csarHelperServiceGroupsCapabilities.getNodeTemplateByName("vdbe_srv_proxy 0");
1143 CapabilityAssignments capabilities = csarHelperServiceGroupsCapabilities.getCapabilitiesOf(vdbe);
1144 CapabilityAssignment capability = capabilities.getCapabilityByName("vdbe0.oam_group.vlan_assignment");
1145 assertNotNull(capability);
1149 public void testGetVfGroupsPolicies() {
1150 List<Policy> policies = csarHelperVfGroupsPolicies.getPoliciesOfTopologyTemplate();
1151 assertNotNull(policies);
1152 List<Group> groups = csarHelperVfGroupsPolicies.getGroupsOfTopologyTemplate();
1153 assertNotNull(groups);
1157 public void testGetServiceGroupsPolicies() {
1158 NodeTemplate nt = csarHelperServiceGroupsPolicies.getNodeTemplateByName("vDBE 0");
1159 List<Policy> policies = csarHelperServiceGroupsPolicies.getPoliciesOfOriginOfNodeTemplate(nt);
1160 assertNotNull(policies);
1161 List<Group> groups = csarHelperServiceGroupsPolicies.getGroupsOfOriginOfNodeTemplate(nt);
1162 assertNotNull(groups);
1166 public void testGetResourceInputsWithAnnotations() {
1167 List<Input> inputs = csarHelperServiceAnnotations.getServiceInputs();
1168 assertNotNull(inputs);
1169 assertEquals(inputs.size(), 19);
1170 assertTrue(inputs.stream().filter(i -> i.getAnnotations() != null).collect(Collectors.toList()).isEmpty());
1172 inputs = csarHelperServiceAnnotations.getInputsWithAnnotations();
1173 assertNotNull(inputs);
1174 assertEquals(inputs.size(), 19);
1175 validateInputsAnnotations(inputs);
1179 public void testGetServiceInputsWithAnnotations() {
1180 List<Input> inputs = csarHelperServiceAdiodAnnotations.getServiceInputs();
1181 assertNotNull(inputs);
1182 assertTrue(inputs.stream().filter(i -> i.getAnnotations() != null).collect(Collectors.toList()).isEmpty());
1184 inputs = csarHelperServiceAdiodAnnotations.getInputsWithAnnotations();
1185 assertNotNull(inputs);
1186 validateInputsAnnotations(inputs);
1189 @SuppressWarnings("unchecked")
1190 private void validateInputsProperties(NodeTemplate vdbe0, Group group) {
1191 assertNotNull(group.getPropertiesObjects());
1192 ArrayList<Property> properties = group.getPropertiesObjects();
1194 List<String> inputs = properties.stream()
1195 .filter(p -> p.getValue() instanceof Map)
1196 .map(p -> ((Map<String, String>)p.getValue()).get("get_input"))
1197 .collect(Collectors.toList());
1199 assertEquals(inputs.size(), 2);
1201 inputs.forEach(i -> assertTrue(vdbe0.getProperties().containsKey(i)));
1203 List<Object> list = vdbe0.getProperties().entrySet().stream()
1204 .filter(e -> inputs.contains(e.getKey()))
1205 .map(e -> e.getValue().getValue())
1206 .collect(Collectors.toList());
1207 assertEquals(list.size(), 2);
1210 private void validateInputsAnnotations(List<Input> inputs) {
1211 List<Input> inputsWithAnnotations = inputs.stream().filter(i -> i.getAnnotations() != null).collect(Collectors.toList());
1212 assertTrue(!inputs.isEmpty());
1213 inputsWithAnnotations.stream().forEach(i -> validateAnnotations(i));
1216 private void validateAnnotations(Input input) {
1217 assertNotNull(input.getAnnotations());
1218 assertEquals(input.getAnnotations().size(), 1);
1219 Annotation annotation = input.getAnnotations().get("source");
1220 assertEquals(annotation.getName(), "source");
1221 assertEquals(annotation.getType().toLowerCase(), "org.openecomp.annotations.source");
1222 assertNotNull(annotation.getProperties());
1223 Optional<Property> source_type = annotation.getProperties()
1225 .filter(p->p.getName().equals("source_type"))
1227 assertTrue(source_type.isPresent());
1228 assertEquals(source_type.get().getValue(), "HEAT");