1 package org.openecomp.sdc.impl;
3 import org.openecomp.sdc.tosca.parser.impl.SdcTypes;
4 import org.openecomp.sdc.toscaparser.api.CapabilityAssignments;
5 import org.openecomp.sdc.toscaparser.api.CapabilityAssignment;
6 import org.openecomp.sdc.toscaparser.api.NodeTemplate;
7 import org.openecomp.sdc.toscaparser.api.RequirementAssignments;
8 import org.openecomp.sdc.toscaparser.api.elements.Metadata;
9 import org.testng.annotations.Test;
11 import java.util.List;
13 import static org.testng.Assert.assertEquals;
14 import static org.testng.Assert.assertNotNull;
15 import static org.testng.Assert.assertNull;
17 public class ToscaParserReqAndCapTest extends SdcToscaParserBasicTest {
19 //region getCapabilitiesOf
21 public void testGetCapabilitiesOfNodeTemplate() {
22 List<NodeTemplate> vfs = fdntCsarHelper.getServiceVfList();
23 CapabilityAssignments capabilityAssignments = fdntCsarHelper.getCapabilitiesOf(vfs.get(0));
24 assertNotNull(capabilityAssignments);
25 assertEquals(13, capabilityAssignments.getAll().size());
26 assertNotNull(capabilityAssignments.getCapabilityByName("DNT_FW_RHRG.binding_DNT_FW_INT_DNS_TRUSTED_RVMI"));
27 assertEquals(6, capabilityAssignments.getCapabilitiesByType("tosca.capabilities.network.Bindable").getAll().size());
31 public void testGetCapabilitiesOfNull() {
32 CapabilityAssignments capabilityAssignments = fdntCsarHelper.getCapabilitiesOf(null);
33 assertNull(capabilityAssignments);
37 //region getRequirementsOf
39 public void testGetRequirementsOfNodeTemplate() {
40 List<NodeTemplate> vfs = fdntCsarHelper.getServiceVfList();
41 List<NodeTemplate> cps = fdntCsarHelper.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.CP);
42 RequirementAssignments requirementAssignments = fdntCsarHelper.getRequirementsOf(cps.get(0));
43 assertNotNull(requirementAssignments);
44 assertEquals(1, requirementAssignments.getAll().size());
45 assertEquals("DNT_FW_RHRG", requirementAssignments.getRequirementsByName("binding").getAll().get(0).getNodeTemplateName());
49 public void testGetRequirementsOfNull() {
50 RequirementAssignments requirementAssignments = fdntCsarHelper.getRequirementsOf(null);
51 assertNull(requirementAssignments);
55 //region getCapabilityPropertyLeafValue
57 public void testGetCapabilityPropertyLeafValue() {
58 NodeTemplate vf = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
59 CapabilityAssignment capabilityAssignment = vf.getCapabilities().getCapabilityByName("DNT_FW_RHRG.scalable_DNT_FW_SERVER");
60 assertNotNull(capabilityAssignment);
61 String propValue = fdntCsarHelper.getCapabilityPropertyLeafValue(capabilityAssignment, "max_instances#type");
62 assertEquals("integer", propValue);
66 public void testGetCapabilityHierarchyPropertyLeafValue() {
67 NodeTemplate vf = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
68 CapabilityAssignment capabilityAssignment = vf.getCapabilities().getCapabilityByName("DNT_FW_RHRG.endpoint_DNT_FW_SERVER");
69 assertNotNull(capabilityAssignment);
70 String propValue = fdntCsarHelper.getCapabilityPropertyLeafValue(capabilityAssignment, "ports#entry_schema#type");
71 assertEquals("PortSpec", propValue);
75 public void testGetCapabilityDummyPropertyLeafValue() {
76 NodeTemplate vf = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
77 CapabilityAssignment capabilityAssignment = vf.getCapabilities().getCapabilityByName("DNT_FW_RHRG.scalable_DNT_FW_SERVER");
78 assertNotNull(capabilityAssignment);
79 String propValue = fdntCsarHelper.getCapabilityPropertyLeafValue(capabilityAssignment, "dummy");
80 assertNull(propValue);
84 public void testGetCapabilityNullPropertyLeafValue() {
85 NodeTemplate vf = fdntCsarHelper.getServiceNodeTemplateByNodeName("FDNT 1");
86 CapabilityAssignment capabilityAssignment = vf.getCapabilities().getCapabilityByName("DNT_FW_RHRG.scalable_DNT_FW_SERVER");
87 assertNotNull(capabilityAssignment);
88 String propValue = fdntCsarHelper.getCapabilityPropertyLeafValue(capabilityAssignment, null);
89 assertNull(propValue);
93 public void testGetNullCapabilityPropertyLeafValue() {
94 String propValue = fdntCsarHelper.getCapabilityPropertyLeafValue(null, "max_instances#type");
95 assertNull(propValue);
99 //QA tests region for US 319197 -port mirroring-
101 //get-CapabilitiesOf (All Types)
103 public void getServiceNodeTemplateCapabilitiesOfTypeVF() {
104 List<NodeTemplate> serviceVfList = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.VF);
105 CapabilityAssignments capabilitiesOfVF = QAServiceForToscaParserTests.getCapabilitiesOf(serviceVfList.get(0));
106 assertEquals(capabilitiesOfVF.getAll().size(),12);
107 assertNotNull(capabilitiesOfVF.getCapabilityByName("neutronport0.network.incoming.packets.rate"));
111 public void getServiceNodeTemplateCapabilitiesOfTypeExVL() {
112 List<NodeTemplate> serviceExtVlList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("org.openecomp.resource.vl.extVL");
113 CapabilityAssignments capabilitiesOfExtVL = QAServiceForToscaParserTests.getCapabilitiesOf(serviceExtVlList.get(0));
114 assertEquals(capabilitiesOfExtVL.getAll().size(),2);
115 assertNotNull(capabilitiesOfExtVL.getCapabilityByName("virtual_linkable").getProperties());
119 public void getServiceNodeTemplateCapabilitiesOfTypeVL() {
120 List<NodeTemplate> serviceVlList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("tosca.nodes.network.Network");
121 CapabilityAssignments capabilitiesOfVL = QAServiceForToscaParserTests.getCapabilitiesOf(serviceVlList.get(0));
122 assertEquals(capabilitiesOfVL.getAll().size(),2);
123 assertNotNull(capabilitiesOfVL.getCapabilityByName("link").getProperties());
127 public void getServiceNodeTemplateCapabilitiesOfTypeCP() {
128 List<NodeTemplate> serviceCpList = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.CP);
129 CapabilityAssignments capabilitiesOfCP = QAServiceForToscaParserTests.getCapabilitiesOf(serviceCpList.get(0));
130 assertEquals(capabilitiesOfCP.getAll().size(),2);
131 assertNotNull(capabilitiesOfCP.getCapabilityByName("internal_connectionPoint"));
135 public void getServiceNodeTemplateCapabilitiesOfTypePNF() {
136 List<NodeTemplate> servicePnfs = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.PNF);
137 CapabilityAssignments capabilitiesOfPnf = QAServiceForToscaParserTests.getCapabilitiesOf(servicePnfs.get(0));
138 assertEquals(capabilitiesOfPnf.getAll().size(),1);
139 assertNotNull(capabilitiesOfPnf.getCapabilityByName("feature"));
142 //get-RequirementsOf (All Types)-----------------------------
145 public void getServiceNodeTemplateRequirementsOfTypeVF() {
146 List<NodeTemplate> serviceVfList = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.VF);
147 RequirementAssignments requirementsOfVF = QAServiceForToscaParserTests.getRequirementsOf(serviceVfList.get(6));
148 assertEquals(requirementsOfVF.getAll().size(),3);
149 // RequirementAssignments requirementsByName =
150 assertEquals(requirementsOfVF.getRequirementsByName("dependency").getAll().size(),2 );
151 //check that API return empty list if requirement property not exist.
152 assertEquals(requirementsOfVF.getRequirementsByName("blabla").getAll().size(),0);
156 public void getServiceNodeTemplateRequirementsOfTypeExVL() {
157 List<NodeTemplate> serviceExtVlList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("org.openecomp.resource.vl.extVL");
158 RequirementAssignments requirementsOfExtVL = QAServiceForToscaParserTests.getRequirementsOf(serviceExtVlList.get(0));
159 assertEquals(requirementsOfExtVL.getAll().size(),1);
163 public void getServiceNodeTemplateRequirementsOfTypeVL() {
164 List<NodeTemplate> serviceVlList = QAServiceForToscaParserTests.getServiceNodeTemplatesByType("tosca.nodes.network.Network");
165 RequirementAssignments requirementsOfVL = QAServiceForToscaParserTests.getRequirementsOf(serviceVlList.get(1));
166 assertEquals(requirementsOfVL.getAll().size(),2);
167 assertNotNull(requirementsOfVL.getRequirementsByName("dependency"));
171 public void getServiceNodeTemplateRequirementsOfTypeCP() {
172 List<NodeTemplate> serviceCpList = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.CP);
173 RequirementAssignments requirementsOfCP = QAServiceForToscaParserTests.getRequirementsOf(serviceCpList.get(0));
174 assertEquals(requirementsOfCP.getAll().size(),2);
175 assertEquals(requirementsOfCP.getRequirementsByName("virtualBinding").getAll().size(),1);
179 public void getServiceNodeTemplateRequirementsOfTypePNF() {
180 List<NodeTemplate> servicePnfs = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.PNF);
181 RequirementAssignments requirementsOfPnf = QAServiceForToscaParserTests.getRequirementsOf(servicePnfs.get(0));
182 assertEquals(requirementsOfPnf.getAll().size(),2);
183 assertNotNull(requirementsOfPnf.getRequirementsByName("feature"));
186 //QA end region for US 319197 -port mirroring
188 // Added by QA CapabilityAssignments
190 public void testGetCapabilitiesByType() {
191 List<NodeTemplate> vfs = resolveGetInputCsarQA.getServiceVfList();
192 CapabilityAssignments capabilityAssignments = resolveGetInputCsarQA.getCapabilitiesOf(vfs.get(0));
193 assertNotNull(capabilityAssignments);
194 CapabilityAssignments capabilitiesByType = capabilityAssignments.getCapabilitiesByType("tosca.capabilities.Scalable");
195 int capsQty = capabilitiesByType.getAll().size();
196 assertEquals(1, capsQty);
197 CapabilityAssignment capabilityByName = capabilitiesByType.getCapabilityByName("abstract_pd_server.scalable_pd_server");
198 assertNotNull(capabilityByName);
202 public void testGetCapabilityByName() {
203 List<NodeTemplate> vfs = resolveGetInputCsarQA.getServiceVfList();
204 CapabilityAssignments capabilityAssignments = resolveGetInputCsarQA.getCapabilitiesOf(vfs.get(0));
205 assertNotNull(capabilityAssignments);
206 CapabilityAssignment capabilityByName = capabilityAssignments.getCapabilityByName("abstract_pd_server.disk.iops_pd_server");
207 assertNotNull(capabilityByName);
208 String capName = capabilityByName.getName();
209 assertEquals(capName, "abstract_pd_server.disk.iops_pd_server");
213 public void testGetCapabilitiesGetAll() {
214 List<NodeTemplate> vfs = resolveGetInputCsarQA.getServiceVfList();
215 CapabilityAssignments capabilityAssignments = resolveGetInputCsarQA.getCapabilitiesOf(vfs.get(0));
216 assertNotNull(capabilityAssignments);
217 int capsAssignmentSize = capabilityAssignments.getAll().size();
218 assertEquals(65, capsAssignmentSize);
221 // Added by QA RequirementsAssignments
223 public void testGetRequirementsByName() {
224 List<NodeTemplate> vfs = resolveReqsCapsCsarQA.getServiceVfList();
225 List<NodeTemplate> cps = resolveReqsCapsCsarQA.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.CP);
226 RequirementAssignments requirementAssignments = resolveReqsCapsCsarQA.getRequirementsOf(cps.get(0));
227 assertNotNull(requirementAssignments);
228 assertEquals(2, requirementAssignments.getAll().size());
229 assertEquals("DNT_FW_RHRG2", requirementAssignments.getRequirementsByName("binding").getAll().get(1).getNodeTemplateName());
234 public void testRequirementAssignmentGetNodeGetCapability() {
235 List<NodeTemplate> vfs = resolveReqsCapsCsarQA.getServiceVfList();
236 List<NodeTemplate> cps = resolveReqsCapsCsarQA.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.CP);
237 RequirementAssignments requirementAssignments = resolveReqsCapsCsarQA.getRequirementsOf(cps.get(0));
238 assertNotNull(requirementAssignments);
239 String nodeTemplateName = requirementAssignments.getAll().get(0).getNodeTemplateName();
240 String capabilityName = requirementAssignments.getAll().get(0).getCapabilityName();
241 assertEquals(nodeTemplateName, "DNT_FW_RHRG");
242 assertNull(capabilityName);
247 public void testRequirementAssignmentGetCapability() {
248 List<NodeTemplate> cps = QAServiceForToscaParserTests.getServiceNodeTemplateBySdcType(SdcTypes.CP);
249 RequirementAssignments requirementAssignments = QAServiceForToscaParserTests.getRequirementsOf(cps.get(0));
250 assertNotNull(requirementAssignments);
251 String nodeTemplateName = requirementAssignments.getAll().get(0).getNodeTemplateName();
252 String capabilityName = requirementAssignments.getAll().get(0).getCapabilityName();
253 assertEquals(nodeTemplateName, "ExtVL 0");
254 assertEquals(capabilityName,"tosca.capabilities.network.Linkable");
258 public void testGetCapabilityProperties() {
259 List<NodeTemplate> vfs = fdntCsarHelper.getServiceVfList();
260 List<NodeTemplate> cps = fdntCsarHelper.getNodeTemplateBySdcType(vfs.get(0), SdcTypes.CP);
261 CapabilityAssignments capabilityAssignments = cps.get(0).getCapabilities();
262 assertNotNull(capabilityAssignments);
263 assertEquals(12, capabilityAssignments.getAll().size());
264 CapabilityAssignment xxxCapability = capabilityAssignments.getCapabilityByName("xxx");
265 //GetInput property - resolved in any case
266 String getInputProp = fdntCsarHelper.getCapabilityPropertyLeafValue(xxxCapability, "DeploymentFlavor");
267 assertEquals("{aaa=bbb}", getInputProp);
269 String simpleProp = fdntCsarHelper.getCapabilityPropertyLeafValue(xxxCapability, "distribution");
270 assertEquals("rhel", simpleProp);