diff options
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test/test/VlanTagSubInterfaceTest.java')
-rw-r--r-- | vid-automation/src/main/java/vid/automation/test/test/VlanTagSubInterfaceTest.java | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/test/VlanTagSubInterfaceTest.java b/vid-automation/src/main/java/vid/automation/test/test/VlanTagSubInterfaceTest.java new file mode 100644 index 000000000..3f8db2a94 --- /dev/null +++ b/vid-automation/src/main/java/vid/automation/test/test/VlanTagSubInterfaceTest.java @@ -0,0 +1,201 @@ +package vid.automation.test.test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId.PRESET_AAIAIC25_TO_ATT_AIC; +import static org.testng.AssertJUnit.assertEquals; +import static vid.automation.test.infra.Features.FLAG_COLLECTION_RESOURCE_SUPPORT; +import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND; +import static vid.automation.test.test.ALaCarteflowTest.AIC; + +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import org.onap.sdc.ci.tests.utilities.GeneralUIUtils; +import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest; +import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetRelatedInstanceGroupsByVnfId; +import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet; +import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet; +import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetTenants; +import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVnfVlanTagging; +import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.Select; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; +import vid.automation.test.Constants; +import vid.automation.test.infra.Click; +import vid.automation.test.infra.FeatureTogglingTest; +import vid.automation.test.infra.Get; +import vid.automation.test.infra.SelectOption; +import vid.automation.test.sections.SearchExistingPage; +import vid.automation.test.sections.VidBasePage; +import vid.automation.test.services.BulkRegistration; +import vid.automation.test.services.SimulatorApi; + +@FeatureTogglingTest(FLAG_COLLECTION_RESOURCE_SUPPORT) +public class VlanTagSubInterfaceTest extends CreateInstanceDialogBaseTest { + + private final String ecompNamingFalseInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3e"; + private final String ecompNamingTrueInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3f"; + + @BeforeClass + protected void registerToSimulator() { + SimulatorApi.clearAll(); + BulkRegistration.createNewServiceInstance("SILVIA ROBBINS"); + + BulkRegistration.searchExistingVFServiceWithVFCInstanceGroupInstance("Created"); + SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.APPEND + , "add_subinterface/get_sdc_catalog_services_vid-test-333.json" + , "add_subinterface/aai_get_aic_zones.json" + ); + + final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion1 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "hvf6", "untraaa"); + final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion2 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "JANET25", "untraaa"); + + SimulatorApi.registerExpectationFromPresets(ImmutableList.of( + new PresetAAIGetServicesGet(), + new PresetAAIGetSubscribersGet(), + new PresetMSOCreateVnfVlanTagging(ecompNamingTrueInstanceId, "6bce7302-70bd-4057-b48e-8d5b99e686ca", true), + new PresetMSOCreateVnfVlanTagging(ecompNamingFalseInstanceId, "6bce7302-70bd-4057-b48e-8d5b99e686cb", false), + PRESET_AAIAIC25_TO_ATT_AIC, + new PresetAAIGetTenants(), + presetAAIGetInstanceGroupsByCloudRegion1, + presetAAIGetInstanceGroupsByCloudRegion2, + new PresetMSOOrchestrationRequestGet("IN_PROGRESS"), + new PresetMSOOrchestrationRequestGet("COMPLETE") + ), + APPEND); + + final PresetAAIGetRelatedInstanceGroupsByVnfId getRelatedInstanceGroupsByVnfId = new PresetAAIGetRelatedInstanceGroupsByVnfId("c015cc0f-0f37-4488-aabf-53795fd93cd3"); + SimulatorApi.registerExpectationFromPreset(getRelatedInstanceGroupsByVnfId, APPEND); + + } + + @DataProvider + private Object[][] getServices() { + return new Object[][]{ + {ecompNamingTrueInstanceId}, + {ecompNamingFalseInstanceId} + }; + } + + @Test(dataProvider = "getServices") + public void createSubInterface_validPopupDataAndUI(String serviceUuid) { + SearchExistingPage searchExistingPage = new SearchExistingPage(); + + VidBasePage.goOutFromIframe(); + goToExistingInstanceById(serviceUuid); + + String vnfName = "vDOROTHEA 0"; + Assert.assertNotNull(Get.byClassAndText("instanceGroupTreeNode","instance group name")); + GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ADD_VNF_BUTTON_TEST_ID, 60); + GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.VNF_OPTION_TEST_ID_PREFIX + vnfName, 60); + + GeneralUIUtils.ultimateWait(); + + searchExistingPage.goToIframe(); + + WebElement instanceNameInput = GeneralUIUtils.getInputElement(Constants.INSTANCE_NAME_SELECT_TESTS_ID); + instanceNameInput.sendKeys("NewName"); + SelectOption.byTestIdAndVisibleText("TYLER SILVIA", Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID); + viewEditPage.selectLcpRegion("JANET25", AIC); + SelectOption.byTestIdAndVisibleText("USP-SIP-IC-24335-T-01", Constants.ViewEdit.TENANT_SELECT_TESTS_ID); + SelectOption.byTestIdAndVisibleText("UUUAIAAI-YYY1", Constants.ViewEdit.AIC_ZONE_TEST_ID); + SelectOption.byTestIdAndVisibleText("xxx1", Constants.OwningEntity.PLATFORM_SELECT_TEST_ID); + SelectOption.byTestIdAndVisibleText("ONAP", Constants.OwningEntity.LOB_SELECT_TEST_ID); + SelectOption.byTestIdAndVisibleText("Rollback", Constants.SUPPRESS_ROLLBACK_SELECT_TESTS_ID); + + + checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_SERVICE_INSTANCENAME, "Service Instance Name", + Constants.VlanTagging.MODEL_ITEM_VALUE_SERVICE_INSTANCENAME, "vid-test-444"); + checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_INVARIANT_UUID, "Model Invariant UUID", + Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_INVARIANT_UUID, "fcdf49ce-6f0b-4ca2-b676-a484e650e734"); + checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_VERSION, "Model Version", + Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_VERSION, "0.2"); + checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_UUID, "Model UUID", + Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_UUID, "61535073-2e50-4141-9000-f66fea69b433"); + checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_CUSTOMIZATION_UUID, "Model Customization UUID", + Constants.VlanTagging.MODEL_ITEM_VALUE_CUSTOMIZATION_UUID, "882e5dcb-ba9f-4766-8cde-e326638107db"); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_GROUP_NAME).stream() + .map(WebElement::getText).collect(Collectors.toList()), Arrays.asList("Group Name", "Group Name")); + + + List<String> rightSideGroupsNames = //Will be used here AND in step 2 to check against the left side of the page + Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_GROUP_NAME).stream() + .map(WebElement::getText).collect(Collectors.toList()); + + assertEquals(rightSideGroupsNames, Arrays.asList("untr_group", "oam_group")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_NETWORK_COLLECTION_FUNCTION) + .stream().map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("Network Collection Function", "Network Collection Function")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_NETWORK_COLLECTION_FUNCTION) + .stream().map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("untraaa", "untraaa")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_INSTANCE_GROUP_FUNCTION) + .stream().map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("VFC Instance Group Function", "VFC Instance Group Function")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_INSTANCE_GROUP_FUNCTION) + .stream().map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("", "")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_PARENT_PORT_ROLE).stream() + .map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("Parent Port Role", "Parent Port Role")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_PARENT_PORT_ROLE).stream() + .map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("untr", "untr")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_SUBINTERFACE_ROLE).stream() + .map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("Sub Interface Role", "Sub Interface Role")); + + assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_SUBINTERFACE_ROLE).stream() + .map(WebElement::getText).collect(Collectors.toList()), + Arrays.asList("untr", "untr")); + + Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID); + + compareTwoGroups(Get.multipleElementsByTestId("groupLabel"), rightSideGroupsNames); + + List<WebElement> leftSideGroups = Get.multipleElementsByTestId("groupTestId"); + + GeneralUIUtils.ultimateWait(); + + for (WebElement element : leftSideGroups) { + (new Select(element)).selectByIndex(1); + } + + Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID); + VidBasePage.goOutFromIframe(); + assertSuccessfulServiceInstanceCreation(); + viewEditPage.clickCommitCloseButton(); + } + + private void compareTwoGroups(List<WebElement> leftSideGroups, List<String> rightSideGroupsNames) { + assertEquals(leftSideGroups.size(), rightSideGroupsNames.size()); + + //converting list of web elements to list of strings + ArrayList<String> leftSideGroupsNames = new ArrayList<>(); + for (WebElement element : leftSideGroups) { + leftSideGroupsNames.add(element.getText()); + } + assertEquals(leftSideGroupsNames, rightSideGroupsNames); + } + + private void checkModelItemLabelAndValue(String labelId, String labelValue, String textID, String textValue) { + assertThat(Get.byTestId(labelId).getText(), is(equalTo(labelValue))); + assertThat(Get.byTestId(textID).getText(), is(equalTo(textValue))); + } +} |