1 package org.openecomp.sdc.ci.tests.execute.sanity;
3 import com.aventstack.extentreports.Status;
4 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
5 import org.openecomp.sdc.be.model.Resource;
6 import org.openecomp.sdc.be.model.Service;
7 import org.openecomp.sdc.ci.tests.datatypes.*;
8 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
9 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
10 import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest;
11 import org.openecomp.sdc.ci.tests.pages.CompositionPage;
12 import org.openecomp.sdc.ci.tests.pages.ResourceGeneralPage;
13 import org.openecomp.sdc.ci.tests.pages.ServiceGeneralPage;
14 import org.openecomp.sdc.ci.tests.utilities.CatalogUIUtilitis;
15 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
16 import org.openecomp.sdc.ci.tests.utilities.HomeUtils;
17 import org.openecomp.sdc.ci.tests.utilities.PortMirroringUtils;
18 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
19 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
20 import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
21 import org.openecomp.sdc.ci.tests.verificator.PortMirroringVerificator;
22 import org.openecomp.sdc.ci.tests.verificator.ServiceVerificator;
23 import org.testng.AssertJUnit;
24 import org.testng.annotations.Test;
28 import static org.testng.Assert.assertTrue;
30 public class PortMirroring extends SetupCDTest {
33 public void createPortMirroringConfigurationServiceProxy() throws Throwable {
34 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
35 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
36 CanvasManager canvasManager = portMirrioringConfigurationObject.getCanvasManager();
37 CanvasElement serviceElementVmmeSourceName = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
38 String vmmeSourceName = portMirrioringConfigurationObject.getVmmeSourceName();
39 CanvasElement serviceElementVprobeCollector = portMirrioringConfigurationObject.getServiceElementVprobeCollector();
40 String vprobeSourceName = portMirrioringConfigurationObject.getVprobeSourceName();
42 serviceReqDetails.setVersion("0.1");
43 getExtendTest().log(Status.INFO, "Validating links between elements were created");
44 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
46 canvasManager.clickOnCanvaElement(serviceElementVmmeSourceName);
47 PortMirroringVerificator.validatingProxyServiceNameAndType(vmmeSourceName, "0");
49 canvasManager.clickOnCanvaElement(serviceElementVprobeCollector);
50 PortMirroringVerificator.validatingProxyServiceNameAndType(vprobeSourceName, "0");
54 public void distributePortMirroringConfigurationServiceProxy() throws Throwable {
55 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
56 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
57 Service service = portMirrioringConfigurationObject.getService();
59 serviceReqDetails.setVersion("0.1");
60 getExtendTest().log(Status.INFO, "Validating links between elements were created");
61 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
63 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
64 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
65 getExtendTest().log(Status.INFO, String.format("Service is certified"));
66 Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
67 getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
68 AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
72 public void createPortMirroringByPolicyServiceProxy() throws Throwable {
73 //Using API onboard and certify 2 zip files Source: vmmme and Collector: Vprobe
74 String filePath = FileHandling.getPortMirroringRepositoryPath();
75 ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
77 // create service with required pnf's and certify it
78 Resource resourceCisco = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.CISCO_VENDOR_NAME.getValue(), PortMirroringEnum.CISCO_VENDOR_MODEL_NUMBER.getValue(), getUser());
79 Resource resourceAPCON1 = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.APCON1_VENDOR_NAME.getValue(), PortMirroringEnum.APCON1_VENDOR_MODEL_NUMBER.getValue(), getUser());
80 Resource resourceAPCON2 = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.APCON2_VENDOR_NAME.getValue(), PortMirroringEnum.APCON2_VENDOR_MODEL_NUMBER.getValue(), getUser());
82 ServiceReqDetails serviceReqDetailsCollector = ElementFactory.getDefaultService();
83 serviceReqDetailsCollector.setServiceType(PortMirroringEnum.SERVICE_TYPE.getValue());
84 getExtendTest().log(Status.INFO, String.format("Creating collector service %s (PNF container)", serviceReqDetailsCollector.getName()));
85 Service serviceCollector = AtomicOperationUtils.createCustomService(serviceReqDetailsCollector, UserRoleEnum.DESIGNER, true).left().value();
87 getExtendTest().log(Status.INFO, String.format("Adding pnf's: %s,%s,%s to service %s", resourceCisco.getName(), resourceAPCON1.getName(), resourceAPCON2.getName(), serviceCollector.getName()));
89 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceCisco, serviceCollector, UserRoleEnum.DESIGNER, true, "80", "80");
90 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceAPCON1, serviceCollector, UserRoleEnum.DESIGNER, true, "80", "200");
91 AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceAPCON2, serviceCollector, UserRoleEnum.DESIGNER, true, "200", "200");
93 serviceCollector = (Service) AtomicOperationUtils.changeComponentState(serviceCollector, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
95 // create container service
96 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
97 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
98 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
100 String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
101 String collectorServiceName = serviceCollector.getName();
103 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
104 GeneralUIUtils.findComponentAndClick(service.getName());
106 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
107 CanvasManager canvasManager = CanvasManager.getCanvasManager();
109 CompositionPage.searchForElement(vmmeSourceName);
110 CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
112 CompositionPage.searchForElement(collectorServiceName);
113 CanvasElement serviceElementCollectorService = canvasManager.createElementOnCanvas(collectorServiceName);
115 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
116 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
118 ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
120 PortMirroringEnum.PM_REQ_TYPE.getValue(),
121 PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
123 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
124 portMirroringConfigurationByPolicyElement,
125 connectionWizardPopUpObjectVMME);
127 serviceReqDetails.setVersion("0.1");
128 getExtendTest().log(Status.INFO, "Validating link between elements was created");
129 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
131 canvasManager.clickOnCanvaElement(serviceElementVmmeSource);
132 PortMirroringVerificator.validatingProxyServiceNameAndType(vmmeSourceName, "0");
134 getExtendTest().log(Status.INFO, "Adding properties to PMCP");
137 // throw new SkipException("Open bug 373762, can't update properties on CP or VFC instance on Composition screen");
138 SetupCDTest.getExtendTest().log(Status.INFO, "Open bug 373762, can't update properties on CP or VFC instance on Composition screen");
141 canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
142 CompositionPage.showPropertiesAndAttributesTab();
143 CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.COLLECTOR_NODE.getValue(), PortMirroringUtils.createProxyInstanceServiceName(collectorServiceName, "1"));
144 CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.EQUIP_MODEL.getValue(), PortMirroringEnum.CISCO_VENDOR_MODEL_NUMBER.getValue());
145 CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.EQUIP_VENDOR.getValue(), PortMirroringEnum.CISCO_VENDOR_NAME.getValue());
147 // Distribute the Port Mirroning Configuration By Policy
148 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
149 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
150 getExtendTest().log(Status.INFO, String.format("Service is certified"));
151 Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
152 getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
153 AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
157 public void deletePMCPLink() throws Throwable {
158 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
159 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
160 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
162 String filePath = FileHandling.getPortMirroringRepositoryPath();
163 ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
165 String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
167 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
168 GeneralUIUtils.findComponentAndClick(service.getName());
170 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
171 CanvasManager canvasManager = CanvasManager.getCanvasManager();
173 CompositionPage.searchForElement(vmmeSourceName);
174 CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
176 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
177 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
179 ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
181 PortMirroringEnum.PM_REQ_TYPE.getValue(),
182 PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
184 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
185 portMirroringConfigurationByPolicyElement,
186 connectionWizardPopUpObjectVMME);
188 serviceReqDetails.setVersion("0.1");
189 getExtendTest().log(Status.INFO, "Validating link between elements was created");
190 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
192 canvasManager.openLinkPopupReqsCapsConnection(serviceElementVmmeSource, portMirroringConfigurationByPolicyElement);
193 canvasManager.closeLinkPopupReqsCapsConnection();
194 canvasManager.deleteLinkPopupReqsCapsConnection(serviceElementVmmeSource, portMirroringConfigurationByPolicyElement);
196 getExtendTest().log(Status.INFO, "Validating link deleted");
197 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 0);
201 public void verifyPMCNotExistInVF() throws Exception {
202 Resource resource = PortMirroringUtils.getResourceByType(ResourceTypeEnum.VF, "VF", "VendorModel");
204 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
206 GeneralUIUtils.findComponentAndClick(resource.getName());
207 ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
209 CompositionPage.searchForElement(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
211 getExtendTest().log(Status.INFO, "Verify that Port Mirroring Configuration and Configuration by Policy doesn't exist for VF ");
212 boolean isPMCFound = GeneralUIUtils.isElementInvisibleByTestId(DataTestIdEnum.PortMirroring.PMC_NAME_IN_PALLETE.getValue());
213 boolean isPMCPFound = GeneralUIUtils.isElementInvisibleByTestId(DataTestIdEnum.PortMirroring.PMCP_NAME_IN_PALLETE.getValue());
215 assertTrue(isPMCFound);
216 assertTrue(isPMCPFound);
220 public void verifyPMCPTabs() throws Exception {
222 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
223 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
224 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
226 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
227 GeneralUIUtils.findComponentAndClick(service.getName());
229 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
230 CanvasManager canvasManager = CanvasManager.getCanvasManager();
232 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
233 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
234 canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
236 PortMirroringVerificator.validateGeneralInfo();
237 PortMirroringVerificator.validateReqsAndCapsTabExist();
242 public void editPMCPName() throws Exception {
244 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
245 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
246 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
248 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
249 GeneralUIUtils.findComponentAndClick(service.getName());
251 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
252 CanvasManager canvasManager = CanvasManager.getCanvasManager();
254 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
255 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
257 canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
259 getExtendTest().log(Status.INFO, "Edit PMCP Name");
260 // GeneralUIUtils.clickOnElementById(DataTestIdEnum.CompositionRightPanel.EDIT_PENCIL.getValue());
261 // GeneralUIUtils.setTextInElementByDataTestID(DataTestIdEnum.CompositionRightPanel.INSTANCE_NAME_TEXTBOX.getValue(), PortMirroringEnum.PMCP_NEWNAME.getValue());
262 // GeneralUIUtils.clickOnElementByTestId("OK");
263 canvasManager.updateElementNameInCanvas(portMirroringConfigurationByPolicyElement,PortMirroringEnum.PMCP_NEWNAME.getValue());
265 PortMirroringVerificator.validateElementName(PortMirroringEnum.PMCP_NEWNAME.getValue());
270 public void deletePMCP() throws Exception {
272 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
273 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
274 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
276 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
277 GeneralUIUtils.findComponentAndClick(service.getName());
279 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
280 CanvasManager canvasManager = CanvasManager.getCanvasManager();
282 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
283 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
285 canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
287 getExtendTest().log(Status.INFO, String.format("Delete element %s", portMirroringConfigurationByPolicyElement.getElementType()));
288 // GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.CompositionRightPanel.DELETE_ITEM.getValue());
289 // GeneralUIUtils.clickOnElementByTestId("OK");
290 canvasManager.deleteElementFromCanvas(portMirroringConfigurationByPolicyElement);
292 PortMirroringVerificator.validateElementName(service.getName());
296 public void createPortMirroringConfigurationMulipleInstances() throws Throwable {
297 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
298 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
299 CanvasElement serviceElementVmmeSourceName = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
301 serviceReqDetails.setVersion("0.1");
302 getExtendTest().log(Status.INFO, "Validating 2 links between elements were created");
303 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
305 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
306 GeneralUIUtils.ultimateWait();
307 GeneralUIUtils.findComponentAndClick(serviceReqDetails.getName());
309 getExtendTest().log(Status.INFO, "Adding second PMC to composition");
310 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
312 CanvasManager canvasManager = CanvasManager.getCanvasManager();
313 CompositionPage.searchForElement(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
314 CanvasElement portMirroringConfigurationElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
316 // ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("", "",
317 // PortMirroringEnum.PM_REQ_TYPE.getValue(), PortMirroringEnum.PMC1_SOURCE_CAP.getValue());
319 ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("", "",
320 PortMirroringEnum.PM_REQ_TYPE.getValue(), PortMirroringEnum.PMC_SOURCE_CAP.getValue());
322 getExtendTest().log(Status.INFO, "Connect VMME to PMC again");
323 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName,portMirroringConfigurationElement,
324 connectionWizardPopUpObjectVMME);
326 getExtendTest().log(Status.INFO, "Connect VMME to PMC again");
327 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, portMirroringConfigurationElement,
328 connectionWizardPopUpObjectVMME);
330 getExtendTest().log(Status.INFO, "Validating 4 links between elements exist");
331 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 4);
333 getExtendTest().log(Status.INFO, "Adding second PMCP to composition");
334 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
335 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
337 ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME_PMCP = new ConnectionWizardPopUpObject("",
339 PortMirroringEnum.PM_REQ_TYPE.getValue(),
340 PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
342 getExtendTest().log(Status.INFO, "Connect VMME to PMCP again");
343 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, portMirroringConfigurationByPolicyElement,
344 connectionWizardPopUpObjectVMME_PMCP);
346 getExtendTest().log(Status.INFO, "Connect VMME to PMCP again");
347 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, portMirroringConfigurationByPolicyElement,
348 connectionWizardPopUpObjectVMME_PMCP);
350 serviceReqDetails.setVersion("0.1");
351 getExtendTest().log(Status.INFO, "Validating 6 links between elements exist");
352 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 6);
356 public void downloadArtifactFromPMCService() throws Throwable {
357 //Scenario of bug 362271
358 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
359 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
361 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
362 GeneralUIUtils.ultimateWait();
363 GeneralUIUtils.findComponentAndClick(serviceReqDetails.getName());
365 ServiceGeneralPage.getLeftMenu().moveToToscaArtifactsScreen();
367 GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ToscaArtifactsScreenEnum.TOSCA_MODEL.getValue());
368 File latestFilefromDir = org.openecomp.sdc.ci.tests.utilities.FileHandling.getLastModifiedFileNameFromDir();
369 String actualToscaModelFilename = latestFilefromDir.getName();
371 GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ToscaArtifactsScreenEnum.TOSCA_TEMPLATE.getValue());
372 latestFilefromDir = org.openecomp.sdc.ci.tests.utilities.FileHandling.getLastModifiedFileNameFromDir();
373 String actualToscaTemplateFilename = latestFilefromDir.getName();
375 String expectedToscaModelFilename = String.format("service-%s-csar.csar", serviceReqDetails.getName());
376 String expectedToscaTemplateFilename = String.format("service-%s-template.yml", serviceReqDetails.getName());
378 getExtendTest().log(Status.INFO, "Validating tosca artifact downloaded successfully");
379 AssertJUnit.assertTrue(actualToscaModelFilename.equalsIgnoreCase(expectedToscaModelFilename));
380 AssertJUnit.assertTrue(actualToscaTemplateFilename.equalsIgnoreCase(expectedToscaTemplateFilename));
384 public void checkoutMirroringConfigurationServiceProxyAndDeletePMC() throws Throwable {
385 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
386 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
387 Service service = portMirrioringConfigurationObject.getService();
388 CanvasElement portMirroringConfigurationElement = portMirrioringConfigurationObject.getPortMirroringConfigurationElement();
390 serviceReqDetails.setVersion("0.1");
391 getExtendTest().log(Status.INFO, "Validating links between elements were created");
392 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
394 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
395 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
397 getExtendTest().log(Status.INFO, String.format("Checkout Port Mirroring Service"));
398 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
400 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
401 GeneralUIUtils.ultimateWait();
402 HomeUtils.findComponentAndClickByVersion(service.getName(), "1.1");
404 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
405 CanvasManager canvasManager = CanvasManager.getCanvasManager();
406 GeneralUIUtils.ultimateWait();
407 // canvasManager.clickOnCanvasPosition(portMirroringConfigurationElement.getLocation().getLeft(), portMirroringConfigurationElement.getLocation().getRight());
408 canvasManager.clickOnCanvaElement(portMirroringConfigurationElement);
409 getExtendTest().log(Status.INFO, String.format("Delete element %s", portMirroringConfigurationElement.getElementType()));
410 // GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.CompositionRightPanel.DELETE_ITEM.getValue());
411 // GeneralUIUtils.clickOnElementByTestId("OK");
412 canvasManager.deleteElementFromCanvas(portMirroringConfigurationElement);
414 PortMirroringVerificator.validateElementName(service.getName());
415 getExtendTest().log(Status.INFO, "Validating 0 links after delete the port mirroring element");
416 serviceReqDetails.setVersion("1.1");
417 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 0);
419 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
420 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
422 getExtendTest().log(Status.INFO, String.format("Service is certified"));
423 Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
424 getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
425 AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
429 public void updatePortMirroringServiceInstance() throws Throwable {
431 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
432 Service service = portMirrioringConfigurationObject.getService();
433 CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
435 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
436 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
438 Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
439 getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
440 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
441 getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
442 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
444 getExtendTest().log(Status.INFO, String.format("Checkout Port Mirroring Service"));
445 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
447 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
448 GeneralUIUtils.ultimateWait();
449 HomeUtils.findComponentAndClickByVersion(service.getName(), "1.1");
451 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
452 CanvasManager canvasManager = CanvasManager.getCanvasManager();
454 getExtendTest().log(Status.INFO, String.format("Change vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
455 CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
457 getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
458 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
460 getExtendTest().log(Status.INFO, String.format("Service is certified"));
461 Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
462 getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
463 AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
467 public void updateLinkPropertiesPortMirroringService() throws Throwable {
469 ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
470 getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
471 Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
473 String filePath = FileHandling.getPortMirroringRepositoryPath();
474 ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
476 String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
478 CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
479 GeneralUIUtils.findComponentAndClick(service.getName());
481 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
482 CanvasManager canvasManager = CanvasManager.getCanvasManager();
484 CompositionPage.searchForElement(vmmeSourceName);
485 CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
487 CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
488 CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
490 ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
492 PortMirroringEnum.PM_REQ_TYPE.getValue(),
493 PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
495 canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
496 portMirroringConfigurationByPolicyElement,
497 connectionWizardPopUpObjectVMME);
499 serviceReqDetails.setVersion("0.1");
500 getExtendTest().log(Status.INFO, "Validating link between elements was created");
501 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
503 canvasManager.openLinkPopupReqsCapsConnection(serviceElementVmmeSource, portMirroringConfigurationByPolicyElement);
505 getExtendTest().log(Status.INFO, "Fill link properties with data");
506 GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NETWORK_ROLE_XPATH.getValue(),PortMirroringEnum.NETWORK_ROLE_VALUE.getValue());
507 GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NFC_TYPE_XPATH.getValue(),PortMirroringEnum.NFC_TYPE_VALUE.getValue());
508 GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.PPS_CAPACITY_XPATH.getValue(),PortMirroringEnum.PPS_CAPACITY_VALUE.getValue());
509 GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NF_TYPE_XPATH.getValue(),PortMirroringEnum.NF_TYPE_VALUE.getValue());
510 GeneralUIUtils.ultimateWait();
513 // throw new SkipException("Open bug 373765, Can't update link property on Port Mirroring connection");
516 canvasManager.clickSaveOnLinkPopup();
517 Thread.sleep(3000); //Temp solution. Don't remove.
518 canvasManager.openLinkPopupReqsCapsConnection(serviceElementVmmeSource, portMirroringConfigurationByPolicyElement);
520 PortMirroringVerificator.validateLinkProperties();
524 public void restorePortMirroringServiceLink() throws Throwable {
526 //Scenario is taken from bug 361475 - Second Scenario
527 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
528 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
529 Service service = portMirrioringConfigurationObject.getService();
530 CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
531 Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
533 getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
534 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
535 getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
536 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
538 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
539 GeneralUIUtils.ultimateWait();
540 HomeUtils.findComponentAndClick(service.getName());
542 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
543 CanvasManager canvasManager = CanvasManager.getCanvasManager();
545 getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
546 CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
548 getExtendTest().log(Status.INFO, "Validating 1 link exist after change version to the vmme service (Newer version)");
549 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
551 getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 1.0", serviceContainerVmme_Source.getName()));
552 CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "1.0",false);
554 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
558 public void restoreServiceVersionOnContainerService() throws Throwable {
559 //Scenario is taken from bug 361475 - First Scenario
560 PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure(false);
561 ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
562 Service service = portMirrioringConfigurationObject.getService();
563 CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
564 Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
565 Service serviceContainerVprobe_Vprobe_Collector = portMirrioringConfigurationObject.getServiceContainerVprobe_Collector();
566 CanvasElement vprobeCanvasElement = portMirrioringConfigurationObject.getServiceElementVprobeCollector();
569 getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
570 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
571 getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
572 serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
574 GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
575 GeneralUIUtils.ultimateWait();
576 HomeUtils.findComponentAndClick(service.getName());
578 ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
579 CanvasManager canvasManager = CanvasManager.getCanvasManager();
581 // canvasManager.linkElements(vmmeCanvasElement, CircleSize.SERVICE, vprobeCanvasElement, CircleSize.SERVICE);
582 canvasManager.linkElements(vmmeCanvasElement, vprobeCanvasElement);
584 getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
585 CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
587 getExtendTest().log(Status.INFO, "Validating 1 link exist after change version to the vmme service (Newer version)");
588 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 3);
590 getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 1.0", serviceContainerVmme_Source.getName()));
591 CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "1.0",false);
593 ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 3);
597 protected UserRoleEnum getRole() {
598 return UserRoleEnum.DESIGNER;