From 843d92dea3d798efe39cecbae949d60d91f8bb5f Mon Sep 17 00:00:00 2001 From: Catalin Comanici <Catalin.COMANICI@ext.ec.europa.eu> Date: Wed, 3 Aug 2022 18:58:55 +0200 Subject: [PATCH] minor fixes and reformating --- .../baseComponents/PageComponent.java | 439 +++++----- .../java/pages/components/grid/BasicGrid.java | 93 +- .../components/messageArea/AlertMessage.java | 3 +- .../pages/password/PasswordChangepopup.java | 268 +++--- .../src/main/java/pages/users/UserPopup.java | 430 +++++---- .../main/java/pages/users/UserRowInfo.java | 65 +- .../src/main/java/pages/users/UsersPage.java | 215 +++-- .../src/main/java/utils/DriverManager.java | 23 +- smp-ui-tests/src/test/java/ui/BaseTest.java | 335 ++++--- .../src/test/java/ui/SearchPgTest.java | 530 ++++++----- .../src/test/java/ui/UsersPgTest.java | 821 +++++++++--------- 11 files changed, 1570 insertions(+), 1652 deletions(-) diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java index 90c62399f..bd1ea3a5c 100644 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java +++ b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java @@ -2,7 +2,10 @@ package pages.components.baseComponents; import org.apache.log4j.Logger; -import org.openqa.selenium.*; +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; @@ -11,220 +14,218 @@ import utils.PROPERTIES; public class PageComponent { - protected WebDriver driver; - protected WebDriverWait wait; - protected Logger log = Logger.getLogger(this.getClass()); - - - public PageComponent(WebDriver driver) { - this.driver = driver; - this.wait = new WebDriverWait(this.driver, PROPERTIES.TIMEOUT); - } - - - public WebElement waitForElementToBeClickable(WebElement element) { - return wait.until(ExpectedConditions.elementToBeClickable(element)); - } - - public WebElement waitForElementToBeVisible(WebElement element) { - return wait.until(ExpectedConditions.visibilityOf(element)); - } - - public WebElement waitForElementToBeVisible(By elementSelector) { - return wait.until(ExpectedConditions.visibilityOfElementLocated(elementSelector)); - } - - public void waitForElementToBeEnabled(WebElement element) { - int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - int waitedSoFar = 0; - while ((null != element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 300; - waitForXMillis(300); - } - } - - public void waitForElementToBeDisabled(WebElement element) { - int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - int waitedSoFar = 0; - while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 300; - waitForXMillis(300); - } - } - - - public void waitForElementToBeGone(WebElement element) { - WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT); - - try { - myWait.until(ExpectedConditions.visibilityOf(element)); - } catch (Exception e) { - return; - } - - int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - while (waitTime > 0) { - boolean displayed = true; - - try { - displayed = element.isDisplayed(); - } catch (Exception e) { - return; - } - - if (!displayed) { - return; - } - waitForXMillis(500); - waitTime = waitTime - 500; - } - } - - public void waitForElementToBeGone(By locator) { - WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT); - - try { - myWait.until(ExpectedConditions.visibilityOfElementLocated(locator)); - } catch (Exception e) { - return; - } - - int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - while (waitTime > 0) { - boolean displayed = true; - - try { - displayed = driver.findElement(locator).isDisplayed(); - } catch (Exception e) { - return; - } - - if (!displayed) { - return; - } - - waitForXMillis(500); - waitTime = waitTime - 500; - } - } - - public void waitForNumberOfWindowsToBe(int noOfWindows) { - try { - wait.until(numberOfWindowsToBe(noOfWindows)); - } catch (Exception e) { - } - } - - public void clearAndFillInput(WebElement element, String toFill) { - waitForElementToBeVisible(element).clear(); - log.info("cleared input"); - waitForElementToBeEnabled(element); - element.sendKeys(toFill); - log.info("filled in text " + toFill); - } - - public void clickVoidSpace() { - log.info("clicking void"); - try { - waitForXMillis(500); - ((JavascriptExecutor) driver).executeScript("document.querySelector('[class*=\"overlay-backdrop\"]').click()"); - waitForXMillis(500); - } catch (Exception e) { - } - waitForXMillis(500); - } - - private ExpectedCondition<Boolean> numberOfWindowsToBe(final int numberOfWindows) { - return new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - driver.getWindowHandles(); - return driver.getWindowHandles().size() == numberOfWindows; - } - }; - } - - public void waitForXMillis(Integer millis) { - try { - Thread.sleep(millis); - } catch (InterruptedException e) { - log.error("EXCEPTION: ", e); - } - } - - public void waitForAttributeNotEmpty(WebElement element, String attributeName) { - wait.until(ExpectedConditions.attributeToBeNotEmpty(element, attributeName)); - } - - public void waitForElementToHaveText(WebElement element, String title) { - wait.until(ExpectedConditions.textToBePresentInElement(element, title)); - } - - public void waitForElementToBe(WebElement element) { - - wait.until(new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - return element.getLocation() != null; - } - }); - - } - - public void waitForAttributeToContain(WebElement element, String attributeName, String value) { - wait.until(ExpectedConditions.attributeContains(element, attributeName, value)); - } - - public void waitForElementToHaveText(WebElement element) { - wait.until(new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - return !element.getText().trim().isEmpty(); - } - }); - } - - public void waitForElementToContainText(WebElement element, String text) { - wait.until(ExpectedConditions.textToBePresentInElement(element, text)); - } - - public boolean isVisible(WebElement element){ - log.info("checking if element is visible"); - - try { - waitForElementToBe(element); - return element.isDisplayed(); - } catch (Exception e) { } - return false; - } - - public boolean isEnabled(WebElement element){ - log.info("checking if element is enabled"); - try { - waitForElementToBeEnabled(element); - } catch (Exception e) { - return false; - } - return element.isEnabled(); - } - - public boolean isDisabled(WebElement element){ - log.info("checking if element is disabled"); - try { - waitForElementToBeDisabled(element); - } catch (Exception e) { - return false; - } - return true; - } - - - protected By loadingBar = By.className("mat-ripple-element"); - - public void waitForRowsToLoad() { - log.info("waiting for rows to load"); - try { - waitForElementToBeGone(loadingBar); + protected WebDriver driver; + protected WebDriverWait wait; + protected Logger log = Logger.getLogger(this.getClass()); + protected By loadingBar = By.className("mat-ripple-element"); + + + public PageComponent(WebDriver driver) { + this.driver = driver; + this.wait = new WebDriverWait(this.driver, PROPERTIES.TIMEOUT); + } + + public WebElement waitForElementToBeClickable(WebElement element) { + return wait.until(ExpectedConditions.elementToBeClickable(element)); + } + + public WebElement waitForElementToBeVisible(WebElement element) { + return wait.until(ExpectedConditions.visibilityOf(element)); + } + + public WebElement waitForElementToBeVisible(By elementSelector) { + return wait.until(ExpectedConditions.visibilityOfElementLocated(elementSelector)); + } + + public void waitForElementToBeEnabled(WebElement element) { + int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + int waitedSoFar = 0; + while ((null != element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { + waitedSoFar += 300; + waitForXMillis(300); + } + } + + public void waitForElementToBeDisabled(WebElement element) { + int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + int waitedSoFar = 0; + while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { + waitedSoFar += 300; + waitForXMillis(300); + } + } + + public void waitForElementToBeGone(WebElement element) { + WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT); + + try { + myWait.until(ExpectedConditions.visibilityOf(element)); + } catch (Exception e) { + return; + } + + int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + while (waitTime > 0) { + boolean displayed = true; + + try { + displayed = element.isDisplayed(); + } catch (Exception e) { + return; + } + + if (!displayed) { + return; + } + waitForXMillis(500); + waitTime = waitTime - 500; + } + } + + public void waitForElementToBeGone(By locator) { + WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT); + + try { + myWait.until(ExpectedConditions.visibilityOfElementLocated(locator)); + } catch (Exception e) { + return; + } + + int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + while (waitTime > 0) { + boolean displayed = true; + + try { + displayed = driver.findElement(locator).isDisplayed(); + } catch (Exception e) { + return; + } + + if (!displayed) { + return; + } + + waitForXMillis(500); + waitTime = waitTime - 500; + } + } + + public void waitForNumberOfWindowsToBe(int noOfWindows) { + try { + wait.until(numberOfWindowsToBe(noOfWindows)); + } catch (Exception e) { + } + } + + public void clearAndFillInput(WebElement element, String toFill) { + + log.info("clearing input"); + waitForElementToBeEnabled(element); + element.clear(); + element.sendKeys(toFill); + log.info("filled in text " + toFill); + } + + public void clickVoidSpace() { + log.info("clicking void"); + try { + waitForXMillis(500); + ((JavascriptExecutor) driver).executeScript("document.querySelector('[class*=\"overlay-backdrop\"]').click()"); + waitForXMillis(500); + } catch (Exception e) { + } + waitForXMillis(500); + } + + private ExpectedCondition<Boolean> numberOfWindowsToBe(final int numberOfWindows) { + return new ExpectedCondition<Boolean>() { + @Override + public Boolean apply(WebDriver driver) { + driver.getWindowHandles(); + return driver.getWindowHandles().size() == numberOfWindows; + } + }; + } + + public void waitForXMillis(Integer millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + log.error("EXCEPTION: ", e); + } + } + + public void waitForAttributeNotEmpty(WebElement element, String attributeName) { + wait.until(ExpectedConditions.attributeToBeNotEmpty(element, attributeName)); + } + + public void waitForElementToHaveText(WebElement element, String title) { + wait.until(ExpectedConditions.textToBePresentInElement(element, title)); + } + + public void waitForElementToBe(WebElement element) { + + wait.until(new ExpectedCondition<Boolean>() { + @Override + public Boolean apply(WebDriver driver) { + return element.getLocation() != null; + } + }); + + } + + public void waitForAttributeToContain(WebElement element, String attributeName, String value) { + wait.until(ExpectedConditions.attributeContains(element, attributeName, value)); + } + + public void waitForElementToHaveText(WebElement element) { + wait.until(new ExpectedCondition<Boolean>() { + @Override + public Boolean apply(WebDriver driver) { + return !element.getText().trim().isEmpty(); + } + }); + } + + public void waitForElementToContainText(WebElement element, String text) { + wait.until(ExpectedConditions.textToBePresentInElement(element, text)); + } + + public boolean isVisible(WebElement element) { + log.info("checking if element is visible"); + + try { + waitForElementToBe(element); + return element.isDisplayed(); + } catch (Exception e) { + } + return false; + } + + public boolean isEnabled(WebElement element) { + log.info("checking if element is enabled"); + try { + waitForElementToBeEnabled(element); + } catch (Exception e) { + return false; + } + return element.isEnabled(); + } + + public boolean isDisabled(WebElement element) { + log.info("checking if element is disabled"); + try { + waitForElementToBeDisabled(element); + } catch (Exception e) { + return false; + } + return true; + } + + public void waitForRowsToLoad() { + log.info("waiting for rows to load"); + try { + waitForElementToBeGone(loadingBar); // waitForElementToBeVisible(loadingBar); // // int bars = 1; @@ -236,10 +237,10 @@ public class PageComponent { // waitForXMillis(500); // } // log.debug("waited for rows to load for ms = 500*" + waits); - } catch (Exception e) { } - waitForXMillis(500); - } - + } catch (Exception e) { + } + waitForXMillis(500); + } } diff --git a/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java b/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java index 6b7bbc777..9c3d4b281 100644 --- a/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java +++ b/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java @@ -1,6 +1,5 @@ package pages.components.grid; -import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -8,67 +7,65 @@ import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.DefaultElementLocatorFactory; -import org.openqa.selenium.support.ui.ExpectedConditions; import pages.components.baseComponents.PageComponent; -import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; public class BasicGrid extends PageComponent { - public BasicGrid(WebDriver driver, WebElement container) { - super(driver); - - log.info("Loading basic grid"); - waitForRowsToLoad(); - PageFactory.initElements( new DefaultElementLocatorFactory(container) , this); + @FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell") + protected List<WebElement> gridHeaders; + @FindBy(css = "datatable-body-row > div.datatable-row-center.datatable-row-group") + protected List<WebElement> gridRows; + protected ArrayList<String> headerTxt = new ArrayList<String>(); - for (int i = 0; i < gridHeaders.size(); i++) { - headerTxt.add(gridHeaders.get(i).getText().trim()); - } - } + public BasicGrid(WebDriver driver, WebElement container) { + super(driver); + log.info("Loading basic grid"); + waitForRowsToLoad(); + PageFactory.initElements(new DefaultElementLocatorFactory(container), this); + for (int i = 0; i < gridHeaders.size(); i++) { + headerTxt.add(gridHeaders.get(i).getText().trim()); + } - @FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell") - protected List<WebElement> gridHeaders; + } - @FindBy(css = "datatable-body-row > div.datatable-row-center.datatable-row-group") - protected List<WebElement> gridRows; - - - protected ArrayList<String> headerTxt = new ArrayList<String>(); - - public void selectRow(int rowNumber){ - log.info("selecting row with number ... " + rowNumber); - if(rowNumber>=gridRows.size()){return;} - gridRows.get(rowNumber).click(); - waitForXMillis(500); - } - - public void doubleClickRow(int rowNumber){ - - log.info("double clicking row ... " + rowNumber); - waitForXMillis(500); - if(rowNumber>=gridRows.size()){return ;} - Actions action = new Actions(driver); - action.doubleClick(gridRows.get(rowNumber)).perform(); - } + public void selectRow(int rowNumber) { + log.info("selecting row with number ... " + rowNumber); + if (rowNumber >= gridRows.size()) { + return; + } + gridRows.get(rowNumber).click(); + waitForXMillis(500); + } - public int getColumnsNo(){ - log.info("getting number of columns"); - return gridHeaders.size(); - } + public void doubleClickRow(int rowNumber) { - public int getRowsNo(){ - return gridRows.size(); - } + log.info("double clicking row ... " + rowNumber); + waitForXMillis(500); + if (rowNumber >= gridRows.size()) { + return; + } + Actions action = new Actions(driver); + action.doubleClick(gridRows.get(rowNumber)).perform(); + } - public void scrollRow(int index) { - JavascriptExecutor js = (JavascriptExecutor) driver; - js.executeScript("arguments[0].scrollIntoView();",gridRows.get(index)); - waitForXMillis(500); - } + public int getColumnsNo() { + log.info("getting number of columns"); + return gridHeaders.size(); + } + + public int getRowsNo() { + return gridRows.size(); + } + + public void scrollRow(int index) { + JavascriptExecutor js = (JavascriptExecutor) driver; + js.executeScript("arguments[0].scrollIntoView();", gridRows.get(index)); + waitForXMillis(500); + } } diff --git a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java b/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java index e2442e3ac..a2e92d642 100644 --- a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java +++ b/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java @@ -11,7 +11,8 @@ public class AlertMessage { } public String getMessage() { - return message.replaceAll("×", "").trim(); + System.out.println("message = " + message); + return message.replaceAll("×", "").trim(); } public void setMessage(String message) { diff --git a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java index 98b6ada5a..8585eebcf 100644 --- a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java +++ b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java @@ -1,162 +1,140 @@ package pages.password; - import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import pages.components.ConfirmationDialog; import pages.components.baseComponents.PageComponent; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; import pages.service_groups.search.SearchPage; import utils.PROPERTIES; - public class PasswordChangepopup extends PageComponent { - - - public PasswordChangepopup(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - } - - @FindBy(id = "username_id") - WebElement userNameInput; - - @FindBy(id = "emailAddress_id") - WebElement emailInput; - - @FindBy(id = "np_id") - WebElement newPasswordInput; - +public class PasswordChangepopup extends PageComponent { - @FindBy(id = "cnp_id") - WebElement confirmationInput; - /* @FindBy(css = "input#cp_id") - WebElement adminPassInput; + @FindBy(id = "username_id") + WebElement userNameInput; + @FindBy(id = "emailAddress_id") + WebElement emailInput; + @FindBy(id = "np_id") + WebElement newPasswordInput; + @FindBy(id = "cnp_id") + WebElement confirmationInput; + /* @FindBy(css = "input#cp_id") + WebElement adminPassInput; */ - @FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']") - WebElement adminPassInput; - - @FindBy(xpath = "//input[@data-placeholder='Current password']") - WebElement currentPassInput; - - @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") - WebElement usernameValidationError; - - @FindBy(css = "mat-form-field.password > div > div.mat-form-field-flex > div > div") - WebElement passValidationError; - - @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") - WebElement passConfirmationValidationError; - - @FindBy(css = ".mat-form-field-infix > div.has-error") - WebElement passMatchValidationError; - - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - WebElement okBtn; - - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - WebElement cancelBtn; - - @FindBy(css ="#changePassword_id") - WebElement changePassword; - - @FindBy(css ="smp-password-change-dialog mat-dialog-actions button:nth-child(1)") - WebElement changedPassword; - - @FindBy(css = "#closebuttondialog_id") - WebElement passChangedClose; - - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") - WebElement passwordDialogClose; - - - - - public void clickOK() { - log.info("click OK"); - waitForElementToBeClickable(okBtn); - okBtn.click(); - waitForElementToBeGone(okBtn); - } - public void clickCancel() { - log.info("click cancel"); - waitForElementToBeClickable(cancelBtn); - cancelBtn.click(); - waitForElementToBeGone(cancelBtn); - } - - public void clickChangePassword(){ - log.info("click change password"); - waitForElementToBeClickable(changePassword); - changePassword.click(); - //waitForElementToBeGone(changePassword); - } - public SearchPage clickCloseAfterChangedPassForLoggedUser() - { - log.info("click close after change password"); - waitForElementToBeClickable(passChangedClose); - passChangedClose.click(); - waitForElementToBeGone(passChangedClose); - return new SearchPage(driver); - } - public void clickCloseAfterChangedPass() - { - log.info("click close after change password"); - - waitForElementToBeClickable(passChangedClose); - passChangedClose.click(); - waitForElementToBeGone(passChangedClose); - - } - - public void setOrChangePassword(String adminPass,String newPass,String confirmPass) - { - - clearAndFillInput(adminPassInput,adminPass); - clearAndFillInput(newPasswordInput,newPass); - clearAndFillInput(confirmationInput,confirmPass); - } - public void fillDataForLoggedUser(String currentPass,String newPass,String confirmPass) - { - clearAndFillInput(currentPassInput,currentPass); - clearAndFillInput(newPasswordInput,newPass); - clearAndFillInput(confirmationInput,confirmPass); - } - public ConfirmationDialog clickChangedPassword() - { - log.info("click changed password"); - waitForElementToBeClickable(changedPassword); - changedPassword.click(); - waitForElementToBeGone(changedPassword); - return new ConfirmationDialog(driver); - } - public SearchPage clickClosePasswordDialog() - { - passwordDialogClose.click(); - waitForElementToBeGone(passwordDialogClose); - return new SearchPage(driver); - } - - public boolean isCurrentPasswordInputEnable() - { - boolean bool = currentPassInput.isEnabled(); - return bool; - } - - public boolean isNewPasswordInputEnable() - { - boolean bool = newPasswordInput.isEnabled(); - return bool; - } - public boolean isConfirmPasswordInputEnable() - { - boolean bool = confirmationInput.isEnabled(); - return bool; - } + @FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']") + WebElement adminPassInput; + @FindBy(xpath = "//input[@data-placeholder='Current password']") + WebElement currentPassInput; + @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") + WebElement usernameValidationError; + @FindBy(css = "mat-form-field.password > div > div.mat-form-field-flex > div > div") + WebElement passValidationError; + @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") + WebElement passConfirmationValidationError; + @FindBy(css = ".mat-form-field-infix > div.has-error") + WebElement passMatchValidationError; + @FindBy(css = "mat-dialog-actions button:nth-child(1)") + WebElement okBtn; + @FindBy(css = "mat-dialog-actions button:nth-child(2)") + WebElement cancelBtn; + @FindBy(css = "#changePassword_id") + WebElement changePassword; + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") + WebElement changedPassword; + @FindBy(css = "#closebuttondialog_id") + WebElement passChangedClose; + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") + WebElement passwordDialogClose; + + public PasswordChangepopup(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + + } + + public void clickOK() { + log.info("click OK"); + waitForElementToBeClickable(okBtn); + okBtn.click(); + waitForElementToBeGone(okBtn); + } + + public void clickCancel() { + log.info("click cancel"); + waitForElementToBeClickable(cancelBtn); + cancelBtn.click(); + waitForElementToBeGone(cancelBtn); + } + + public void clickChangePassword() { + log.info("click change password"); + waitForElementToBeClickable(changePassword); + changePassword.click(); + //waitForElementToBeGone(changePassword); + } + + public SearchPage clickCloseAfterChangedPassForLoggedUser() { + log.info("click close after change password"); + waitForElementToBeClickable(passChangedClose); + passChangedClose.click(); + waitForElementToBeGone(passChangedClose); + return new SearchPage(driver); + } + + public void clickCloseAfterChangedPass() { + log.info("click close after change password"); + + waitForElementToBeClickable(passChangedClose); + passChangedClose.click(); + waitForElementToBeGone(passChangedClose); + + } + + public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { + + clearAndFillInput(adminPassInput, adminPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public void fillDataForLoggedUser(String currentPass, String newPass, String confirmPass) { + clearAndFillInput(currentPassInput, currentPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public ConfirmationDialog clickChangedPassword() { + log.info("click changed password"); + waitForElementToBeClickable(changedPassword); + changedPassword.click(); + waitForElementToBeGone(changedPassword); + return new ConfirmationDialog(driver); + } + + public SearchPage clickClosePasswordDialog() { + passwordDialogClose.click(); + waitForElementToBeGone(passwordDialogClose); + return new SearchPage(driver); + } + + public boolean isCurrentPasswordInputEnable() { + boolean bool = currentPassInput.isEnabled(); + return bool; + } + + public boolean isNewPasswordInputEnable() { + boolean bool = newPasswordInput.isEnabled(); + return bool; + } + + public boolean isConfirmPasswordInputEnable() { + boolean bool = confirmationInput.isEnabled(); + return bool; + } } diff --git a/smp-ui-tests/src/main/java/pages/users/UserPopup.java b/smp-ui-tests/src/main/java/pages/users/UserPopup.java index a49952cb9..3fd41eaf4 100644 --- a/smp-ui-tests/src/main/java/pages/users/UserPopup.java +++ b/smp-ui-tests/src/main/java/pages/users/UserPopup.java @@ -1,7 +1,6 @@ package pages.users; import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -10,234 +9,227 @@ import pages.components.ConfirmationDialog; import pages.components.GenericSelect; import pages.components.baseComponents.PageComponent; -import static org.openqa.selenium.remote.DriverCommand.CLICK_ELEMENT; - public class UserPopup extends PageComponent { - public UserPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(driver, this); - rolesSelect = new GenericSelect(driver, rolesSelectContainer); - } + public GenericSelect rolesSelect; + @FindBy(id = "userDetailsToggle_id") + WebElement userDetailsToggle; + + @FindBy(css = "#active_id > label > div > div") + WebElement activeToggle; + + @FindBy(id = "username_id") + WebElement userNameInput; + @FindBy(id = "emailAddress_id") + WebElement emailInput; - @FindBy(id = "userDetailsToggle_id") - WebElement userDetailsToggle; + @FindBy(id = "np_id") + WebElement newPasswordInput; - @FindBy(css = "#active_id > label > div > div") - WebElement activeToggle; + @SuppressWarnings("SpellCheckingInspection") + @FindBy(id = "cnp_id") + WebElement confirmationInput; - @FindBy(id = "username_id") - WebElement userNameInput; + @FindBy(css = "input#cp_id") + WebElement adminPassInput; - @FindBy(id = "emailAddress_id") - WebElement emailInput; + @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") + WebElement usernameValidationError; - @FindBy(id = "np_id") - WebElement newPasswordInput; + @FindBy(css = "smp-password-change-dialog .password-panel mat-form-field:nth-child(2) .mat-form-field-subscript-wrapper mat-error") + WebElement passValidationError; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "cnp_id") - WebElement confirmationInput; + @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") + WebElement passConfirmationValidationError; - /*@FindBy(css = "input#cp_id") - WebElement adminPassInput;*/ + @FindBy(css = ".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error") + WebElement passMatchValidationError; - @FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']") - WebElement adminPassInput; + @FindBy(css = "mat-dialog-actions button:nth-child(1)") + WebElement okBtn; - @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") - WebElement usernameValidationError; + @FindBy(css = "mat-dialog-actions button:nth-child(2)") + WebElement cancelBtn; - @FindBy(css = "smp-password-change-dialog .password-panel mat-form-field:nth-child(2) .mat-form-field-subscript-wrapper mat-error") - WebElement passValidationError; - - @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") - WebElement passConfirmationValidationError; - - @FindBy(css = ".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error") - WebElement passMatchValidationError; - - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - WebElement okBtn; - - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - WebElement cancelBtn; - - @FindBy(css ="#changePassword_id") - WebElement changePassword; - - @FindBy(css ="smp-password-change-dialog mat-dialog-actions button:nth-child(1)") - WebElement changedPassword; - - @FindBy(css = "#closebuttondialog_id") - WebElement passChangedClose; - - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") - WebElement passwordDialogClose; - - @FindBy(css = "#role_id") - WebElement rolesSelectContainer; - public GenericSelect rolesSelect; - - public boolean isAdminPasswordInputEnable() - { - boolean bool = adminPassInput.isEnabled(); - return bool; - } - public boolean isNewPasswordInputEnable() - { - boolean bool = newPasswordInput.isEnabled(); - return bool; - } - public boolean isConfirmPasswordInputEnable() - { - boolean bool = confirmationInput.isEnabled(); - return bool; - } - - - - public boolean isOKButtonActive() { - return isEnabled(okBtn); - } - public boolean isChangePasswordActive() { - return isEnabled(passChangedClose); - } - public boolean isChangePasswordButtonActive() { - return isEnabled(changedPassword); - } - - public boolean isCancelButtonActive() { - return isEnabled(cancelBtn); - } - - public void fillData(String user, String email, String role, String password, String confirmation) { - clearAndFillInput(userNameInput, user); - clearAndFillInput(emailInput, email); - clearAndFillInput(newPasswordInput, password); - clearAndFillInput(confirmationInput, confirmation); - - GenericSelect rolesSelect = new GenericSelect(driver, rolesSelectContainer); - rolesSelect.selectOptionByText(role); - - } - - public void clickOK() { - log.info("click OK"); - waitForElementToBeClickable(okBtn); - okBtn.click(); - waitForElementToBeGone(okBtn); - } - - public void clickCancel() { - log.info("click cancel"); - waitForElementToBeClickable(cancelBtn); - cancelBtn.click(); - waitForElementToBeGone(cancelBtn); - } - - - public void clickUserDetailsToggle() { - log.info("details toggle"); - waitForElementToBeClickable(userDetailsToggle).click(); - waitForElementToBeEnabled(userNameInput); - } - - //public void fillDetailsForm(String username, String pass, String confirmation) - public void fillDetailsForm(String username){ - clearAndFillInput(userNameInput, username); - //clearAndFillInput(passwordInput, pass); - //clearAndFillInput(confirmationInput, confirmation); - emailInput.click(); - } - public void clickSetOrChangePassword(){ - log.info("click change password"); - waitForElementToBeClickable(changePassword); - changePassword.click(); - //waitForElementToBeGone(changePassword); - } - public void clickCloseAfterChangedPass() - { - log.info("click close after change password"); - try { - Thread.sleep(10000); - } - catch (Exception e){ - e.printStackTrace(); - } - waitForElementToBeClickable(passChangedClose); - log.info("ab"); - passChangedClose.click(); - log.info("bd"); - waitForElementToBeGone(passChangedClose); - log.info("cd"); - } - public ConfirmationDialog clickChangedPassword() - { - log.info("click changed password"); - waitForElementToBeClickable(changedPassword); - changedPassword.click(); - waitForElementToBeGone(changedPassword); - return new ConfirmationDialog(driver); - } - public boolean isPopupChangedPasswordEnabled() - { - return changedPassword.isEnabled(); - } - public void setOrChangePassword(String adminPass,String newPass,String confirmPass) - { - - clearAndFillInput(adminPassInput,adminPass); - clearAndFillInput(newPasswordInput,newPass); - clearAndFillInput(confirmationInput,confirmPass); - } - public void clickClosePasswordDialog() - { - passwordDialogClose.click(); - waitForElementToBeGone(passwordDialogClose); - } - - - public String getUsernameValidationError() { - try { - waitForElementToBeVisible(usernameValidationError); - return usernameValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public String getPassValidationError() { - try { - waitForElementToBeVisible(passValidationError); - return passValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public String getConfirmationPassValidationError() { - - try { - waitForElementToBeVisible(passConfirmationValidationError); - return passConfirmationValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public boolean isDuplicateUserNameErrorMsgDisPlayed() { - try { - return driver.findElement(By.cssSelector("mat-form-field.username > div .has-error")).isDisplayed(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public String getPassDontMatchValidationMsg() { - //WebElement passwordUnmatchingMsg = driver.findElement(By.cssSelector(".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error")); - return passMatchValidationError.getText(); - //".mat-form-field-infix > div.has-error" - } + @FindBy(css = "#changePassword_id") + WebElement changePassword; + + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") + WebElement changedPassword; + + @FindBy(css = "#closebuttondialog_id") + WebElement passChangedClose; + + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") + WebElement passwordDialogClose; + + @FindBy(css = "#role_id") + WebElement rolesSelectContainer; + public UserPopup(WebDriver driver) { + super(driver); + PageFactory.initElements(driver, this); + rolesSelect = new GenericSelect(driver, rolesSelectContainer); + } + + public boolean isAdminPasswordInputEnable() { + boolean bool = adminPassInput.isEnabled(); + return bool; + } + + public boolean isNewPasswordInputEnable() { + boolean bool = newPasswordInput.isEnabled(); + return bool; + } + + public boolean isConfirmPasswordInputEnable() { + boolean bool = confirmationInput.isEnabled(); + return bool; + } + + + public boolean isOKButtonActive() { + return isEnabled(okBtn); + } + + public boolean isChangePasswordActive() { + return isEnabled(passChangedClose); + } + + public boolean isChangePasswordButtonActive() { + return isEnabled(changedPassword); + } + + public boolean isCancelButtonActive() { + return isEnabled(cancelBtn); + } + + public void fillData(String user, String email, String role, String password, String confirmation) { + clearAndFillInput(userNameInput, user); + clearAndFillInput(emailInput, email); + clearAndFillInput(newPasswordInput, password); + clearAndFillInput(confirmationInput, confirmation); + + GenericSelect rolesSelect = new GenericSelect(driver, rolesSelectContainer); + rolesSelect.selectOptionByText(role); + + } + + public void clickOK() { + log.info("click OK"); + waitForElementToBeClickable(okBtn); + okBtn.click(); + waitForElementToBeGone(okBtn); + } + + public void clickCancel() { + log.info("click cancel"); + waitForElementToBeClickable(cancelBtn); + cancelBtn.click(); + waitForElementToBeGone(cancelBtn); + } + + + public void clickUserDetailsToggle() { + log.info("details toggle"); + waitForElementToBeClickable(userDetailsToggle).click(); + waitForElementToBeEnabled(userNameInput); + } + + //public void fillDetailsForm(String username, String pass, String confirmation) + public void fillDetailsForm(String username) { + clearAndFillInput(userNameInput, username); + //clearAndFillInput(passwordInput, pass); + //clearAndFillInput(confirmationInput, confirmation); + emailInput.click(); + } + + public void clickSetOrChangePassword() { + log.info("click change password"); + waitForElementToBeClickable(changePassword); + changePassword.click(); + waitForXMillis(1000); + } + + public void clickCloseAfterChangedPass() { + log.info("click close after change password"); + try { + Thread.sleep(10000); + } catch (Exception e) { + e.printStackTrace(); + } + waitForElementToBeClickable(passChangedClose); + log.info("ab"); + passChangedClose.click(); + log.info("bd"); + waitForElementToBeGone(passChangedClose); + log.info("cd"); + } + + public ConfirmationDialog clickChangedPassword() { + log.info("click changed password"); + waitForElementToBeClickable(changedPassword); + changedPassword.click(); + waitForElementToBeGone(changedPassword); + return new ConfirmationDialog(driver); + } + + public boolean isPopupChangedPasswordEnabled() { + return changedPassword.isEnabled(); + } + + public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { + + clearAndFillInput(adminPassInput, adminPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public void clickClosePasswordDialog() { + passwordDialogClose.click(); + waitForElementToBeGone(passwordDialogClose); + } + + + public String getUsernameValidationError() { + try { + waitForElementToBeVisible(usernameValidationError); + return usernameValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public String getPassValidationError() { + try { + waitForElementToBeVisible(passValidationError); + return passValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public String getConfirmationPassValidationError() { + + try { + waitForElementToBeVisible(passConfirmationValidationError); + return passConfirmationValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public boolean isDuplicateUserNameErrorMsgDisPlayed() { + try { + return driver.findElement(By.cssSelector("mat-form-field.username > div .has-error")).isDisplayed(); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + public String getPassDontMatchValidationMsg() { + //WebElement passwordUnmatchingMsg = driver.findElement(By.cssSelector(".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error")); + return passMatchValidationError.getText(); + //".mat-form-field-infix > div.has-error" + } } diff --git a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java b/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java index 0c17dcda9..962d388ee 100644 --- a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java +++ b/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java @@ -1,38 +1,33 @@ package pages.users; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; - -import java.util.ArrayList; - -public class UserRowInfo{ - - private String username; - private String role; - private String certificate; - - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getRole() { - return role; - } - - public void setRole(String role) { - this.role = role; - } - - public String getCertificate() { - return certificate; - } - - public void setCertificate(String certificate) { - this.certificate = certificate; - } +public class UserRowInfo { + + private String username; + private String role; + private String certificate; + + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public String getCertificate() { + return certificate; + } + + public void setCertificate(String certificate) { + this.certificate = certificate; + } } diff --git a/smp-ui-tests/src/main/java/pages/users/UsersPage.java b/smp-ui-tests/src/main/java/pages/users/UsersPage.java index cb232f7ee..04b95c528 100644 --- a/smp-ui-tests/src/main/java/pages/users/UsersPage.java +++ b/smp-ui-tests/src/main/java/pages/users/UsersPage.java @@ -1,130 +1,117 @@ package pages.users; -import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; -import org.openqa.selenium.support.ui.ExpectedConditions; import pages.components.ConfirmationDialog; import pages.components.baseComponents.PaginationControls; import pages.components.baseComponents.SMPPage; -import pages.components.grid.BasicGrid; import utils.PROPERTIES; -import java.util.List; - public class UsersPage extends SMPPage { - public UsersPage(WebDriver driver) { - super(driver); - this.pageHeader.waitForTitleToBe("Users"); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - - public PaginationControls pagination = new PaginationControls(driver); - - @FindBy(id = "searchTable") - private WebElement userTableContainer; - - @FindBy(id = "cancelButton") - private WebElement cancelBtn; - - @FindBy(id = "saveButton") - private WebElement saveBtn; - - @FindBy(id = "newButton") - private WebElement newBtn; - - @FindBy(id = "editButton") - private WebElement editBtn; - - @FindBy(id = "deleteButton") - private WebElement deleteBtn; - - - public boolean isLoaded() { - log.info("checking Users page is loaded"); - - return isVisible(cancelBtn) - && isVisible(saveBtn) - && isVisible(newBtn) - && isEnabled(newBtn) - && isVisible(editBtn) - && isVisible(deleteBtn); - } - - public boolean isCancelButtonEnabled() { - log.info("cancel button"); - return isEnabled(cancelBtn); - } - - public boolean isSaveButtonEnabled() { - log.info("save button"); - return isEnabled(saveBtn); - } - - public boolean isDeleteButtonEnabled() { - waitForXMillis(200); - log.info("delete button"); - return isEnabled(deleteBtn); - } - - public ConfirmationDialog clickCancel() { - log.info("click cancel button"); - waitForElementToBeClickable(cancelBtn).click(); - return new ConfirmationDialog(driver); - } - - public ConfirmationDialog clickSave() { - log.info("click save button"); - waitForElementToBeClickable(saveBtn).click(); - return new ConfirmationDialog(driver); - } - - public void clickDelete() { - log.info("click delete button"); - waitForElementToBeClickable(deleteBtn).click(); - waitForRowsToLoad(); - } - - public UserPopup clickNew() { - log.info("click new button"); - waitForElementToBeClickable(newBtn).click(); - return new UserPopup(driver); - } - - public UserPopup clickEdit() { - log.info("click edit button"); - waitForElementToBeClickable(editBtn).click(); - return new UserPopup(driver); - } - - - public UsersGrid grid() { - return new UsersGrid(driver, userTableContainer); - } - - - public void createUser() { - log.info("create user"); - - waitForElementToBeClickable(newBtn).click(); - - UserPopup popup = new UserPopup(driver); - popup.clickOK(); - - } - - public boolean isNewButtonEnabled() { - try { - return newBtn.isEnabled(); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } + public PaginationControls pagination = new PaginationControls(driver); + @FindBy(id = "searchTable") + private WebElement userTableContainer; + @FindBy(id = "cancelButton") + private WebElement cancelBtn; + @FindBy(id = "saveButton") + private WebElement saveBtn; + @FindBy(id = "newButton") + private WebElement newBtn; + @FindBy(id = "editButton") + private WebElement editBtn; + @FindBy(id = "deleteButton") + private WebElement deleteBtn; + + public UsersPage(WebDriver driver) { + super(driver); + this.pageHeader.waitForTitleToBe("Users"); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + } + + public boolean isLoaded() { + log.info("checking Users page is loaded"); + + return isVisible(cancelBtn) + && isVisible(saveBtn) + && isVisible(newBtn) + && isEnabled(newBtn) + && isVisible(editBtn) + && isVisible(deleteBtn); + } + + public boolean isCancelButtonEnabled() { + log.info("cancel button"); + return isEnabled(cancelBtn); + } + + public boolean isSaveButtonEnabled() { + log.info("save button"); + return isEnabled(saveBtn); + } + + public boolean isDeleteButtonEnabled() { + waitForXMillis(200); + log.info("delete button"); + return isEnabled(deleteBtn); + } + + public ConfirmationDialog clickCancel() { + log.info("click cancel button"); + waitForElementToBeClickable(cancelBtn).click(); + return new ConfirmationDialog(driver); + } + + public ConfirmationDialog clickSave() { + log.info("click save button"); + waitForElementToBeClickable(saveBtn).click(); + return new ConfirmationDialog(driver); + } + + public void clickDelete() { + log.info("click delete button"); + waitForElementToBeClickable(deleteBtn).click(); + waitForRowsToLoad(); + } + + public UserPopup clickNew() { + log.info("click new button"); + waitForElementToBeClickable(newBtn).click(); + return new UserPopup(driver); + } + + public UserPopup clickEdit() { + log.info("click edit button"); + waitForElementToBeClickable(editBtn).click(); + return new UserPopup(driver); + } + + + public UsersGrid grid() { + return new UsersGrid(driver, userTableContainer); + } + + + public void createUser() { + log.info("create user"); + + waitForElementToBeClickable(newBtn).click(); + + UserPopup popup = new UserPopup(driver); + popup.clickOK(); + + } + + public boolean isNewButtonEnabled() { + try { + return newBtn.isEnabled(); + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } } diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java index a8c0672bd..07371e6eb 100644 --- a/smp-ui-tests/src/main/java/utils/DriverManager.java +++ b/smp-ui-tests/src/main/java/utils/DriverManager.java @@ -2,13 +2,8 @@ package utils; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; -import org.openqa.selenium.firefox.FirefoxDriver; -import org.openqa.selenium.firefox.FirefoxDriverLogLevel; -import org.openqa.selenium.firefox.FirefoxOptions; -import org.openqa.selenium.firefox.FirefoxProfile; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; public class DriverManager { @@ -25,22 +20,16 @@ public class DriverManager { // return driver; // } - public static WebDriver getDriver(){ - /*System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"true"); - System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt");*/ - - System.setProperty("Webdriver.chrome.driver","D:\\Users\\monhaso\\Downloads\\Chromedriver"); - WebDriver driver = new ChromeDriver(); - driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); - driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS); - driver.manage().timeouts().setScriptTimeout(2, TimeUnit.SECONDS); + public static WebDriver getDriver() { + WebDriver driver = new ChromeDriver(); + driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); + driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); + driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); driver.manage().window().maximize(); - return driver; + return driver; } - - } diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java index 97e22bb82..701012ff3 100644 --- a/smp-ui-tests/src/test/java/ui/BaseTest.java +++ b/smp-ui-tests/src/test/java/ui/BaseTest.java @@ -21,186 +21,173 @@ import java.util.List; @Listeners({ExcelTestReporter.class, TestProgressReporter.class}) public class BaseTest { - static int methodCount = 1; + static int methodCount = 1; - static WebDriver driver; - protected Logger logger = Logger.getLogger(this.getClass()); - static TestDataProvider testDataProvider = new TestDataProvider(); + static WebDriver driver; + static TestDataProvider testDataProvider = new TestDataProvider(); + static ArrayList<String> createdDomains = new ArrayList<>(); + static ArrayList<String> createdUsers = new ArrayList<>(); + static ArrayList<String> createdServiceGroups = new ArrayList<>(); + protected Logger logger = Logger.getLogger(this.getClass()); - static ArrayList<String> createdDomains = new ArrayList<>(); - static ArrayList<String> createdUsers = new ArrayList<>(); - static ArrayList<String> createdServiceGroups = new ArrayList<>(); - - @BeforeSuite(alwaysRun = true) + @BeforeSuite(alwaysRun = true) /*Starts the browser and navigates to the homepage. This happens once before the test suite and the browser window is reused for all tests in suite*/ - public void beforeSuite() { - logger.info("Creating necessary data !!!!"); - createDomains(); - createUsers(); - createSGs(); - -// logger.info("Starting this puppy!!!!"); -// driver = DriverManager.getDriver(); -// driver.get(PROPERTIES.UI_BASE_URL); - } - - - @AfterSuite(alwaysRun = true) - /*After the test suite is done we close the browser*/ - public void afterSuite() { - logger.info("Deleting created data!!!"); - - deleteTestData(); - - logger.info("Quitting!!!! Buh bye!!!"); - try { - if(null!=driver){ - driver.quit(); - } - } catch (Exception e) { - logger.warn("Closing the driver failed !!!!"); - e.printStackTrace(); - } - } - - @AfterClass(alwaysRun = true) - public void afterClass() { - if(null!=driver){ - driver.quit(); - } -// driver.get(PROPERTIES.UI_BASE_URL); -// SMPPage page = new SMPPage(driver); -// page.refreshPage(); -// -// if(page.pageHeader.sandwichMenu.isLoggedIn()){ -// logger.info("Logout!!"); -// page.pageHeader.sandwichMenu.logout(); -// } - } - - @BeforeClass(alwaysRun = true) - public void beforeClass() { + public void beforeSuite() { + logger.info("Creating necessary data !!!!"); + createDomains(); + createUsers(); + createSGs(); + } + + + @AfterSuite(alwaysRun = true) + /*After the test suite is done we close the browser*/ + public void afterSuite() { + logger.info("Deleting created data!!!"); + + deleteTestData(); + + logger.info("Quitting!!!! Buh bye!!!"); + try { + if (null != driver) { + driver.quit(); + } + } catch (Exception e) { + logger.warn("Closing the driver failed !!!!"); + e.printStackTrace(); + } + } + + @AfterClass(alwaysRun = true) + public void afterClass() { + if (null != driver) { + driver.quit(); + } + } + + @BeforeClass(alwaysRun = true) + public void beforeClass() { logger.info("beforeClass entry"); - driver = DriverManager.getDriver(); - driver.get(PROPERTIES.UI_BASE_URL); + driver = DriverManager.getDriver(); + driver.get(PROPERTIES.UI_BASE_URL); logger.info("beforeClass exit"); - } - - @BeforeMethod(alwaysRun = true) - protected void logSeparator(Method method) throws Exception { - - logger.info("--------------------------- Running test number: " + methodCount); - logger.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName()); - methodCount++; - } - - - private void createDomains() { - for (int i = 0; i < 5; i++) { - String generated = Generator.randomAlphaNumeric(10); - logger.info("creating domain whose value is :"+generated); - boolean created = SMPRestClient.createDomain(generated); - if (created) { - createdDomains.add(generated); - } else { - logger.warn("Test data creation: Domain creation failed for " + generated); - System.exit(-1); - } - } - } - - private void createUsers() { - String[] roles = {"SMP_ADMIN", "SERVICE_GROUP_ADMIN", "SYSTEM_ADMIN"}; - for (int i = 0; i < 6; i++) { - String generated = Generator.randomAlphaNumeric(10); - String role = roles[i % roles.length]; - boolean created = SMPRestClient.createUser(generated, role); - if (created) { - createdUsers.add(generated); - } else { - logger.warn("Test data creation: User creation failed for " + generated); - System.exit(-1); - } - } - } - - private void createSGs() { - for (int i = 0; i < 5; i++) { - String generated = Generator.randomAlphaNumeric(10); - String generatedHyphen = generated.substring(0,3)+"-"+generated.substring(3,6)+"-"+generated.substring(6,9); - List<String> users = Arrays.asList(createdUsers.get(0)); - List<String> domains = Arrays.asList(createdDomains.get(0)); - boolean created = SMPRestClient.createServiceGroup(generated, generatedHyphen, users, domains); - if (created) { - createdServiceGroups.add(generated); - } else { - logger.warn("Test data creation: SG creation failed for " + generated); - System.exit(-1); - } - } - } - - private void deleteTestData() { - for (String createdServiceGroup : createdServiceGroups) { - try { - SMPRestClient.deleteSG(createdServiceGroup); - } catch (Exception e) { - e.printStackTrace(); - } - } - for (String createdUser : createdUsers) { - try { - SMPRestClient.deleteUser(createdUser); - } catch (Exception e) { - e.printStackTrace(); - } - } - for (String createdDomain : createdDomains) { - try { - SMPRestClient.deleteDomain(createdDomain); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - - protected void genericLogoutProcedure() { - logger.info("executing the generic logout procedure"); - - SMPPage page = new SMPPage(driver); - page.refreshPage(); - - try { - if (page.pageHeader.sandwichMenu.isLoggedIn()) { - logger.info("Logout!!"); - page.pageHeader.sandwichMenu.logout(); - } - } catch (Exception e) { - e.printStackTrace(); - } - - driver.manage().deleteAllCookies(); - ((JavascriptExecutor) driver).executeScript("localStorage.clear();"); - - page.refreshPage(); - page.waitForXMillis(100); - } - - protected SMPPage genericLoginProcedure(String role) { - SMPPage page = new SMPPage(driver); - - genericLogoutProcedure(); - - if (!page.pageHeader.sandwichMenu.isLoggedIn()) { - logger.info("Login!!"); - page.pageHeader.goToLogin().login(role); - } - - page.waitForRowsToLoad(); - return page; - } + } + + @BeforeMethod(alwaysRun = true) + protected void logSeparator(Method method) throws Exception { + + logger.info("--------------------------- Running test number: " + methodCount); + logger.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName()); + methodCount++; + } + + + private void createDomains() { + for (int i = 0; i < 5; i++) { + String generated = Generator.randomAlphaNumeric(10); + logger.info("creating domain whose value is :" + generated); + boolean created = SMPRestClient.createDomain(generated); + if (created) { + createdDomains.add(generated); + } else { + logger.warn("Test data creation: Domain creation failed for " + generated); + System.exit(-1); + } + } + } + + private void createUsers() { + String[] roles = {"SMP_ADMIN", "SERVICE_GROUP_ADMIN", "SYSTEM_ADMIN"}; + for (int i = 0; i < 6; i++) { + String generated = Generator.randomAlphaNumeric(10); + String role = roles[i % roles.length]; + boolean created = SMPRestClient.createUser(generated, role); + if (created) { + createdUsers.add(generated); + } else { + logger.warn("Test data creation: User creation failed for " + generated); + System.exit(-1); + } + } + } + + private void createSGs() { + for (int i = 0; i < 5; i++) { + String generated = Generator.randomAlphaNumeric(10); + String generatedHyphen = generated.substring(0, 3) + "-" + generated.substring(3, 6) + "-" + generated.substring(6, 9); + List<String> users = Arrays.asList(createdUsers.get(0)); + List<String> domains = Arrays.asList(createdDomains.get(0)); + boolean created = SMPRestClient.createServiceGroup(generated, generatedHyphen, users, domains); + if (created) { + createdServiceGroups.add(generated); + } else { + logger.warn("Test data creation: SG creation failed for " + generated); + System.exit(-1); + } + } + } + + private void deleteTestData() { + for (String createdServiceGroup : createdServiceGroups) { + try { + SMPRestClient.deleteSG(createdServiceGroup); + } catch (Exception e) { + e.printStackTrace(); + } + } + for (String createdUser : createdUsers) { + try { + SMPRestClient.deleteUser(createdUser); + } catch (Exception e) { + e.printStackTrace(); + } + } + for (String createdDomain : createdDomains) { + try { + SMPRestClient.deleteDomain(createdDomain); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + + protected void genericLogoutProcedure() { + logger.info("executing the generic logout procedure"); + + SMPPage page = new SMPPage(driver); + page.refreshPage(); + + try { + if (page.pageHeader.sandwichMenu.isLoggedIn()) { + logger.info("Logout!!"); + page.pageHeader.sandwichMenu.logout(); + } + } catch (Exception e) { + e.printStackTrace(); + } + + driver.manage().deleteAllCookies(); + ((JavascriptExecutor) driver).executeScript("localStorage.clear();"); + + page.refreshPage(); + page.waitForXMillis(100); + } + + protected SMPPage genericLoginProcedure(String role) { + SMPPage page = new SMPPage(driver); + + genericLogoutProcedure(); + + if (!page.pageHeader.sandwichMenu.isLoggedIn()) { + logger.info("Login!!"); + page.pageHeader.goToLogin().login(role); + } + + page.waitForRowsToLoad(); + return page; + } } diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java index 71fe2caf9..cb709ae2d 100644 --- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java +++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java @@ -1,6 +1,5 @@ package ui; -import org.testng.SkipException; import org.testng.annotations.AfterMethod; import org.testng.annotations.Ignore; import org.testng.annotations.Test; @@ -22,372 +21,371 @@ import java.util.Set; public class SearchPgTest extends BaseTest { - @AfterMethod - public void resetFilters() { - SMPPage page = new SMPPage(driver); - page.refreshPage(); - page.waitForXMillis(500); + @AfterMethod + public void resetFilters() { + SMPPage page = new SMPPage(driver); + page.refreshPage(); + page.waitForXMillis(500); - } + } - @Test(description = "SRCH-0") - public void searchPgInitialState() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-0") + public void searchPgInitialState() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible"); - soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enable"); - soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty()); - soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty()); - soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains"); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible"); + soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enable"); + soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty()); + soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty()); + soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-10") - public void domainSelectContent() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + @Test(description = "SRCH-10") + public void domainSelectContent() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - List<String> uiDomains = page.filters.domainSelect.getOptionTexts(); - List<String> restDomains = SMPRestClient.getDomainAndSubdomains(); + List<String> uiDomains = page.filters.domainSelect.getOptionTexts(); + List<String> restDomains = SMPRestClient.getDomainAndSubdomains(); - for (String restDomain : restDomains) { - boolean found = false; - for (String uiDomain : uiDomains) { - if (uiDomain.equalsIgnoreCase(restDomain)) { - found = true; - } - } - soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain); - } + for (String restDomain : restDomains) { + boolean found = false; + for (String uiDomain : uiDomains) { + if (uiDomain.equalsIgnoreCase(restDomain)) { + found = true; + } + } + soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain); + } - soft.assertAll(); + soft.assertAll(); - } + } - @Test(description = "SRCH-20") - public void searchGridInitialState() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-20") + public void searchGridInitialState() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - List<String> headers = page.getServiceGroupGrid().getHeaders(); - soft.assertTrue(headers.contains("Participant identifier")); - soft.assertTrue(headers.contains("Participant scheme")); - soft.assertTrue(headers.contains("OASIS ServiceGroup URL")); - soft.assertTrue(headers.contains("Metadata size")); + List<String> headers = page.getServiceGroupGrid().getHeaders(); + soft.assertTrue(headers.contains("Participant identifier")); + soft.assertTrue(headers.contains("Participant scheme")); + soft.assertTrue(headers.contains("OASIS ServiceGroup URL")); + soft.assertTrue(headers.contains("Metadata size")); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-30") - public void searchFilterResults() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-30") + public void searchFilterResults() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // looking for exact match - page.filters.filter(pIdentifier, pScheme, ""); + page.filters.filter(pIdentifier, pScheme, ""); - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (ServiceGroupRow row : rows) { - soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier)); - soft.assertTrue(row.getParticipantScheme().contains(pScheme)); - } + for (ServiceGroupRow row : rows) { + soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier)); + soft.assertTrue(row.getParticipantScheme().contains(pScheme)); + } // Search for substring - page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), ""); - rows = page.getServiceGroupGrid().getRows(); + page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), ""); + rows = page.getServiceGroupGrid().getRows(); - for (ServiceGroupRow row : rows) { + for (ServiceGroupRow row : rows) { - String identifier = row.getParticipantIdentifier(); - String scheme = row.getParticipantScheme(); + String identifier = row.getParticipantIdentifier(); + String scheme = row.getParticipantScheme(); - soft.assertTrue(identifier.contains(pIdentifier), String.format("Identifier %s, found %s", pIdentifier, identifier)); - soft.assertTrue(scheme.contains(pScheme), String.format("Scheme %s, found %s", pScheme, scheme)); - } + soft.assertTrue(identifier.contains(pIdentifier), String.format("Identifier %s, found %s", pIdentifier, identifier)); + soft.assertTrue(scheme.contains(pScheme), String.format("Scheme %s, found %s", pScheme, scheme)); + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-40") - public void openURLLink() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-40") + public void openURLLink() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - String tmpURLPart = null; - try { - tmpURLPart = URLDecoder.decode(listedURL, "UTF-8").split("smp/")[1].trim(); - soft.assertEquals(tmpURLPart, pScheme + "::" + pIdentifier, "URL contains the proper scheme and identifier"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + String tmpURLPart = null; + try { + tmpURLPart = URLDecoder.decode(listedURL, "UTF-8").split("smp/")[1].trim(); + soft.assertEquals(tmpURLPart, pScheme + "::" + pIdentifier, "URL contains the proper scheme and identifier"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(), - "Number of listed MetadataReferences in XML matches UI"); + soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(), + "Number of listed MetadataReferences in XML matches UI"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-50") - @Ignore - public void expandServiceGroupCheckMetadata() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-50") + @Ignore + public void expandServiceGroupCheckMetadata() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - MetadataGrid metadataGrid = row0.expandMetadata(); + MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); - for (MetadataRow metadataRow : metadataRows) { - String docScheme = metadataRow.getDocumentIdentifierScheme(); - String docId = metadataRow.getDocumentIdentifier(); - String url = metadataRow.getURL(); + for (MetadataRow metadataRow : metadataRows) { + String docScheme = metadataRow.getDocumentIdentifierScheme(); + String docId = metadataRow.getDocumentIdentifier(); + String url = metadataRow.getURL(); - soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); + soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); - String metadata = SMPRestClient.getMetadataString(url); + String metadata = SMPRestClient.getMetadataString(url); - soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata " + docId); - soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata " + docId); - soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata " + docId); - soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata " + docId); + soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata " + docId); + soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata " + docId); + soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata " + docId); + soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata " + docId); - } + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-60") - public void collapseMetadata() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-60") + public void collapseMetadata() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getMetadataSize() > 0) { - row0 = rows.get(i); - } - } + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + for (int i = 0; i < rows.size(); i++) { + if (rows.get(i).getMetadataSize() > 0) { + row0 = rows.get(i); + } + } - if (null == row0) { - row0 = rows.get(0); - SMPRestClient.createMetadata(row0.getParticipantIdentifier()); - page.refreshPage(); - logger.info("Created Metadata for row 0"); - row0 = page.getServiceGroupGrid().getRows().get(0); - } + if (null == row0) { + row0 = rows.get(0); + SMPRestClient.createMetadata(row0.getParticipantIdentifier()); + page.refreshPage(); + logger.info("Created Metadata for row 0"); + row0 = page.getServiceGroupGrid().getRows().get(0); + } - soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it"); - row0.expandMetadata(); + soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it"); + row0.expandMetadata(); - soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click"); + soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click"); - row0.collapseMetadata(); - soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse"); - soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more"); + row0.collapseMetadata(); + soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse"); + soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-70") - public void verifyOpenMetadataURL() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-70") + public void verifyOpenMetadataURL() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getMetadataSize() > 0) { - row0 = rows.get(i); - } - } + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + for (int i = 0; i < rows.size(); i++) { + if (rows.get(i).getMetadataSize() > 0) { + row0 = rows.get(i); + } + } - if (null == row0) { - row0 = rows.get(0); - SMPRestClient.createMetadata(row0.getParticipantIdentifier()); - page.refreshPage(); - logger.info("Created Metadata for row 0"); - row0 = page.getServiceGroupGrid().getRows().get(0); - } + if (null == row0) { + row0 = rows.get(0); + SMPRestClient.createMetadata(row0.getParticipantIdentifier()); + page.refreshPage(); + logger.info("Created Metadata for row 0"); + row0 = page.getServiceGroupGrid().getRows().get(0); + } - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - MetadataGrid metadataGrid = row0.expandMetadata(); + MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); - for (MetadataRow metadataRow : metadataRows) { - String docScheme = metadataRow.getDocumentIdentifierScheme(); - String docId = metadataRow.getDocumentIdentifier(); - String url = null; - try { - url = URLDecoder.decode(metadataRow.getURL(), "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + for (MetadataRow metadataRow : metadataRows) { + String docScheme = metadataRow.getDocumentIdentifierScheme(); + String docId = metadataRow.getDocumentIdentifier(); + String url = null; + try { + url = URLDecoder.decode(metadataRow.getURL(), "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); + soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); - String mainWindow = driver.getWindowHandle(); + String mainWindow = driver.getWindowHandle(); - metadataRow.clickURL(); - page.waitForNumberOfWindowsToBe(2); - Set<String> handleSet = driver.getWindowHandles(); - String[] handles = handleSet.toArray(new String[handleSet.size()]); + metadataRow.clickURL(); + page.waitForNumberOfWindowsToBe(2); + Set<String> handleSet = driver.getWindowHandles(); + String[] handles = handleSet.toArray(new String[handleSet.size()]); - soft.assertTrue(handles.length == 2); + soft.assertTrue(handles.length == 2); - driver.switchTo().window(handles[1]); - driver.close(); - driver.switchTo().window(handles[0]); + driver.switchTo().window(handles[1]); + driver.close(); + driver.switchTo().window(handles[0]); - } + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-80") - public void filterByDifferentDomains() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-80") + public void filterByDifferentDomains() { + SoftAssert soft = new SoftAssert(); - String participantID = Generator.randomAlphaNumeric(5); - String tmp = Generator.randomAlphaNumeric(3).toLowerCase(); - String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp); + String participantID = Generator.randomAlphaNumeric(5); + String tmp = Generator.randomAlphaNumeric(3).toLowerCase(); + String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp); - List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1)); - List<String> owners = Arrays.asList(createdUsers.get(0)); + List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1)); + List<String> owners = Arrays.asList(createdUsers.get(0)); - logger.info("Creating service group with participant id: " + participantID); - SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains); + logger.info("Creating service group with participant id: " + participantID); + SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains); - SearchPage searchPage = new SearchPage(driver); - searchPage.refreshPage(); + SearchPage searchPage = new SearchPage(driver); + searchPage.refreshPage(); - searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0))); - List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows(); + searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0))); + List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows(); - soft.assertEquals(results.size(), 1, "Results size is 1 (first search)"); - soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), - "First and only result is the one we entered and is found when filtering by first domain"); + soft.assertEquals(results.size(), 1, "Results size is 1 (first search)"); + soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), + "First and only result is the one we entered and is found when filtering by first domain"); - searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1))); - results = searchPage.getServiceGroupGrid().getRows(); + searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1))); + results = searchPage.getServiceGroupGrid().getRows(); - soft.assertEquals(results.size(), 1, "Results size is 1 (second search)"); - soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), - "First and only result is the one we entered and is found when filtering by second domain"); + soft.assertEquals(results.size(), 1, "Results size is 1 (second search)"); + soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), + "First and only result is the one we entered and is found when filtering by second domain"); - SMPRestClient.deleteSG(participantID); + SMPRestClient.deleteSG(participantID); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-90") - public void verifyDifferentParticipantIdAndSchemeResult() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-90") + public void verifyDifferentParticipantIdAndSchemeResult() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - String emptyMsg = "No data to display"; + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + String emptyMsg = "No data to display"; - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String pScheme = row0.getParticipantScheme(); - ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); - String pIdentifier = row1.getParticipantIdentifier(); + ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); + String pIdentifier = row1.getParticipantIdentifier(); - page.filters.filter(pIdentifier, pScheme, ""); + page.filters.filter(pIdentifier, pScheme, ""); - soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); - soft.assertAll(); - } + soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); + soft.assertAll(); + } - @Test(description = "SRCH-100") - public void metadataTableContent() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-100") + public void metadataTableContent() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - row0 = rows.get(0); - MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - if (row0.getMetadataSize() == 0) { - //row0.emptyMetadataContentText() - soft.assertEquals(row0.emptyMetadataContentText(), "No service metadata"); - } else { - if (row0.getMetadataSize() > 0) { - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "metadata size is not equal to no of metadata present inside the corressponding row"); - } + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + row0 = rows.get(0); + MetadataGrid metadataGrid = row0.expandMetadata(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + if (row0.getMetadataSize() == 0) { + //row0.emptyMetadataContentText() + soft.assertEquals(row0.emptyMetadataContentText(), "No service metadata"); + } else { + if (row0.getMetadataSize() > 0) { + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "metadata size is not equal to no of metadata present inside the corressponding row"); + } - } - soft.assertAll(); - } + } + soft.assertAll(); + } - @Test(description = "SRCH-101") - public void verifyCollapsingSidebarPageAfterLogin() - { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - page.sidebar.collapsingSideBar(); - soft.assertFalse(page.sidebar.isSidebarSearchTextEnable(),"Search button is visible so sidebar page is not collpased"); + @Test(description = "SRCH-101") + public void verifyCollapsingSidebarPageAfterLogin() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + page.sidebar.collapsingSideBar(); + soft.assertFalse(page.sidebar.isSidebarSearchTextEnable(), "Search button is visible so sidebar page is not collpased"); page.sidebar.expandingSideBar(); - soft.assertTrue(page.sidebar.isSidebarSearchTextEnable(),"Search button is not visible so sidebar page is not expanding"); - soft.assertAll(); - } + soft.assertTrue(page.sidebar.isSidebarSearchTextEnable(), "Search button is not visible so sidebar page is not expanding"); + soft.assertAll(); + } } diff --git a/smp-ui-tests/src/test/java/ui/UsersPgTest.java b/smp-ui-tests/src/test/java/ui/UsersPgTest.java index 997a99bfc..5f986d8be 100644 --- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java +++ b/smp-ui-tests/src/test/java/ui/UsersPgTest.java @@ -7,9 +7,7 @@ import org.testng.asserts.SoftAssert; import pages.components.ConfirmationDialog; import pages.components.baseComponents.SMPPage; import pages.components.messageArea.AlertMessage; -import pages.domain.DomainPage; import pages.login.LoginPage; -import pages.password.PasswordChangepopup; import pages.service_groups.search.SearchPage; import pages.users.UserPopup; import pages.users.UsersPage; @@ -20,254 +18,250 @@ import utils.rest.SMPRestClient; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; public class UsersPgTest extends BaseTest { - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } + @AfterMethod + public void logoutAndReset() { + genericLogoutProcedure(); + } - @BeforeMethod - public void loginAndGoToUsersPage() { + @BeforeMethod + public void loginAndGoToUsersPage() { - SMPPage page = genericLoginProcedure("SYS_ADMIN"); + SMPPage page = genericLoginProcedure("SYS_ADMIN"); - logger.info("Going to Users page"); - page.sidebar.goToPage(UsersPage.class); - } + logger.info("Going to Users page"); + page.sidebar.goToPage(UsersPage.class); + } - @Test(description = "USR-0") - public void existingUserPasswordDialogView() - { - SoftAssert soft = new SoftAssert(); - String username = Generator.randomAlphaNumeric(10); - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); + @Test(description = "USR-0") + public void existingUserPasswordDialogView() { + SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - usersPage.clickSave().confirm(); + usersPage.clickSave().confirm(); - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - int index = usersPage.grid().scrollToUser(username); + int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); - popup.clickSetOrChangePassword(); - //PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - soft.assertTrue(popup.isAdminPasswordInputEnable(),"Admin password field input is not enabled after open password change popup for an existing user"); - soft.assertTrue(popup.isNewPasswordInputEnable(),"New password field input is not enabled after open password change popup for an existing user"); - soft.assertTrue(popup.isConfirmPasswordInputEnable(),"Confirm password field input is not enabled after open password change popup for an existing user"); + popup.clickSetOrChangePassword(); + //PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); + soft.assertTrue(popup.isAdminPasswordInputEnable(), "Admin password field input is not enabled after open password change popup for an existing user"); + soft.assertTrue(popup.isNewPasswordInputEnable(), "New password field input is not enabled after open password change popup for an existing user"); + soft.assertTrue(popup.isConfirmPasswordInputEnable(), "Confirm password field input is not enabled after open password change popup for an existing user"); - popup.clickClosePasswordDialog(); - popup.clickOK(); - usersPage.clickDelete(); - usersPage.waitForXMillis(200); - soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + popup.clickClosePasswordDialog(); + popup.clickOK(); + usersPage.clickDelete(); + usersPage.waitForXMillis(200); + soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - usersPage.clickSave().confirm(); + usersPage.clickSave().confirm(); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); - soft.assertAll(); + soft.assertAll(); - } + } - @Test(description = "USR-10") - public void newUser() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; + @Test(description = "USR-10") + public void newUser() { + String username = Generator.randomAlphaNumeric(10); + String validPass = "Aabcdefghijklm1@"; - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); + UsersPage usersPage = new UsersPage(driver); // soft.assertTrue(usersPage.isNewButtonEnabled(), "New button should be enabled"); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); - //popup.clickUserDetailsToggle(); - //popup.fillDetailsForm(username, validPass, validPass); + //popup.clickUserDetailsToggle(); + //popup.fillDetailsForm(username, validPass, validPass); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - usersPage.clickSave().confirm(); + usersPage.clickSave().confirm(); - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - String adminPass = "123456"; - int index = usersPage.grid().scrollToUser(username); - - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); - try{ - Thread.sleep(10000); - } - catch(Exception e){ - e.printStackTrace(); - } - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass,validPass,validPass); - popup.clickChangedPassword(); - popup.clickCloseAfterChangedPass(); - try { - Thread.sleep(1000); - } - catch(Exception e) - {} - popup.clickOK(); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - - soft.assertAll(); - } - - - @Test(description = "USR-20") - public void usernameValidation() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "QW!@qw12"; - - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm("tst"); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - - //popup.clickUserDetailsToggle(); - - //popup.fillDetailsForm("tst"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(2)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(2)"); - popup.fillDetailsForm("#$^&*^%&$#@%@$#%$"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(3)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(3)"); - //noinspection SpellCheckingInspection - popup.fillDetailsForm("QWERQWERQWERQWERQWERQWERQWERQWE33"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(4)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(4)"); - - - soft.assertAll(); - } - - @SuppressWarnings("SpellCheckingInspection") - @Test(description = "USR-30") - public void passwordValidation() { - String username = Generator.randomAlphaNumeric(10); - ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw", - "QWERQWERQWERQWERQWERQWERQWERQWE33", + String adminPass = "123456"; + int index = usersPage.grid().scrollToUser(username); + + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); + try { + Thread.sleep(10000); + } catch (Exception e) { + e.printStackTrace(); + } + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, validPass); + popup.clickChangedPassword(); + popup.clickCloseAfterChangedPass(); + try { + Thread.sleep(1000); + } catch (Exception e) { + } + popup.clickOK(); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + + soft.assertAll(); + } + + + @Test(description = "USR-20") + public void usernameValidation() { + String username = Generator.randomAlphaNumeric(10); + String validPass = "QW!@qw12"; + + SoftAssert soft = new SoftAssert(); + + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm("tst"); + popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); + + //popup.clickUserDetailsToggle(); + + //popup.fillDetailsForm("tst"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(2)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(2)"); + popup.fillDetailsForm("#$^&*^%&$#@%@$#%$"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(3)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(3)"); + //noinspection SpellCheckingInspection + popup.fillDetailsForm("QWERQWERQWERQWERQWERQWERQWERQWE33"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(4)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(4)"); + + + soft.assertAll(); + } + + @SuppressWarnings("SpellCheckingInspection") + @Test(description = "USR-30", enabled = false) + public void passwordValidation() { + String username = Generator.randomAlphaNumeric(10); + ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw", + "QWERQWERQWERQWERQWERQWERQWERQWE33", // "QWERTYUIOP", // "qwertyuiop", // "321654987", // "~!@#$%^&*()_", // "~1Aa#", - "~1a#2d2dds")); + "~1a#2d2dds")); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); - usersPage.clickVoidSpace(); + UsersPage usersPage = new UsersPage(driver); + usersPage.clickVoidSpace(); - UserPopup popup = usersPage.clickNew(); - popup.fillDetailsForm(username); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - popup.clickOK(); - usersPage.clickSave().confirm(); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - String adminPass = "123456"; - for (String pass : passToValidate) { + UserPopup popup = usersPage.clickNew(); + popup.fillDetailsForm(username); + popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); + popup.clickOK(); + usersPage.clickSave().confirm(); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + String adminPass = "123456"; + for (String pass : passToValidate) { - popup = usersPage.clickEdit(); + popup = usersPage.clickEdit(); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass,pass,pass); - popup.clickClosePasswordDialog(); - popup.clickCancel(); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, pass, pass); + popup.clickClosePasswordDialog(); + popup.clickCancel(); - soft.assertTrue(!popup.isChangePasswordActive(), String.format("ChangePassword button should be disabled until valid data is filled in the popup - %s ", pass)); - //soft.assertEquals(popup.getPassValidationError(), SMPMessages.PASS_POLICY_MESSAGE, String.format("Pass policy message is displayed - %s", pass)); - } + soft.assertTrue(!popup.isChangePasswordActive(), String.format("ChangePassword button should be disabled until valid data is filled in the popup - %s ", pass)); + //soft.assertEquals(popup.getPassValidationError(), SMPMessages.PASS_POLICY_MESSAGE, String.format("Pass policy message is displayed - %s", pass)); + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-40") - public void listedRoles() { + @Test(description = "USR-40") + public void listedRoles() { - ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN")); + ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN")); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - List<String> listedRoles = popup.rolesSelect.getOptionTexts(); + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + List<String> listedRoles = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected"); + soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected"); - for (String expected : expectedRoleValues) { - boolean found = false; - for (String listedRole : listedRoles) { - if (listedRole.equalsIgnoreCase(expected)) { - found = true; - } - } - soft.assertTrue(found, "Role found in page " + expected); - } + for (String expected : expectedRoleValues) { + boolean found = false; + for (String listedRole : listedRoles) { + if (listedRole.equalsIgnoreCase(expected)) { + found = true; + } + } + soft.assertTrue(found, "Role found in page " + expected); + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-50") - public void deleteSYS_ADMIN() { + @Test(description = "USR-50") + public void deleteSYS_ADMIN() { - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SYSTEM_ADMIN"); - SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SYSTEM_ADMIN"); + SoftAssert soft = new SoftAssert(); - logger.info("created user " + username); - UsersPage page = new UsersPage(driver); - page.refreshPage(); + logger.info("created user " + username); + UsersPage page = new UsersPage(driver); + page.refreshPage(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); page.clickCancel().confirm(); new ConfirmationDialog(driver).confirm(); @@ -278,99 +272,99 @@ public class UsersPgTest extends BaseTest { page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - page.clickSave().confirm(); + page.clickSave().confirm(); soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-60") - public void changeRoleSYS_ADMIN() { + @Test(description = "USR-60") + public void changeRoleSYS_ADMIN() { - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); UsersPage page = new UsersPage(driver); int index = page.grid().scrollToUserWithRole("SYSTEM_ADMIN"); - page.grid().selectRow(index); - UserPopup popup = page.clickEdit(); - List<String> options = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(options.size() == 1, "Role dropdown has only one value"); - soft.assertTrue(options.get(0).equalsIgnoreCase("SYSTEM_ADMIN"), "Role dropdown has only one value and that is \"SYSTEM_ADMIN\""); + page.grid().selectRow(index); + UserPopup popup = page.clickEdit(); + List<String> options = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(options.size() == 1, "Role dropdown has only one value"); + soft.assertTrue(options.get(0).equalsIgnoreCase("SYSTEM_ADMIN"), "Role dropdown has only one value and that is \"SYSTEM_ADMIN\""); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-70") - public void changeRoleNON_SYS_ADMIN() { + @Test(description = "USR-70") + public void changeRoleNON_SYS_ADMIN() { - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); UsersPage page = new UsersPage(driver); int index = page.grid().scrollToUserWithRole("SMP_ADMIN"); - page.grid().selectRow(index); - UserPopup popup = page.clickEdit(); + page.grid().selectRow(index); + UserPopup popup = page.clickEdit(); - List<String> options = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); - soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); - soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); + List<String> options = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); + soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); + soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-80") - public void deleteOWNUserRecord() { + @Test(description = "USR-80") + public void deleteOWNUserRecord() { - String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username"); + String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username"); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + UsersPage page = new UsersPage(driver); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Listed message is error"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(SMPMessages.USER_OWN_DELETE_ERR), "Listed message has appropriate text"); + page.clickDelete(); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Listed message is error"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(SMPMessages.USER_OWN_DELETE_ERR), "Listed message has appropriate text"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-90") - public void deleteSMP_ADMIN() { + @Test(description = "USR-90") + public void deleteSMP_ADMIN() { - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SMP_ADMIN"); - SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SMP_ADMIN"); + SoftAssert soft = new SoftAssert(); - logger.info("Created username " + username); + logger.info("Created username " + username); - UsersPage page = new UsersPage(driver); - page.refreshPage(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + UsersPage page = new UsersPage(driver); + page.refreshPage(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); page.clickCancel().confirm(); new ConfirmationDialog(driver).confirm(); @@ -381,44 +375,44 @@ public class UsersPgTest extends BaseTest { page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - page.clickDelete(); - page.waitForXMillis(200); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + page.clickDelete(); + page.waitForXMillis(200); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - page.clickSave().confirm(); + page.clickSave().confirm(); soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-100") - public void deleteSERVICE_GROUP_ADMIN() { + @Test(description = "USR-100") + public void deleteSERVICE_GROUP_ADMIN() { - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); - logger.info("Created username" + username); - SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); + logger.info("Created username" + username); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - page.refreshPage(); - page.waitForRowsToLoad(); + UsersPage page = new UsersPage(driver); + page.refreshPage(); + page.waitForRowsToLoad(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - int index =page.grid(). scrollToUser(username); + int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - page.waitForRowsToLoad(); + page.clickDelete(); + page.waitForRowsToLoad(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); page.clickCancel().confirm(); new ConfirmationDialog(driver).confirm(); @@ -429,94 +423,94 @@ public class UsersPgTest extends BaseTest { index = page.grid().scrollToUser(username); page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - page.clickDelete(); - page.waitForRowsToLoad(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + page.clickDelete(); + page.waitForRowsToLoad(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - page.clickSave().confirm(); + page.clickSave().confirm(); soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-110") - public void deleteSG_ADMINWithSG() { + @Test(description = "USR-110") + public void deleteSG_ADMINWithSG() { - String username = Generator.randomAlphaNumeric(10); - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); + String username = Generator.randomAlphaNumeric(10); + String pi = Generator.randomAlphaNumeric(10); + String ps = Generator.randomAlphaNumeric(10); - String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); + String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); - SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); - SMPRestClient.createServiceGroup(pi, ps, - new ArrayList<>(Arrays.asList(username)), - new ArrayList<>(Arrays.asList(createdDomains.get(0))) - ); + SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); + SMPRestClient.createServiceGroup(pi, ps, + new ArrayList<>(Arrays.asList(username)), + new ArrayList<>(Arrays.asList(createdDomains.get(0))) + ); - logger.info("Created username " + username); - logger.info("Created service group " + pi); + logger.info("Created username " + username); + logger.info("Created service group " + pi); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - page.refreshPage(); + UsersPage page = new UsersPage(driver); + page.refreshPage(); int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); + page.clickDelete(); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); + SMPRestClient.deleteSG(pi); + SMPRestClient.deleteUser(username); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "USR-120") - public void deleteSMP_ADMINWithSG() { + @Test(description = "USR-120") + public void deleteSMP_ADMINWithSG() { - String username = Generator.randomAlphaNumeric(10); - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); + String username = Generator.randomAlphaNumeric(10); + String pi = Generator.randomAlphaNumeric(10); + String ps = Generator.randomAlphaNumeric(10); - String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); + String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); - SMPRestClient.createUser(username, "SMP_ADMIN"); - SMPRestClient.createServiceGroup(pi, ps, - new ArrayList<>(Arrays.asList(username)), - new ArrayList<>(Arrays.asList(createdDomains.get(0))) - ); + SMPRestClient.createUser(username, "SMP_ADMIN"); + SMPRestClient.createServiceGroup(pi, ps, + new ArrayList<>(Arrays.asList(username)), + new ArrayList<>(Arrays.asList(createdDomains.get(0))) + ); - logger.info("Created username "+ username); + logger.info("Created username " + username); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - page.refreshPage(); + UsersPage page = new UsersPage(driver); + page.refreshPage(); int index = page.grid().scrollToUser(username); page.grid().selectRow(index); soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - page.waitForXMillis(500); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); + page.clickDelete(); + page.waitForXMillis(500); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); + SMPRestClient.deleteSG(pi); + SMPRestClient.deleteUser(username); soft.assertAll(); } @@ -532,37 +526,37 @@ public class UsersPgTest extends BaseTest { UserPopup popup = page.clickNew(); soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup"); - popup.fillDetailsForm(userName); + popup.fillDetailsForm(userName); popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - String adminPass = "123456"; - int index = page.grid().scrollToUser(userName); - - page.grid().selectRow(index); - popup = page.clickEdit(); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass,validPass,validPass); - popup.clickChangedPassword(); - popup.clickCloseAfterChangedPass(); - popup.clickCancel(); - soft.assertTrue(page.grid().isUserListed(userName), "User present in the page"); - - //popup.clickUserDetailsToggle(); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + page.clickSave().confirm(); + String adminPass = "123456"; + int index = page.grid().scrollToUser(userName); + + page.grid().selectRow(index); + popup = page.clickEdit(); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, validPass); + popup.clickChangedPassword(); + popup.clickCloseAfterChangedPass(); + popup.clickCancel(); + soft.assertTrue(page.grid().isUserListed(userName), "User present in the page"); + + //popup.clickUserDetailsToggle(); //popup.fillDetailsForm(userName,validPass,validPass); page.clickNew(); - popup.fillDetailsForm(userName); + popup.fillDetailsForm(userName); popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - // popup.clickUserDetailsToggle(); + // popup.clickUserDetailsToggle(); //popup.fillDetailsForm(userName); soft.assertFalse(popup.isOKButtonActive(), "OK button is enable after duplicate user name is filled in the popup"); soft.assertTrue(popup.isDuplicateUserNameErrorMsgDisPlayed(), "The user page is not containing the expected error message"); - popup.clickCancel(); + popup.clickCancel(); soft.assertAll(); } @@ -572,86 +566,85 @@ public class UsersPgTest extends BaseTest { String validPass = "Aabcdefghijklm1@"; String confirmPass = "AS@!gh12fxghfnh43546"; String errorMsg = "Confirm valued does not match new password!"; - String adminPass = "123456"; + String adminPass = "123456"; SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); + UsersPage usersPage = new UsersPage(driver); UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(),"OK button is enable before valid data is filled in the popup"); - popup.fillDetailsForm(username); + soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup"); + popup.fillDetailsForm(username); popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - popup.clickOK(); - soft.assertTrue(usersPage.isSaveButtonEnabled(),"Save button is enabled"); - usersPage.clickSave().confirm(); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass,validPass,confirmPass); - //popup.clickVoidSpace(); + popup.clickOK(); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + usersPage.clickSave().confirm(); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, confirmPass); + //popup.clickVoidSpace(); soft.assertTrue(!popup.isChangePasswordButtonActive(), "password change button is enabled before valid data is filled in the popup(2)"); - //logger.info("Msg is :"+popup.getPassDontMatchValidationMsg()); - // soft.assertEquals(popup.getPassDontMatchValidationMsg(), errorMsg, "confirmation input does not contain the message 'Confirm valued does not match new password!'"); - soft.assertTrue(!popup.isPopupChangedPasswordEnabled(),"Chagepassword option is not disable after giving the wrong data in cofirmation password"); + //logger.info("Msg is :"+popup.getPassDontMatchValidationMsg()); + // soft.assertEquals(popup.getPassDontMatchValidationMsg(), errorMsg, "confirmation input does not contain the message 'Confirm valued does not match new password!'"); + soft.assertTrue(!popup.isPopupChangedPasswordEnabled(), "Chagepassword option is not disable after giving the wrong data in cofirmation password"); soft.assertAll(); } - @Test(description = "USR-123") - public void verifySuspendedUserwithoutPassword() - { - String username = Generator.randomAlphaNumeric(10); - String password = "Aabcdefghijklm1@"; - - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - - usersPage.clickSave().confirm(); - - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - - usersPage.pageHeader.sandwichMenu.logout(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - LoginPage loginPage = page.pageHeader.goToLogin(); - for(int i=0;i<5;i++){ - loginPage.invalidLogin(username, password); - loginPage.waitForXMillis(2000); - } - soft.assertTrue(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); - logger.info(loginPage.alertArea.getAlertMessage().getMessage()); - soft.assertTrue(loginPage.alertArea.getAlertMessage().getMessage().contains(SMPMessages.MSG_22), "Message listed is as expected"); - - SMPPage smpPage = genericLoginProcedure("SYS_ADMIN"); - logger.info("Going to User page"); - smpPage.sidebar.goToPage(UsersPage.class); - usersPage = new UsersPage(driver); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - soft.assertTrue(usersPage.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - - usersPage.clickDelete(); - usersPage.waitForXMillis(200); - soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - - usersPage.clickSave().confirm(); - - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); - - soft.assertAll(); - } + @Test(description = "USR-123") + public void verifySuspendedUserwithoutPassword() { + String username = Generator.randomAlphaNumeric(10); + String password = "Aabcdefghijklm1@"; + + SoftAssert soft = new SoftAssert(); + + UsersPage usersPage = new UsersPage(driver); + + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); + + usersPage.clickSave().confirm(); + + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + + usersPage.pageHeader.sandwichMenu.logout(); + SearchPage page = new SearchPage(driver); + logger.info("Going to login page"); + LoginPage loginPage = page.pageHeader.goToLogin(); + for (int i = 0; i < 5; i++) { + loginPage.invalidLogin(username, password); + loginPage.waitForXMillis(2000); + } + soft.assertTrue(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); + logger.info(loginPage.alertArea.getAlertMessage().getMessage()); + soft.assertTrue(loginPage.alertArea.getAlertMessage().getMessage().contains(SMPMessages.MSG_22), "Message listed is as expected"); + + SMPPage smpPage = genericLoginProcedure("SYS_ADMIN"); + logger.info("Going to User page"); + smpPage.sidebar.goToPage(UsersPage.class); + usersPage = new UsersPage(driver); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + soft.assertTrue(usersPage.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + + usersPage.clickDelete(); + usersPage.waitForXMillis(200); + soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + + usersPage.clickSave().confirm(); + + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); + + soft.assertAll(); + } } -- GitLab