summaryrefslogtreecommitdiffstats
path: root/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java
diff options
context:
space:
mode:
Diffstat (limited to 'ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java')
-rw-r--r--ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java648
1 files changed, 567 insertions, 81 deletions
diff --git a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java
index b4bd55c6ca..ef957c6e32 100644
--- a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java
+++ b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/PortMirroring.java
@@ -1,124 +1,610 @@
package org.openecomp.sdc.ci.tests.execute.sanity;
-import java.util.Map;
-
-import org.openecomp.sdc.be.model.ComponentInstance;
+import com.aventstack.extentreports.Status;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.be.model.Service;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.ci.tests.datatypes.AmdocsLicenseMembers;
-import org.openecomp.sdc.ci.tests.datatypes.CanvasElement;
-import org.openecomp.sdc.ci.tests.datatypes.CanvasManager;
-import org.openecomp.sdc.ci.tests.datatypes.ConnectionWizardPopUpObject;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ServiceContainer;
-import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.VendorSoftwareProductObject;
+import org.openecomp.sdc.ci.tests.datatypes.*;
import org.openecomp.sdc.ci.tests.datatypes.enums.CircleSize;
import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest;
import org.openecomp.sdc.ci.tests.pages.CompositionPage;
+import org.openecomp.sdc.ci.tests.pages.ResourceGeneralPage;
import org.openecomp.sdc.ci.tests.pages.ServiceGeneralPage;
-import org.openecomp.sdc.ci.tests.utilities.ServiceUIUtils;
+import org.openecomp.sdc.ci.tests.utilities.CatalogUIUtilitis;
+import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
+import org.openecomp.sdc.ci.tests.utilities.HomeUtils;
+import org.openecomp.sdc.ci.tests.utilities.PortMirroringUtils;
import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
import org.openecomp.sdc.ci.tests.utils.general.FileHandling;
-import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtillViaApis;
-import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils;
+import org.openecomp.sdc.ci.tests.verificator.PortMirroringVerificator;
import org.openecomp.sdc.ci.tests.verificator.ServiceVerificator;
+import org.testng.AssertJUnit;
+import org.testng.SkipException;
import org.testng.annotations.Test;
-import com.aventstack.extentreports.Status;
-import com.clearspring.analytics.util.Pair;
+import java.io.File;
-import fj.data.Either;
+import static org.testng.Assert.assertTrue;
-public class PortMirroring extends SetupCDTest
-{
- @Override
- protected UserRoleEnum getRole() {
- return UserRoleEnum.DESIGNER3;
+public class PortMirroring extends SetupCDTest {
+
+ @Test
+ public void createPortMirroringConfigurationServiceProxy() throws Throwable {
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ CanvasManager canvasManager = portMirrioringConfigurationObject.getCanvasManager();
+ CanvasElement serviceElementVmmeSourceName = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
+ String vmmeSourceName = portMirrioringConfigurationObject.getVmmeSourceName();
+ CanvasElement serviceElementVprobeCollector = portMirrioringConfigurationObject.getServiceElementVprobeCollector();
+ String vprobeSourceName = portMirrioringConfigurationObject.getVprobeSourceName();
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating links between elements were created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+
+ canvasManager.clickOnCanvaElement(serviceElementVmmeSourceName);
+ PortMirroringVerificator.validatingProxyServiceNameAndType(vmmeSourceName, "0");
+
+ canvasManager.clickOnCanvaElement(serviceElementVprobeCollector);
+ PortMirroringVerificator.validatingProxyServiceNameAndType(vprobeSourceName, "0");
}
- String portMirroringElementNameInPallete = "Port Mirroring Configuration";
- String portMirroringCapReqType = "org.openecomp.capabilities.PortMirroring";
- String portMirroringSourceCapability = "Port Mirroring Configuration 0: source: [1, UNBOUNDED]";
- String portMirroringCollectorCapability = "Port Mirroring Configuration 0: collector: [1, 1]";
+ @Test
+ public void distributePortMirroringConfigurationServiceProxy() throws Throwable {
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ Service service = portMirrioringConfigurationObject.getService();
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating links between elements were created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+ getExtendTest().log(Status.INFO, String.format("Service is certified"));
+ Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
+ getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
+ AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
+ }
@Test
- public void createPortMirroringServiceProxy() throws Throwable {
+ public void createPortMirroringByPolicyServiceProxy() throws Throwable {
//Using API onboard and certify 2 zip files Source: vmmme and Collector: Vprobe
String filePath = FileHandling.getPortMirroringRepositoryPath();
- ServiceContainer serviceContainerVmme_Source = createServiceFromHeatFile(filePath,"2016-227_vmme_vmme_30_1610_e2e.zip");
- ServiceContainer serviceContainerVprobe_Collector = createServiceFromHeatFile(filePath,"vProbe_2017-10-22_07-24.zip");
+ ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
+
+ // create service with required pnf's and certify it
+ Resource resourceCisco = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.CISCO_VENDOR_NAME.getValue(), PortMirroringEnum.CISCO_VENDOR_MODEL_NUMBER.getValue(), getUser());
+ Resource resourceAPCON1 = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.APCON1_VENDOR_NAME.getValue(), PortMirroringEnum.APCON1_VENDOR_MODEL_NUMBER.getValue(), getUser());
+ Resource resourceAPCON2 = PortMirroringUtils.GeneratePNFAndUpdateInput(PortMirroringEnum.APCON2_VENDOR_NAME.getValue(), PortMirroringEnum.APCON2_VENDOR_MODEL_NUMBER.getValue(), getUser());
+
+ ServiceReqDetails serviceReqDetailsCollector = ElementFactory.getDefaultService();
+ serviceReqDetailsCollector.setServiceType(PortMirroringEnum.SERVICE_TYPE.getValue());
+ getExtendTest().log(Status.INFO, String.format("Creating collector service %s (PNF container)", serviceReqDetailsCollector.getName()));
+ Service serviceCollector = AtomicOperationUtils.createCustomService(serviceReqDetailsCollector, UserRoleEnum.DESIGNER, true).left().value();
+
+ getExtendTest().log(Status.INFO, String.format("Adding pnf's: %s,%s,%s to service %s", resourceCisco.getName(), resourceAPCON1.getName(), resourceAPCON2.getName(), serviceCollector.getName()));
-// String vmmeSourceName = "ciServiceb560327d162f";
-// String vprobeSourceName = "ciService3d9933d31791";
+ AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceCisco, serviceCollector, UserRoleEnum.DESIGNER, true, "80", "80");
+ AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceAPCON1, serviceCollector, UserRoleEnum.DESIGNER, true, "80", "200");
+ AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceAPCON2, serviceCollector, UserRoleEnum.DESIGNER, true, "200", "200");
- // create service
- ServiceReqDetails serviceMetadata = ElementFactory.getDefaultService();
- ServiceUIUtils.createService(serviceMetadata, getUser());
+ serviceCollector = (Service) AtomicOperationUtils.changeComponentState(serviceCollector, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ // create container service
+ ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
+ Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
- String vprobeSourceName = serviceContainerVprobe_Collector.getService().getName();
+ String collectorServiceName = serviceCollector.getName();
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
CanvasManager canvasManager = CanvasManager.getCanvasManager();
CompositionPage.searchForElement(vmmeSourceName);
- CanvasElement serviceElementVmmeSourceName = canvasManager.createElementOnCanvas(vmmeSourceName);
-
- CompositionPage.searchForElement(vprobeSourceName);
- CanvasElement serviceElementVprobeCollector = canvasManager.createElementOnCanvas(vprobeSourceName);
-
- CompositionPage.searchForElement(portMirroringElementNameInPallete);
- CanvasElement portMirroringConfigurationElement = canvasManager.createElementOnCanvas(portMirroringElementNameInPallete);
-
- ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("","", portMirroringCapReqType, portMirroringSourceCapability);
- ConnectionWizardPopUpObject connectionWizardPopUpObjectVProbe = new ConnectionWizardPopUpObject("","", portMirroringCapReqType, portMirroringCollectorCapability);
-
- canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, CircleSize.SERVICE,portMirroringConfigurationElement, CircleSize.NORMATIVE, connectionWizardPopUpObjectVMME);
- canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVprobeCollector, CircleSize.SERVICE, portMirroringConfigurationElement, CircleSize.NORMATIVE, connectionWizardPopUpObjectVProbe);
-
- serviceMetadata.setVersion("0.1");
- ServiceVerificator.verifyLinkCreated(serviceMetadata, getUser(), 2);
-
- System.out.println("End");
- }
-
- public ServiceContainer createServiceFromHeatFile(String filePath, String vnfFile) throws Throwable
- {
- setLog(String.format("Distribute Service Test: Create VF from %s add it to service than distribute", vnfFile));
-// 1. Import VSP v1.0
- User sdncDesignerDetails1 = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER3);
- AmdocsLicenseMembers amdocsLicenseMembers = OnboardingUtils.createVendorLicense(sdncDesignerDetails1);
- getExtendTest().log(Status.INFO, String.format("Creating Vendor Software License (VLM): %s v1.0", amdocsLicenseMembers.getVendorLicenseName()));
- ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
- getExtendTest().log(Status.INFO, String.format("Creating Vendor Software Product (VSP): %s v1.0 from heat file: %s ", resourceReqDetails.getName(), vnfFile));
- Pair<String, Map<String, String>> createVendorSoftwareProduct = OnboardingUtils.createVendorSoftwareProduct(resourceReqDetails, vnfFile, filePath, sdncDesignerDetails1, amdocsLicenseMembers);
- VendorSoftwareProductObject vendorSoftwareProductObject = OnboardViaApis.fillVendorSoftwareProductObjectWithMetaData(vnfFile, createVendorSoftwareProduct);
-// 2. Create VF, certify - v1.0 is created
- resourceReqDetails = OnboardingUtillViaApis.prepareOnboardedResourceDetailsBeforeCreate(resourceReqDetails, vendorSoftwareProductObject);
- Resource resource = OnboardingUtillViaApis.createResourceFromVSP(resourceReqDetails);
- resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
- getExtendTest().log(Status.INFO, String.format("Creating Virtual Function (VF): %s v1.0", resourceReqDetails.getName()));
- getExtendTest().log(Status.INFO, String.format("Certify the VF"));
-// 3. Create Service add to it the certified VF and certify the Service v1.0
+ CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
+
+ CompositionPage.searchForElement(collectorServiceName);
+ CanvasElement serviceElementCollectorService = canvasManager.createElementOnCanvas(collectorServiceName);
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
+ "",
+ PortMirroringEnum.PM_REQ_TYPE.getValue(),
+ PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
+
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
+ CircleSize.SERVICE,
+ portMirroringConfigurationByPolicyElement,
+ CircleSize.NORMATIVE,
+ connectionWizardPopUpObjectVMME);
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating link between elements was created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
+
+ canvasManager.clickOnCanvaElement(serviceElementVmmeSource);
+ PortMirroringVerificator.validatingProxyServiceNameAndType(vmmeSourceName, "0");
+
+ getExtendTest().log(Status.INFO, "Adding properties to PMCP");
+
+ if(true){
+ throw new SkipException("Open bug 373762, can't update properties on CP or VFC instance on Composition screen");
+ }
+
+ canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
+ CompositionPage.showPropertiesAndAttributesTab();
+ CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.COLLECTOR_NODE.getValue(), PortMirroringUtils.createProxyInstanceServiceName(collectorServiceName, "1"));
+ CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.EQUIP_MODEL.getValue(), PortMirroringEnum.CISCO_VENDOR_MODEL_NUMBER.getValue());
+ CompositionPage.setSingleProperty(DataTestIdEnum.PortMirroring.EQUIP_VENDOR.getValue(), PortMirroringEnum.CISCO_VENDOR_NAME.getValue());
+
+ // Distribute the Port Mirroning Configuration By Policy
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+ getExtendTest().log(Status.INFO, String.format("Service is certified"));
+ Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
+ getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
+ AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
+ }
+
+ @Test
+ public void deletePMCPLink() throws Throwable {
+ ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
+ Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
+
+ String filePath = FileHandling.getPortMirroringRepositoryPath();
+ ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
+
+ String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ CompositionPage.searchForElement(vmmeSourceName);
+ CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ ImmutablePair<Integer, Integer> linkLocation = canvasManager.calcMidOfLink(serviceElementVmmeSource.getLocation(), portMirroringConfigurationByPolicyElement.getLocation());
+
+ ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
+ "",
+ PortMirroringEnum.PM_REQ_TYPE.getValue(),
+ PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
+
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
+ CircleSize.SERVICE,
+ portMirroringConfigurationByPolicyElement,
+ CircleSize.NORMATIVE,
+ connectionWizardPopUpObjectVMME);
+
+ CanvasElement linkBetweenPMCP_VMME = new CanvasElement("Link", linkLocation);
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating link between elements was created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
+
+ canvasManager.openLinkPopupReqsCapsConnection(linkBetweenPMCP_VMME);
+ canvasManager.closeLinkPopupReqsCapsConnection();
+ canvasManager.deleteLinkPopupReqsCapsConnection(linkBetweenPMCP_VMME);
+
+ getExtendTest().log(Status.INFO, "Validating link deleted");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 0);
+ }
+
+ @Test
+ public void verifyPMCNotExistInVF() throws Exception {
+ Resource resource = PortMirroringUtils.getResourceByType(ResourceTypeEnum.VF, "VF", "VendorModel");
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+
+ GeneralUIUtils.findComponentAndClick(resource.getName());
+ ResourceGeneralPage.getLeftMenu().moveToCompositionScreen();
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
+
+ getExtendTest().log(Status.INFO, "Verify that Port Mirroring Configuration and Configuration by Policy doesn't exist for VF ");
+ boolean isPMCFound = GeneralUIUtils.isElementInvisibleByTestId(DataTestIdEnum.PortMirroring.PMC_NAME_IN_PALLETE.getValue());
+ boolean isPMCPFound = GeneralUIUtils.isElementInvisibleByTestId(DataTestIdEnum.PortMirroring.PMCP_NAME_IN_PALLETE.getValue());
+
+ assertTrue(isPMCFound);
+ assertTrue(isPMCPFound);
+ }
+
+ @Test
+ public void verifyPMCPTabs() throws Exception {
+
+ ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
+ Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
+
+ PortMirroringVerificator.validateGeneralInfo();
+ PortMirroringVerificator.validateReqsAndCapsTabExist();
+ }
+
+
+ @Test
+ public void editPMCPName() throws Exception {
+
ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
- getExtendTest().log(Status.INFO, String.format("Creating Service: %s v1.0", serviceReqDetails.getName()));
- Either<ComponentInstance, RestResponse> addComponentInstanceToComponentContainer = AtomicOperationUtils.addComponentInstanceToComponentContainer(resource, service, UserRoleEnum.DESIGNER, true);
- ComponentInstance componentInstance = addComponentInstanceToComponentContainer.left().value();
- getExtendTest().log(Status.INFO, String.format("Adding VF instance to Service"));
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
+
+ getExtendTest().log(Status.INFO, "Edit PMCP Name");
+ GeneralUIUtils.clickOnElementById(DataTestIdEnum.CompositionRightPanel.EDIT_PENCIL.getValue());
+ GeneralUIUtils.setTextInElementByDataTestID(DataTestIdEnum.CompositionRightPanel.INSTANCE_NAME_TEXTBOX.getValue(), PortMirroringEnum.PMCP_NEWNAME.getValue());
+ GeneralUIUtils.clickOnElementByTestId("OK");
+
+ PortMirroringVerificator.validateElementName(PortMirroringEnum.PMCP_NEWNAME.getValue());
+ }
+
+
+ @Test
+ public void deletePMCP() throws Exception {
+
+ ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
+ Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ canvasManager.clickOnCanvaElement(portMirroringConfigurationByPolicyElement);
+
+ getExtendTest().log(Status.INFO, String.format("Delete element %s", portMirroringConfigurationByPolicyElement.getElementType()));
+ GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.CompositionRightPanel.DELETE_ITEM.getValue());
+ GeneralUIUtils.clickOnElementByTestId("OK");
+
+ PortMirroringVerificator.validateElementName(service.getName());
+ }
+
+ @Test
+ public void createPortMirroringConfigurationMulipleInstances() throws Throwable {
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ CanvasElement serviceElementVmmeSourceName = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating 2 links between elements were created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ GeneralUIUtils.findComponentAndClick(serviceReqDetails.getName());
+
+ getExtendTest().log(Status.INFO, "Adding second PMC to composition");
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+ CompositionPage.searchForElement(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMC_ELEMENT_IN_PALLETE.getValue());
+
+ ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("", "",
+ PortMirroringEnum.PM_REQ_TYPE.getValue(), PortMirroringEnum.PMC1_SOURCE_CAP.getValue());
+
+ getExtendTest().log(Status.INFO, "Connect VMME to PMC again");
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, CircleSize.SERVICE, portMirroringConfigurationElement,
+ CircleSize.NORMATIVE, connectionWizardPopUpObjectVMME);
+
+ getExtendTest().log(Status.INFO, "Connect VMME to PMC again");
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, CircleSize.SERVICE, portMirroringConfigurationElement,
+ CircleSize.NORMATIVE, connectionWizardPopUpObjectVMME);
+
+ getExtendTest().log(Status.INFO, "Validating 4 links between elements exist");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 4);
+
+ getExtendTest().log(Status.INFO, "Adding second PMCP to composition");
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME_PMCP = new ConnectionWizardPopUpObject("",
+ "",
+ PortMirroringEnum.PM_REQ_TYPE.getValue(),
+ PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
+
+ getExtendTest().log(Status.INFO, "Connect VMME to PMCP again");
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, CircleSize.SERVICE, portMirroringConfigurationByPolicyElement,
+ CircleSize.NORMATIVE, connectionWizardPopUpObjectVMME_PMCP);
+
+ getExtendTest().log(Status.INFO, "Connect VMME to PMCP again");
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSourceName, CircleSize.SERVICE, portMirroringConfigurationByPolicyElement,
+ CircleSize.NORMATIVE, connectionWizardPopUpObjectVMME_PMCP);
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating 6 links between elements exist");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 6);
+ }
+
+ @Test
+ public void downloadArtifactFromPMCService() throws Throwable {
+ //Scenario of bug 362271
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ GeneralUIUtils.findComponentAndClick(serviceReqDetails.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToToscaArtifactsScreen();
+
+ GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ToscaArtifactsScreenEnum.TOSCA_MODEL.getValue());
+ File latestFilefromDir = org.openecomp.sdc.ci.tests.utilities.FileHandling.getLastModifiedFileNameFromDir();
+ String actualToscaModelFilename = latestFilefromDir.getName();
+
+ GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ToscaArtifactsScreenEnum.TOSCA_TEMPLATE.getValue());
+ latestFilefromDir = org.openecomp.sdc.ci.tests.utilities.FileHandling.getLastModifiedFileNameFromDir();
+ String actualToscaTemplateFilename = latestFilefromDir.getName();
+
+ String expectedToscaModelFilename = String.format("service-%s-csar.csar", serviceReqDetails.getName());
+ String expectedToscaTemplateFilename = String.format("service-%s-template.yml", serviceReqDetails.getName());
+
+ getExtendTest().log(Status.INFO, "Validating tosca artifact downloaded successfully");
+ AssertJUnit.assertTrue(actualToscaModelFilename.equalsIgnoreCase(expectedToscaModelFilename));
+ AssertJUnit.assertTrue(actualToscaTemplateFilename.equalsIgnoreCase(expectedToscaTemplateFilename));
+ }
+
+ @Test
+ public void checkoutMirroringConfigurationServiceProxyAndDeletePMC() throws Throwable {
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ Service service = portMirrioringConfigurationObject.getService();
+ CanvasElement portMirroringConfigurationElement = portMirrioringConfigurationObject.getPortMirroringConfigurationElement();
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating links between elements were created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ getExtendTest().log(Status.INFO, String.format("Checkout Port Mirroring Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ HomeUtils.findComponentAndClickByVersion(service.getName(), "1.1");
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+ GeneralUIUtils.ultimateWait();
+ canvasManager.clickOnCanvasPosition(portMirroringConfigurationElement.getLocation().getLeft(), portMirroringConfigurationElement.getLocation().getRight());
+ getExtendTest().log(Status.INFO, String.format("Delete element %s", portMirroringConfigurationElement.getElementType()));
+ GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.CompositionRightPanel.DELETE_ITEM.getValue());
+ GeneralUIUtils.clickOnElementByTestId("OK");
+
+ PortMirroringVerificator.validateElementName(service.getName());
+ getExtendTest().log(Status.INFO, "Validating 0 links after delete the port mirroring element");
+ serviceReqDetails.setVersion("1.1");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 0);
+
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ getExtendTest().log(Status.INFO, String.format("Service is certified"));
+ Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
+ getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
+ AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
+ }
+
+ @Test
+ public void updatePortMirroringServiceInstance() throws Throwable {
+
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ Service service = portMirrioringConfigurationObject.getService();
+ CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
+
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
+ getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
+ getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ getExtendTest().log(Status.INFO, String.format("Checkout Port Mirroring Service"));
+ service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ HomeUtils.findComponentAndClickByVersion(service.getName(), "1.1");
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ getExtendTest().log(Status.INFO, String.format("Change vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
+ CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
+
+ getExtendTest().log(Status.INFO, String.format("Going to certify the Service"));
service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
- getExtendTest().log(Status.INFO, String.format("Certify the Service"));
- return new ServiceContainer(service,resource,vendorSoftwareProductObject,amdocsLicenseMembers);
+ getExtendTest().log(Status.INFO, String.format("Service is certified"));
+ Boolean distributeAndValidateService = AtomicOperationUtils.distributeAndValidateService(service);
+ getExtendTest().log(Status.INFO, String.format("Distribute and validate the Service"));
+ AssertJUnit.assertTrue("Distribution status is " + distributeAndValidateService, distributeAndValidateService);
}
+ @Test
+ public void updateLinkPropertiesPortMirroringService() throws Throwable {
+
+ ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();
+ getExtendTest().log(Status.INFO, String.format("Creating container service %s", serviceReqDetails.getName()));
+ Service service = AtomicOperationUtils.createCustomService(serviceReqDetails, UserRoleEnum.DESIGNER, true).left().value();
+
+ String filePath = FileHandling.getPortMirroringRepositoryPath();
+ ServiceContainer serviceContainerVmme_Source = PortMirroringUtils.createServiceFromHeatFile(filePath, "2016-227_vmme_vmme_30_1610_e2e.zip");
+
+ String vmmeSourceName = serviceContainerVmme_Source.getService().getName();
+
+ CatalogUIUtilitis.clickTopMenuButton(TopMenuButtonsEnum.CATALOG);
+ GeneralUIUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ CompositionPage.searchForElement(vmmeSourceName);
+ CanvasElement serviceElementVmmeSource = canvasManager.createElementOnCanvas(vmmeSourceName);
+
+ CompositionPage.searchForElement(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+ CanvasElement portMirroringConfigurationByPolicyElement = canvasManager.createElementOnCanvas(PortMirroringEnum.PMCP_ELEMENT_IN_PALLETE.getValue());
+
+ ImmutablePair<Integer, Integer> linkLocation = canvasManager.calcMidOfLink(serviceElementVmmeSource.getLocation(), portMirroringConfigurationByPolicyElement.getLocation());
+
+ ConnectionWizardPopUpObject connectionWizardPopUpObjectVMME = new ConnectionWizardPopUpObject("",
+ "",
+ PortMirroringEnum.PM_REQ_TYPE.getValue(),
+ PortMirroringEnum.PMCP_SOURCE_CAP.getValue());
+
+ canvasManager.linkElementsAndSelectCapReqTypeAndCapReqName(serviceElementVmmeSource,
+ CircleSize.SERVICE,
+ portMirroringConfigurationByPolicyElement,
+ CircleSize.NORMATIVE,
+ connectionWizardPopUpObjectVMME);
+
+ CanvasElement linkBetweenPMCP_VMME = new CanvasElement("Link", linkLocation);
+
+ serviceReqDetails.setVersion("0.1");
+ getExtendTest().log(Status.INFO, "Validating link between elements was created");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 1);
+
+ canvasManager.openLinkPopupReqsCapsConnection(linkBetweenPMCP_VMME);
+
+ getExtendTest().log(Status.INFO, "Fill link properties with data");
+ GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NETWORK_ROLE_XPATH.getValue(),PortMirroringEnum.NETWORK_ROLE_VALUE.getValue());
+ GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NFC_TYPE_XPATH.getValue(),PortMirroringEnum.NFC_TYPE_VALUE.getValue());
+ GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.PPS_CAPACITY_XPATH.getValue(),PortMirroringEnum.PPS_CAPACITY_VALUE.getValue());
+ GeneralUIUtils.setTextInElementByXpath(PortMirroringEnum.NF_TYPE_XPATH.getValue(),PortMirroringEnum.NF_TYPE_VALUE.getValue());
+ GeneralUIUtils.ultimateWait();
+
+ if(true){
+ throw new SkipException("Open bug 373765, Can't update link property on Port Mirroring connection");
+ }
+
+ canvasManager.clickSaveOnLinkPopup();
+ Thread.sleep(3000); //Temp solution. Don't remove.
+ canvasManager.openLinkPopupReqsCapsConnection(linkBetweenPMCP_VMME);
+
+ PortMirroringVerificator.validateLinkProperties();
+ }
+
+ @Test
+ public void restorePortMirroringServiceLink() throws Throwable {
+ //Scenario is taken from bug 361475 - Second Scenario
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ Service service = portMirrioringConfigurationObject.getService();
+ CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
+ Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
+
+ getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
+ getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ HomeUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
+ CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
+
+ getExtendTest().log(Status.INFO, "Validating 1 link exist after change version to the vmme service (Newer version)");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+
+ getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 1.0", serviceContainerVmme_Source.getName()));
+ CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "1.0",false);
+
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 2);
+ }
+
+ @Test
+ public void restoreServiceVersionOnContainerService() throws Throwable {
+ //Scenario is taken from bug 361475 - First Scenario
+ PortMirrioringConfigurationObject portMirrioringConfigurationObject = PortMirroringUtils.createPortMirriongConfigurationStructure();
+ ServiceReqDetails serviceReqDetails = portMirrioringConfigurationObject.getServiceReqDetails();
+ Service service = portMirrioringConfigurationObject.getService();
+ CanvasElement vmmeCanvasElement = portMirrioringConfigurationObject.getServiceElementVmmeSourceName();
+ Service serviceContainerVmme_Source = portMirrioringConfigurationObject.getServiceContainerVmme_Source();
+ Service serviceContainerVprobe_Vprobe_Collector = portMirrioringConfigurationObject.getServiceContainerVprobe_Collector();
+ CanvasElement vprobeCanvasElement = portMirrioringConfigurationObject.getServiceElementVprobeCollector();
+
+
+ getExtendTest().log(Status.INFO, String.format("Checkout the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
+ getExtendTest().log(Status.INFO, String.format("Going to certify the vmme Service"));
+ serviceContainerVmme_Source = (Service) AtomicOperationUtils.changeComponentState(serviceContainerVmme_Source, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
+
+ GeneralUIUtils.getWebElementByTestID(DataTestIdEnum.MainMenuButtonsFromInsideFrame.HOME_BUTTON.getValue()).click();
+ GeneralUIUtils.ultimateWait();
+ HomeUtils.findComponentAndClick(service.getName());
+
+ ServiceGeneralPage.getLeftMenu().moveToCompositionScreen();
+ CanvasManager canvasManager = CanvasManager.getCanvasManager();
+
+ canvasManager.linkElements(vmmeCanvasElement, CircleSize.SERVICE, vprobeCanvasElement, CircleSize.SERVICE);
+
+ getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 2.0", serviceContainerVmme_Source.getName()));
+ CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "2.0",false);
+
+ getExtendTest().log(Status.INFO, "Validating 1 link exist after change version to the vmme service (Newer version)");
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 3);
+
+ getExtendTest().log(Status.INFO, String.format("Changing vmme source %s instance to version 1.0", serviceContainerVmme_Source.getName()));
+ CompositionPage.changeComponentVersion(canvasManager, vmmeCanvasElement, "1.0",false);
+
+ ServiceVerificator.verifyLinkCreated(serviceReqDetails, getUser(), 3);
+ }
+
+ @Override
+ protected UserRoleEnum getRole() {
+ return UserRoleEnum.DESIGNER;
+ }
}