1 package vid.automation.test.test;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.equalTo;
5 import static org.hamcrest.Matchers.is;
6 import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId.PRESET_AAIAIC25_TO_ATT_AIC;
7 import static org.testng.AssertJUnit.assertEquals;
8 import static vid.automation.test.infra.Features.FLAG_COLLECTION_RESOURCE_SUPPORT;
9 import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
10 import static vid.automation.test.test.ALaCarteflowTest.AIC;
12 import com.google.common.collect.ImmutableList;
13 import java.util.ArrayList;
14 import java.util.Arrays;
15 import java.util.List;
16 import java.util.stream.Collectors;
17 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
18 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest;
19 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetRelatedInstanceGroupsByVnfId;
20 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet;
21 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
22 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetTenants;
23 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVnfVlanTagging;
24 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
25 import org.openqa.selenium.WebElement;
26 import org.openqa.selenium.support.ui.Select;
27 import org.testng.Assert;
28 import org.testng.annotations.BeforeClass;
29 import org.testng.annotations.DataProvider;
30 import org.testng.annotations.Test;
31 import vid.automation.test.Constants;
32 import vid.automation.test.infra.Click;
33 import vid.automation.test.infra.FeatureTogglingTest;
34 import vid.automation.test.infra.Get;
35 import vid.automation.test.infra.SelectOption;
36 import vid.automation.test.sections.SearchExistingPage;
37 import vid.automation.test.sections.VidBasePage;
38 import vid.automation.test.services.BulkRegistration;
39 import vid.automation.test.services.SimulatorApi;
41 @FeatureTogglingTest(FLAG_COLLECTION_RESOURCE_SUPPORT)
42 public class VlanTagSubInterfaceTest extends CreateInstanceDialogBaseTest {
44 private final String ecompNamingFalseInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3e";
45 private final String ecompNamingTrueInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3f";
48 protected void registerToSimulator() {
49 SimulatorApi.clearAll();
50 BulkRegistration.createNewServiceInstance("SILVIA ROBBINS");
52 BulkRegistration.searchExistingVFServiceWithVFCInstanceGroupInstance("Created");
53 SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.APPEND
54 , "add_subinterface/get_sdc_catalog_services_vid-test-333.json"
55 , "add_subinterface/aai_get_aic_zones.json"
58 final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion1 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "hvf6", "untraaa");
59 final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion2 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "JANET25", "untraaa");
61 SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
62 new PresetAAIGetServicesGet(),
63 new PresetAAIGetSubscribersGet(),
64 new PresetMSOCreateVnfVlanTagging(ecompNamingTrueInstanceId, "6bce7302-70bd-4057-b48e-8d5b99e686ca", true),
65 new PresetMSOCreateVnfVlanTagging(ecompNamingFalseInstanceId, "6bce7302-70bd-4057-b48e-8d5b99e686cb", false),
66 PRESET_AAIAIC25_TO_ATT_AIC,
67 new PresetAAIGetTenants(),
68 presetAAIGetInstanceGroupsByCloudRegion1,
69 presetAAIGetInstanceGroupsByCloudRegion2,
70 new PresetMSOOrchestrationRequestGet("IN_PROGRESS"),
71 new PresetMSOOrchestrationRequestGet("COMPLETE")
75 final PresetAAIGetRelatedInstanceGroupsByVnfId getRelatedInstanceGroupsByVnfId = new PresetAAIGetRelatedInstanceGroupsByVnfId("c015cc0f-0f37-4488-aabf-53795fd93cd3");
76 SimulatorApi.registerExpectationFromPreset(getRelatedInstanceGroupsByVnfId, APPEND);
81 private Object[][] getServices() {
82 return new Object[][]{
83 {ecompNamingTrueInstanceId},
84 {ecompNamingFalseInstanceId}
88 @Test(dataProvider = "getServices")
89 public void createSubInterface_validPopupDataAndUI(String serviceUuid) {
90 SearchExistingPage searchExistingPage = new SearchExistingPage();
92 VidBasePage.goOutFromIframe();
93 goToExistingInstanceById(serviceUuid);
95 String vnfName = "vDOROTHEA 0";
96 Assert.assertNotNull(Get.byClassAndText("instanceGroupTreeNode","instance group name"));
97 GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ADD_VNF_BUTTON_TEST_ID, 60);
98 GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.VNF_OPTION_TEST_ID_PREFIX + vnfName, 60);
100 GeneralUIUtils.ultimateWait();
102 searchExistingPage.goToIframe();
104 WebElement instanceNameInput = GeneralUIUtils.getInputElement(Constants.INSTANCE_NAME_SELECT_TESTS_ID);
105 instanceNameInput.sendKeys("NewName");
106 SelectOption.byTestIdAndVisibleText("TYLER SILVIA", Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
107 viewEditPage.selectLcpRegion("JANET25", AIC);
108 SelectOption.byTestIdAndVisibleText("USP-SIP-IC-24335-T-01", Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
109 SelectOption.byTestIdAndVisibleText("UUUAIAAI-YYY1", Constants.ViewEdit.AIC_ZONE_TEST_ID);
110 SelectOption.byTestIdAndVisibleText("xxx1", Constants.OwningEntity.PLATFORM_SELECT_TEST_ID);
111 SelectOption.byTestIdAndVisibleText("ONAP", Constants.OwningEntity.LOB_SELECT_TEST_ID);
112 SelectOption.byTestIdAndVisibleText("Rollback", Constants.SUPPRESS_ROLLBACK_SELECT_TESTS_ID);
115 checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_SERVICE_INSTANCENAME, "Service Instance Name",
116 Constants.VlanTagging.MODEL_ITEM_VALUE_SERVICE_INSTANCENAME, "vid-test-444");
117 checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_INVARIANT_UUID, "Model Invariant UUID",
118 Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_INVARIANT_UUID, "fcdf49ce-6f0b-4ca2-b676-a484e650e734");
119 checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_VERSION, "Model Version",
120 Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_VERSION, "0.2");
121 checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_MODEL_UUID, "Model UUID",
122 Constants.VlanTagging.MODEL_ITEM_VALUE_MODEL_UUID, "61535073-2e50-4141-9000-f66fea69b433");
123 checkModelItemLabelAndValue(Constants.VlanTagging.MODEL_ITEM_LABEL_CUSTOMIZATION_UUID, "Model Customization UUID",
124 Constants.VlanTagging.MODEL_ITEM_VALUE_CUSTOMIZATION_UUID, "882e5dcb-ba9f-4766-8cde-e326638107db");
126 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_GROUP_NAME).stream()
127 .map(WebElement::getText).collect(Collectors.toList()), Arrays.asList("Group Name", "Group Name"));
130 List<String> rightSideGroupsNames = //Will be used here AND in step 2 to check against the left side of the page
131 Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_GROUP_NAME).stream()
132 .map(WebElement::getText).collect(Collectors.toList());
134 assertEquals(rightSideGroupsNames, Arrays.asList("untr_group", "oam_group"));
136 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_NETWORK_COLLECTION_FUNCTION)
137 .stream().map(WebElement::getText).collect(Collectors.toList()),
138 Arrays.asList("Network Collection Function", "Network Collection Function"));
140 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_NETWORK_COLLECTION_FUNCTION)
141 .stream().map(WebElement::getText).collect(Collectors.toList()),
142 Arrays.asList("untraaa", "untraaa"));
144 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_INSTANCE_GROUP_FUNCTION)
145 .stream().map(WebElement::getText).collect(Collectors.toList()),
146 Arrays.asList("VFC Instance Group Function", "VFC Instance Group Function"));
148 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_INSTANCE_GROUP_FUNCTION)
149 .stream().map(WebElement::getText).collect(Collectors.toList()),
150 Arrays.asList("", ""));
152 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_PARENT_PORT_ROLE).stream()
153 .map(WebElement::getText).collect(Collectors.toList()),
154 Arrays.asList("Parent Port Role", "Parent Port Role"));
156 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_PARENT_PORT_ROLE).stream()
157 .map(WebElement::getText).collect(Collectors.toList()),
158 Arrays.asList("untr", "untr"));
160 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_LABEL_SUBINTERFACE_ROLE).stream()
161 .map(WebElement::getText).collect(Collectors.toList()),
162 Arrays.asList("Sub Interface Role", "Sub Interface Role"));
164 assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_SUBINTERFACE_ROLE).stream()
165 .map(WebElement::getText).collect(Collectors.toList()),
166 Arrays.asList("untr", "untr"));
168 Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID);
170 compareTwoGroups(Get.multipleElementsByTestId("groupLabel"), rightSideGroupsNames);
172 List<WebElement> leftSideGroups = Get.multipleElementsByTestId("groupTestId");
174 GeneralUIUtils.ultimateWait();
176 for (WebElement element : leftSideGroups) {
177 (new Select(element)).selectByIndex(1);
180 Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID);
181 VidBasePage.goOutFromIframe();
182 assertSuccessfulServiceInstanceCreation();
183 viewEditPage.clickCommitCloseButton();
186 private void compareTwoGroups(List<WebElement> leftSideGroups, List<String> rightSideGroupsNames) {
187 assertEquals(leftSideGroups.size(), rightSideGroupsNames.size());
189 //converting list of web elements to list of strings
190 ArrayList<String> leftSideGroupsNames = new ArrayList<>();
191 for (WebElement element : leftSideGroups) {
192 leftSideGroupsNames.add(element.getText());
194 assertEquals(leftSideGroupsNames, rightSideGroupsNames);
197 private void checkModelItemLabelAndValue(String labelId, String labelValue, String textID, String textValue) {
198 assertThat(Get.byTestId(labelId).getText(), is(equalTo(labelValue)));
199 assertThat(Get.byTestId(textID).getText(), is(equalTo(textValue)));