Fix for Penetration test _ Session and cookie management
[vid.git] / vid-automation / src / main / java / vid / automation / test / sections / SearchExistingPage.java
1 package vid.automation.test.sections;
2
3 import org.junit.Assert;
4 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
5 import org.openqa.selenium.WebElement;
6 import vid.automation.test.Constants;
7 import vid.automation.test.infra.Click;
8 import vid.automation.test.infra.Wait;
9
10 import static org.testng.Assert.assertTrue;
11
12
13 /**
14  * Created by pickjonathan on 10/07/2017.
15  */
16
17 public class SearchExistingPage extends VidBasePage {
18
19     public static final String PROJECT_NAME = "Project Name";
20
21     public SearchExistingPage() {}
22
23     public void selectSearchById(){
24         selectSearchBy(Constants.EditExistingInstance.SERVICE_INSTANCE_ID);
25     }
26
27     public void selectSearchByName(){
28         selectSearchBy(Constants.EditExistingInstance.SERVICE_INSTANCE_NAME);
29     }
30
31     public void selectSearchBy(String searchTypeOptionText) {
32         boolean findAndWaitByText = GeneralUIUtils.findAndWaitByText(Constants.EditExistingInstance.SELECT_SERVICE_INSTANCE, 30);
33         Assert.assertTrue(findAndWaitByText);
34         GeneralUIUtils.clickOnElementByText(Constants.EditExistingInstance.SELECT_SERVICE_INSTANCE, 30);
35
36         boolean isSearchByIdAvailable = GeneralUIUtils.findAndWaitByText(searchTypeOptionText, 30);
37         Assert.assertTrue(isSearchByIdAvailable);
38         GeneralUIUtils.clickOnElementByText(searchTypeOptionText, 30);
39     }
40
41     public void searchForInstanceByUuid(String uuid) {
42         selectSearchById();
43         startSearchByInstanceIdentifier(uuid);
44     }
45
46     private void startSearchByInstanceIdentifier(String text) {
47         WebElement textInputWebElement = GeneralUIUtils.getWebElementByTestID(Constants.EditExistingInstance.SEARCH_FOR_EXISTING_INSTANCES_INPUT, 30);
48         Assert.assertTrue(textInputWebElement != null);
49         textInputWebElement.clear();
50         textInputWebElement.sendKeys(text);
51         clickSubmitButton();
52     }
53
54     public void searchForInstanceByName(String name) {
55         selectSearchByName();
56         startSearchByInstanceIdentifier(name);
57     }
58
59     public void searchByProject(String projectName) {
60         assertTrue(Wait.waitByClassAndText("fn-ebz-text-label", PROJECT_NAME, 1), "Failed to find label "+PROJECT_NAME); //Test bug VID-495468
61         selectValueDDL(Constants.EditExistingInstance.SELECT_PROJECT_ID, projectName);
62     }
63
64     public void searchByOwningEntity(String oeName) {
65         selectValueDDL(Constants.EditExistingInstance.SELECT_OWNING_ENTITY_ID, oeName);
66     }
67
68     private void selectValueDDL(String ddlId, String value) {
69         Click.byId(ddlId);
70         GeneralUIUtils.ultimateWait();
71         Click.byText(value);
72         //click again on the element that will not cover the submit button
73         Click.byId(ddlId);
74     }
75
76     public void checkForEditButtons() {
77         boolean isDeleteVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VNF_BTN, 30);
78         Assert.assertFalse(isDeleteVisible);
79
80         boolean isAddVnfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_VNF_MODULE_DROPDOWN, 30);
81         Assert.assertFalse(isAddVnfModuleVisible);
82
83         boolean isAddCustomVnfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_CUSTOM_VNF_MODULE_DROPDOWN, 30);
84         Assert.assertFalse(isAddCustomVnfModuleVisible);
85
86         boolean isAddCustomVolumeGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_CUSTOM_VOLUME_GROUP, 30);
87         Assert.assertFalse(isAddCustomVolumeGroupVisible);
88
89         boolean isAddVolumeGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.ADD_VOLUME_GROUP, 30);
90         Assert.assertFalse(isAddVolumeGroupVisible);
91
92         boolean isDeleteVfModuleVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VF_MODULE, 30);
93         Assert.assertFalse(isDeleteVfModuleVisible);
94
95         boolean isDeleteVnfGroupVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_VNF_VOLUME_GROUP, 30);
96         Assert.assertFalse(isDeleteVnfGroupVisible);
97
98         boolean isDeleteNetworkVisible = GeneralUIUtils.waitForElementInVisibilityByTestId(Constants.EditExistingInstance.DELETE_NETWORK);
99         Assert.assertFalse(isDeleteNetworkVisible);
100     }
101 }