Escape unexpected tokens in CATALINA_OPTS
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / VlanTagSubInterfaceTest.java
1 package vid.automation.test.test;
2
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;
11
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;
40
41 @FeatureTogglingTest(FLAG_COLLECTION_RESOURCE_SUPPORT)
42 public class VlanTagSubInterfaceTest extends CreateInstanceDialogBaseTest {
43
44     private final String ecompNamingFalseInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3e";
45     private final String ecompNamingTrueInstanceId = "dc3a893e-0104-4ef6-abfe-6c2932294a3f";
46
47     @BeforeClass
48     protected void registerToSimulator() {
49         SimulatorApi.clearAll();
50         BulkRegistration.createNewServiceInstance("SILVIA ROBBINS");
51
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"
56         );
57
58         final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion1 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "hvf6", "untraaa");
59         final PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest presetAAIGetInstanceGroupsByCloudRegion2 = new PresetAAIGetInstanceGroupsByCloudRegionInvalidRequest("irma-aic", "JANET25", "untraaa");
60
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")
72                 ),
73                 APPEND);
74
75         final PresetAAIGetRelatedInstanceGroupsByVnfId getRelatedInstanceGroupsByVnfId = new PresetAAIGetRelatedInstanceGroupsByVnfId("c015cc0f-0f37-4488-aabf-53795fd93cd3");
76         SimulatorApi.registerExpectationFromPreset(getRelatedInstanceGroupsByVnfId, APPEND);
77
78     }
79
80     @DataProvider
81     private Object[][] getServices() {
82         return new Object[][]{
83                 {ecompNamingTrueInstanceId},
84                 {ecompNamingFalseInstanceId}
85         };
86     }
87
88     @Test(dataProvider = "getServices")
89     public void createSubInterface_validPopupDataAndUI(String serviceUuid) {
90         SearchExistingPage searchExistingPage = new SearchExistingPage();
91
92         VidBasePage.goOutFromIframe();
93         goToExistingInstanceById(serviceUuid);
94
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);
99
100         GeneralUIUtils.ultimateWait();
101
102         searchExistingPage.goToIframe();
103
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);
113
114
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");
125
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"));
128
129
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());
133
134         assertEquals(rightSideGroupsNames, Arrays.asList("untr_group", "oam_group"));
135
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"));
139
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"));
143
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"));
147
148         assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_INSTANCE_GROUP_FUNCTION)
149                         .stream().map(WebElement::getText).collect(Collectors.toList()),
150                 Arrays.asList("", ""));
151
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"));
155
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"));
159
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"));
163
164         assertEquals(Get.multipleElementsByTestId(Constants.VlanTagging.MODEL_ITEM_VALUE_SUBINTERFACE_ROLE).stream()
165                         .map(WebElement::getText).collect(Collectors.toList()),
166                 Arrays.asList("untr", "untr"));
167
168         Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID);
169
170         compareTwoGroups(Get.multipleElementsByTestId("groupLabel"), rightSideGroupsNames);
171
172         List<WebElement> leftSideGroups = Get.multipleElementsByTestId("groupTestId");
173
174         GeneralUIUtils.ultimateWait();
175
176         for (WebElement element : leftSideGroups) {
177             (new Select(element)).selectByIndex(1);
178         }
179
180         Click.byTestId(Constants.ConfigurationCreation.NEXT_BUTTON_TEST_ID);
181         VidBasePage.goOutFromIframe();
182         assertSuccessfulServiceInstanceCreation();
183         viewEditPage.clickCommitCloseButton();
184     }
185
186     private void compareTwoGroups(List<WebElement> leftSideGroups, List<String> rightSideGroupsNames) {
187         assertEquals(leftSideGroups.size(), rightSideGroupsNames.size());
188
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());
193         }
194         assertEquals(leftSideGroupsNames, rightSideGroupsNames);
195     }
196
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)));
200     }
201 }