Fix for Penetration test _ Session and cookie management
[vid.git] / vid-automation / src / main / java / vid / automation / test / sections / ViewEditPage.java
1 package vid.automation.test.sections;
2
3 import static org.hamcrest.core.Is.is;
4
5 import org.junit.Assert;
6 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
7 import org.openqa.selenium.By;
8 import org.openqa.selenium.WebElement;
9 import vid.automation.test.Constants;
10 import vid.automation.test.infra.Get;
11 import vid.automation.test.infra.SelectOption;
12
13
14 public class ViewEditPage extends VidBasePage {
15     public ViewEditPage selectNodeInstanceToAdd(String vnfName) {
16         selectFromDropdownByTestId(Constants.ViewEdit.VNF_OPTION_TEST_ID_PREFIX + vnfName,
17             Constants.ViewEdit.ADD_VNF_BUTTON_TEST_ID);
18         return this;
19     }
20
21     public ViewEditPage selectVfModuleToAdd(String vfModuleName) {
22         selectFromDropdownByTestId(Constants.ViewEdit.VF_MODULE_OPTION_TEST_ID_PREFIX + vfModuleName,
23             Constants.ViewEdit.ADD_VF_MODULE_BUTTON_TEST_ID);
24         return this;
25     }
26
27     public ViewEditPage clickResumeButton(String instanceName) {
28         //instanceName = "my_vfModule";
29         String instanceId = Constants.ViewEdit.VF_MODULE_RESUME_ID_PREFIX + instanceName;
30         checkIfExistResumeButton(instanceName,true);
31         GeneralUIUtils.clickOnElementByTestId(instanceId);
32         return this;
33     }
34
35
36     public ViewEditPage checkIfExistResumeButton(String instanceName, Boolean expected) {
37         //instanceName = "my_vfModule";
38         String instanceId = Constants.ViewEdit.VF_MODULE_RESUME_ID_PREFIX + instanceName;
39         WebElement resumeButton = GeneralUIUtils.getWebElementByTestID(instanceId, 30);
40         Assert.assertThat(resumeButton != null, is(expected));
41         return this;
42     }
43
44     public ViewEditPage selectVolumeGroupToAdd(String volumeGroupName) {
45         selectFromDropdownByTestId(Constants.ViewEdit.VOLUME_GROUP_OPTION_TEST_ID_PREFIX + volumeGroupName,
46             Constants.ViewEdit.ADD_VOLUME_GROUP_BUTTON_TEST_ID);
47         return this;
48     }
49
50     public ViewEditPage selectFromDropdownByText(String itemText, String dropdownButtonTestId) {
51         GeneralUIUtils.clickOnElementByTestId(dropdownButtonTestId, 30);
52         GeneralUIUtils.clickOnElementByText(itemText, 30);
53         return this;
54     }
55
56     public ViewEditPage selectNetworkToAdd(String networkName) {
57         selectFromDropdownByTestId(Constants.ViewEdit.NETWORK_OPTION_TEST_ID_PREFIX + networkName,
58             Constants.ViewEdit.ADD_NETWORK_BUTTON_TEST_ID);
59         return this;
60     }
61
62     public ViewEditPage selectProductFamily(String productFamily){
63         SelectOption.byValue(productFamily, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
64         return this;
65     }
66
67     public ViewEditPage selectLineOfBusiness(String lineOfBusiness, String cloudOwner){
68         selectLineOfBusiness(lineOfBusiness);
69         return this;
70     }
71
72     public ViewEditPage setLegacyRegion(String legacyRegionName){
73         setInputText(Constants.ViewEdit.LEGACY_REGION_INPUT_TESTS_ID, legacyRegionName);
74         return this;
75     }
76
77     public ViewEditPage selectTenant(String tenant){
78         SelectOption.byValue(tenant, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
79         // GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.TENANT_SELECT_TESTS_ID, 60);
80         return this;
81     }
82
83     public VidBasePage clickActivateButton() {
84         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID, 60);
85         return this;
86     }
87
88     public VidBasePage clickActivateFabricConfigurationButton() {
89         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ACTIVATE_FABRIC_CONFIGURATION_BUTTON_TEST_ID, 60);
90         return this;
91     }
92     public VidBasePage clickInfoButton() {
93         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.INFOSERVICEBUTTON, 30);
94         return this;
95     }
96
97     public VidBasePage clickDeleteButton() {
98         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.DELETESERVICEBUTTON, 3);
99         return this;
100     }
101
102
103     public WebElement getPnf(String pnfName) {
104         WebElement pnfElement = Get.byClassAndText("tree-node", "PNF: " + pnfName);
105         Assert.assertNotNull("Pnf "+ pnfName +" not found under service instance", pnfElement);
106         return pnfElement;
107     }
108
109     public ViewEditPage clickDissociatePnfButton(String pnfName) {
110         WebElement pnfToDissociate = getPnf(pnfName);
111         WebElement dissociateBtn = pnfToDissociate.findElement(By.className(Constants.ViewEdit.DISSOCIATE_BTN_CLASS));
112         Assert.assertNotNull("Dissociate button not found for pnf " + pnfName, dissociateBtn);
113         dissociateBtn.click();
114         return this;
115     }
116
117     public VidBasePage clickDeactivateButton() {
118         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID, 30);
119         return this;
120     }
121
122 //    public ViewEditPage selectLineOfBusiness(String lineOfBusiness) {
123 //        try {
124 //            SelectOption.selectFirstTwoOptionsFromMultiselectById(Constants.ViewEdit.LINE_OF_BUSINESS_SELECT_TESTS_ID);
125 //        } catch (InterruptedException e) {
126 //            e.printStackTrace();
127 //            return this;
128 //        }
129 //        //TODO multi SelectOption.byValue(lineOfBusiness, Constants.ViewEdit.LINE_OF_BUSINESS_SELECT_TESTS_ID);
130 //        return this;
131 //    }
132
133     public ViewEditPage selectPlatform(String platform) {
134         SelectOption.byValue(platform, Constants.OwningEntity.PLATFORM_SELECT_TEST_ID);
135         return this;
136     }
137 }