From f25f9e0f66f83fcc9731168a52e6f9aab539eb08 Mon Sep 17 00:00:00 2001 From: RIHTARSIC Joze <joze.rihtarsic@ext.ec.europa.eu> Date: Mon, 15 Jan 2024 13:46:44 +0100 Subject: [PATCH] Delete old smp-ui-tests module --- smp-ui-tests/.gitignore | 23 - smp-ui-tests/README.txt | 44 -- smp-ui-tests/pom.xml | 142 ---- .../pages/components/ConfirmationDialog.java | 41 - .../java/pages/components/GenericSelect.java | 126 --- .../java/pages/components/SandwichMenu.java | 76 -- .../main/java/pages/components/Sidebar.java | 100 --- .../components/baseComponents/Header.java | 56 -- .../baseComponents/PageComponent.java | 191 ----- .../baseComponents/PaginationControls.java | 197 ----- .../components/baseComponents/SMPPage.java | 30 - .../java/pages/components/grid/BasicGrid.java | 72 -- .../components/messageArea/AlertArea.java | 46 -- .../components/messageArea/AlertMessage.java | 29 - .../main/java/pages/domain/DomainGrid.java | 127 --- .../main/java/pages/domain/DomainPage.java | 122 --- .../main/java/pages/domain/DomainPopup.java | 193 ----- .../src/main/java/pages/domain/DomainRow.java | 90 --- .../pages/keystore/KeyStoreEditDialog.java | 46 -- .../java/pages/keystore/KeyStoreGrid.java | 41 - .../pages/keystore/KeyStoreImportDialog.java | 75 -- .../main/java/pages/keystore/KeyStoreRow.java | 45 -- .../src/main/java/pages/login/LoginPage.java | 167 ---- .../pages/password/PasswordChangepopup.java | 132 ---- .../java/pages/properties/PropertiesGrid.java | 41 - .../java/pages/properties/PropertiesPage.java | 90 --- .../java/pages/properties/PropertyPopup.java | 90 --- .../pages/properties/PropertyRowInfo.java | 22 - .../java/pages/service_groups/FilterArea.java | 88 --- .../pages/service_groups/MetadataGrid.java | 32 - .../pages/service_groups/MetadataRow.java | 42 - .../service_groups/ServiceGroupGrid.java | 110 --- .../pages/service_groups/ServiceGroupRow.java | 81 -- .../service_groups/edit/AccordionSection.java | 104 --- .../pages/service_groups/edit/EditPage.java | 182 ----- .../service_groups/edit/MetadataRowE.java | 37 - .../edit/SGExtensionWizzard.java | 64 -- .../edit/ServiceGroupPopup.java | 202 ----- .../service_groups/edit/ServiceGroupRowE.java | 48 -- .../edit/ServiceMetadataPopup.java | 165 ---- .../edit/ServiceMetadataWizardPopup.java | 93 --- .../service_groups/search/SearchPage.java | 39 - .../search/pojo/ParticipantIdentifier.java | 40 - .../search/pojo/ServiceGroup.java | 39 - .../search/pojo/ServiceMetadataReference.java | 26 - .../src/main/java/pages/users/UserPopup.java | 291 ------- .../main/java/pages/users/UserRowInfo.java | 33 - .../src/main/java/pages/users/UsersGrid.java | 101 --- .../src/main/java/pages/users/UsersPage.java | 163 ---- .../src/main/java/utils/DriverManager.java | 31 - .../src/main/java/utils/Generator.java | 24 - .../src/main/java/utils/PROPERTIES.java | 15 - .../src/main/java/utils/TestDataProvider.java | 59 -- .../main/java/utils/enums/SMPMessages.java | 90 --- .../src/main/java/utils/rest/SMPPaths.java | 14 - .../main/java/utils/rest/SMPRestClient.java | 504 ------------ .../resources/certificate/policy-test-ca.cer | 13 - .../resources/keystore/keystore_dummy1.jks | Bin 2172 -> 0 bytes .../src/main/resources/log4j.properties | 10 - smp-ui-tests/src/main/resources/testData.json | 7 - .../customReporter/ExcelTestReporter.java | 207 ----- .../customReporter/TestProgressReporter.java | 53 -- smp-ui-tests/src/test/java/ui/BaseTest.java | 197 ----- .../src/test/java/ui/DomainPgTest.java | 525 ------------- smp-ui-tests/src/test/java/ui/EditPgTest.java | 538 ------------- .../src/test/java/ui/LoginPgTest.java | 278 ------- .../src/test/java/ui/PrivilegesTests.java | 190 ----- .../src/test/java/ui/PropertiesPgTest.java | 108 --- .../src/test/java/ui/SearchPgTest.java | 391 ---------- .../src/test/java/ui/UsersPgTest.java | 735 ------------------ 70 files changed, 8423 deletions(-) delete mode 100644 smp-ui-tests/.gitignore delete mode 100644 smp-ui-tests/README.txt delete mode 100644 smp-ui-tests/pom.xml delete mode 100644 smp-ui-tests/src/main/java/pages/components/ConfirmationDialog.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/GenericSelect.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/SandwichMenu.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/Sidebar.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/baseComponents/PaginationControls.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/baseComponents/SMPPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/messageArea/AlertArea.java delete mode 100644 smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java delete mode 100644 smp-ui-tests/src/main/java/pages/domain/DomainGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/domain/DomainPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/domain/DomainPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/domain/DomainRow.java delete mode 100644 smp-ui-tests/src/main/java/pages/keystore/KeyStoreEditDialog.java delete mode 100644 smp-ui-tests/src/main/java/pages/keystore/KeyStoreGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java delete mode 100644 smp-ui-tests/src/main/java/pages/keystore/KeyStoreRow.java delete mode 100644 smp-ui-tests/src/main/java/pages/login/LoginPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/properties/PropertiesGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/properties/PropertiesPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/properties/PropertyPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/properties/PropertyRowInfo.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/MetadataGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/MetadataRow.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/MetadataRowE.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/SGExtensionWizzard.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupRowE.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ParticipantIdentifier.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceGroup.java delete mode 100644 smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceMetadataReference.java delete mode 100644 smp-ui-tests/src/main/java/pages/users/UserPopup.java delete mode 100644 smp-ui-tests/src/main/java/pages/users/UserRowInfo.java delete mode 100644 smp-ui-tests/src/main/java/pages/users/UsersGrid.java delete mode 100644 smp-ui-tests/src/main/java/pages/users/UsersPage.java delete mode 100644 smp-ui-tests/src/main/java/utils/DriverManager.java delete mode 100644 smp-ui-tests/src/main/java/utils/Generator.java delete mode 100644 smp-ui-tests/src/main/java/utils/PROPERTIES.java delete mode 100644 smp-ui-tests/src/main/java/utils/TestDataProvider.java delete mode 100644 smp-ui-tests/src/main/java/utils/enums/SMPMessages.java delete mode 100644 smp-ui-tests/src/main/java/utils/rest/SMPPaths.java delete mode 100644 smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java delete mode 100644 smp-ui-tests/src/main/resources/certificate/policy-test-ca.cer delete mode 100644 smp-ui-tests/src/main/resources/keystore/keystore_dummy1.jks delete mode 100644 smp-ui-tests/src/main/resources/log4j.properties delete mode 100644 smp-ui-tests/src/main/resources/testData.json delete mode 100644 smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java delete mode 100644 smp-ui-tests/src/test/java/customReporter/TestProgressReporter.java delete mode 100644 smp-ui-tests/src/test/java/ui/BaseTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/DomainPgTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/EditPgTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/LoginPgTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/PrivilegesTests.java delete mode 100644 smp-ui-tests/src/test/java/ui/PropertiesPgTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/SearchPgTest.java delete mode 100644 smp-ui-tests/src/test/java/ui/UsersPgTest.java diff --git a/smp-ui-tests/.gitignore b/smp-ui-tests/.gitignore deleted file mode 100644 index a0c1551c6..000000000 --- a/smp-ui-tests/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Compiled class file -*.class - -# Log file -*.log - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# Ignore the drivers -*.exe - - -.idea/** -.target/** -target/** -.\src\main\java\Main.java \ No newline at end of file diff --git a/smp-ui-tests/README.txt b/smp-ui-tests/README.txt deleted file mode 100644 index 5b38e13a1..000000000 --- a/smp-ui-tests/README.txt +++ /dev/null @@ -1,44 +0,0 @@ -This folder contains the Webdriver scripts that test the SMP 4.1.0 UI - -Tests could not be written for any functionality that involves uploading files, -encountered in Domain and Users page because the select file dialog is a system dialog and not accessible from the browser. - -Also there are no tests for Audit functionality because this happens now only in database. - -* Setup: - -The tests are written in Java so Oracle Java 8 or above and Maven are required. -To drive the browser ChromeDriver or GekoDriver is required. This can be downloaded from the following locations: -ChromeDriver - http://chromedriver.storage.googleapis.com/index.html -GekoDriver - https://github.com/mozilla/geckodriver/releases - -After unzipping the path to the executable need to be updated in the pom.xml file -under "/project/profiles/profile/build/plugins/plugin/configuration/systemPropertyVariables". - -In the same set of variables please update the URL for the SMP home page. -Maven parameters - - url - Sets the SMP url without ui context. Ex.: http://localhost:7001/smp - - gecko.driver.path - set the path to gecko driver. Ex.: /opt/drivers/geckodriver - - chrome.driver.path - set the path to gecko driver. Ex.: drivers/chromedriver.exe - - -* Run: - -** Windows: -mvn clean test -P<profileName> - -** Linux: -To run on Linux command line you need to install "Xvfb" and of course Firefox or Chromium -(There is a crash when starting Chromium so it is better to run using Firefox until the crash is resolved) - -sudo xvfb-run --server-args="-screen 0 1920x1080x24" mvn test -P<profileName> -example -mvn clean install -Pubuntu -Durl=http://localhost:7001/smp -Dgecko.driver.path=drivers/geckodriver - - -* Reports - -Scripts provide multiple reports like JUnit and Surefire reports -but also a custom Excel report in the ./target folder. - -For any questions and complains please refer to the creator of these scripts - CATALIN COMANICI \ No newline at end of file diff --git a/smp-ui-tests/pom.xml b/smp-ui-tests/pom.xml deleted file mode 100644 index 08f7e6ea1..000000000 --- a/smp-ui-tests/pom.xml +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>com.test.smp</groupId> - <artifactId>SMPUIAutomation</artifactId> - <version>1.0-SNAPSHOT</version> - - <properties> - <maven.compiler.source>1.8</maven.compiler.source> - <maven.compiler.target>1.8</maven.compiler.target> - <url>http://localhost:8982/smp</url> - <gecko.driver.path>drivers/geckodriver</gecko.driver.path> - <chrome.driver.path>drivers/chromedriver</chrome.driver.path> - </properties> - - <dependencies> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.17</version> - </dependency> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - <version>7.0.0-beta1</version> - </dependency> - <dependency> - <groupId>org.seleniumhq.selenium</groupId> - <artifactId>selenium-java</artifactId> - <version>3.14.0</version> - </dependency> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi-ooxml</artifactId> - <version>3.17</version> - </dependency> - <dependency> - <groupId>org.reflections</groupId> - <artifactId>reflections</artifactId> - <version>0.9.11</version> - </dependency> - <dependency> - <groupId>org.json</groupId> - <artifactId>json</artifactId> - <version>20080701</version> - </dependency> - - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.4.10</version> - </dependency> - - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-client</artifactId> - <version>1.19.4</version> - </dependency> - <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>2.11.0</version> - </dependency> - - - </dependencies> - <profiles> - <profile> - <id>smp_e5</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <build> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.22.1</version> - <configuration> - <failIfNoTests>true</failIfNoTests> - <systemPropertyVariables> - <webdriver.chrome.driver>${chrome.driver.path}</webdriver.chrome.driver> - <webdriver.gecko.driver>chromedriver.exe</webdriver.gecko.driver> - <reports.folder>./target/</reports.folder> - <data.folder>./src/main/resources/</data.folder> - <testdata.file>testData.json</testdata.file> - <LONG_TIMEOUT>30</LONG_TIMEOUT> - <SHORT_TIMEOUT>5</SHORT_TIMEOUT> - <UI_BASE_URL>${url}/ui/</UI_BASE_URL> - </systemPropertyVariables> - <properties> - <property> - <name>usedefaultlisteners</name> - <value>true</value> - </property> - </properties> - </configuration> - </plugin> - </plugins> - </build> - </profile> - <profile> - <id>ubuntu</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <build> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.22.1</version> - <configuration> - <failIfNoTests>true</failIfNoTests> - - <systemPropertyVariables> - <webdriver.chrome.driver>${chrome.driver.path}</webdriver.chrome.driver> - <reports.folder>./target/</reports.folder> - <data.folder>./src/main/resources/</data.folder> - <testdata.file>testData.json</testdata.file> - <LONG_TIMEOUT>30</LONG_TIMEOUT> - <SHORT_TIMEOUT>15</SHORT_TIMEOUT> - <UI_BASE_URL>${url}/ui/</UI_BASE_URL> - </systemPropertyVariables> - <properties> - <property> - <name>usedefaultlisteners</name> - <value>true</value> - </property> - </properties> - </configuration> - </plugin> - </plugins> - </build> - </profile> - - </profiles> - - -</project> diff --git a/smp-ui-tests/src/main/java/pages/components/ConfirmationDialog.java b/smp-ui-tests/src/main/java/pages/components/ConfirmationDialog.java deleted file mode 100644 index 8a14f470c..000000000 --- a/smp-ui-tests/src/main/java/pages/components/ConfirmationDialog.java +++ /dev/null @@ -1,41 +0,0 @@ -package pages.components; - -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.baseComponents.PageComponent; -import utils.PROPERTIES; - -public class ConfirmationDialog extends PageComponent { - - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "yesbuttondialog_id") - private WebElement yesBtn; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "nobuttondialog_id") - private WebElement noBtn; - - public ConfirmationDialog(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public void confirm() { - log.info("dialog .. confirm"); - waitForElementToBeClickable(yesBtn); - yesBtn.click(); - waitForElementToBeGone(yesBtn); - } - - public void cancel() { - log.info("dialog .. cancel"); - waitForElementToBeClickable(noBtn); - noBtn.click(); - waitForElementToBeGone(noBtn); - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/components/GenericSelect.java b/smp-ui-tests/src/main/java/pages/components/GenericSelect.java deleted file mode 100644 index 2075bc26f..000000000 --- a/smp-ui-tests/src/main/java/pages/components/GenericSelect.java +++ /dev/null @@ -1,126 +0,0 @@ -package pages.components; - -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.DefaultElementLocatorFactory; -import org.openqa.selenium.support.ui.ExpectedConditions; -import pages.components.baseComponents.PageComponent; - -import java.util.ArrayList; -import java.util.List; - -public class GenericSelect extends PageComponent { - - @FindBy(className = "mat-select-arrow") - WebElement expandoButton; - @FindBy(css = "div.mat-select-value span") - WebElement currentValueElement; - private WebElement container; - private By optionSelector = By.tagName("mat-option"); - - public GenericSelect(WebDriver driver, WebElement container) { - super(driver); - - log.info("select init"); - this.container = container; - - PageFactory.initElements(new DefaultElementLocatorFactory(container), this); - } - - private void expandSelect() { - log.info("expand select"); - waitForElementToBeClickable(expandoButton); - waitForXMillis(500); - expandoButton.click(); - } - - private List<WebElement> getOptions() { - expandSelect(); - log.info("getting options"); - return wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(optionSelector)); - } - - public List<String> getOptionTexts() { - log.info("get displayed option texts"); - List<WebElement> options = getOptions(); - List<String> optionTexts = new ArrayList<>(); - - for (WebElement option : options) { - optionTexts.add(option.getText().trim()); - } - return optionTexts; - } - - public boolean selectOptionWithText(String text) { - log.info("selecting option with text" + text); - List<WebElement> options = getOptions(); - - - for (WebElement option : options) { - if (option.getText().trim().equalsIgnoreCase(text)) { - waitForElementToBeClickable(option).click(); - waitForElementToBeGone(option); - log.info("return type is True"); - return true; - } - } - log.info(text + " option not found, could not select it"); - return false; - } - - public boolean selectFirstOption() { - log.info("selecting first option"); - List<WebElement> options = getOptions(); - - WebElement option = options.get(1); - waitForElementToBeClickable(option).click(); - waitForElementToBeGone(option); - return true; - } - - public boolean selectWithIndex(int index) { - log.info("selecting the required option"); - List<WebElement> options = getOptions(); - - WebElement option = options.get(index); - waitForElementToBeClickable(option).click(); - waitForElementToBeGone(option); - return true; - } - - - public String getSelectedValue() { - log.info("getting current selected value"); - return currentValueElement.getText().trim(); - } - - public boolean selectOptionByText(String text) { - log.info("(2) selecting option with text" + text); - - expandoButton.click(); - - List<WebElement> options = wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(optionSelector)); - for (WebElement option : options) { - String optionDomain = option.getText().trim(); - if (optionDomain.equalsIgnoreCase(text)) { - option.click(); - waitForElementToBeGone(option); - return true; - } - } - log.info(text + " option not found, could not select it (2)"); - return false; - } - - public boolean isLoaded() { - log.info("assert loaded state"); - waitForElementToBeVisible(expandoButton); - if (!expandoButton.isDisplayed()) { - return false; - } - return currentValueElement.isDisplayed(); - } -} diff --git a/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java b/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java deleted file mode 100644 index 73204029c..000000000 --- a/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java +++ /dev/null @@ -1,76 +0,0 @@ -package pages.components; - -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.baseComponents.PageComponent; -import pages.password.PasswordChangepopup; -import pages.service_groups.search.SearchPage; -import utils.PROPERTIES; - -public class SandwichMenu extends PageComponent { - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "settingsmenu_id") - WebElement expandoButton; - @FindBy(css = "div.mat-menu-content") - WebElement lnkContainer; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "currentuser_id") - WebElement currentUserID; - @FindBy(id = "logout_id") - WebElement logoutLnk; - @FindBy(id = "changePassword_id") - WebElement passChangeLnk; - - public SandwichMenu(WebDriver driver) { - super(driver); - log.info("sandwich menu init"); - - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public boolean isLoggedIn() { - clickVoidSpace(); - - waitForElementToBeClickable(expandoButton).click(); - - boolean isLoggedIn = false; - try { - String text = waitForElementToBeVisible(lnkContainer).getText(); - isLoggedIn = !text.contains("Not logged in"); - } catch (Exception e) { - } - - log.info("User login status is: " + isLoggedIn); - - clickVoidSpace(); - return isLoggedIn; - } - - public PasswordChangepopup clickChangePasswordOption() { - waitForElementToBeClickable(expandoButton).click(); - waitForElementToBeGone(expandoButton); - waitForElementToBeClickable(passChangeLnk).click(); - return new PasswordChangepopup(driver); - } - - public SearchPage logout() { - clickVoidSpace(); - - if (isLoggedIn()) { - waitForElementToBeClickable(expandoButton).click(); - waitForElementToBeClickable(logoutLnk).click(); - log.info("Logging out..."); - } - return new SearchPage(driver); - } - - public void waitForSandwichMenu() { - log.info("waiting for sandwich menu"); - waitForXMillis(500); - waitForElementToBeVisible(expandoButton); - } - -} diff --git a/smp-ui-tests/src/main/java/pages/components/Sidebar.java b/smp-ui-tests/src/main/java/pages/components/Sidebar.java deleted file mode 100644 index a4a7ba5b2..000000000 --- a/smp-ui-tests/src/main/java/pages/components/Sidebar.java +++ /dev/null @@ -1,100 +0,0 @@ -package pages.components; - -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 pages.components.baseComponents.Header; -import pages.components.baseComponents.PageComponent; -import pages.components.baseComponents.SMPPage; -import utils.PROPERTIES; - -public class Sidebar extends PageComponent { - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(tagName = "mat-sidenav") - private WebElement sideBar; - private WebElement topLogo; - private WebElement topLogoText; - @FindBy(id = "sidebar_search_id") - private WebElement searchLnk; - @FindBy(id = "sidebar_edit_id") - private WebElement editLnk; - @FindBy(id = "sidebar_domain_id") - private WebElement domainLnk; - @FindBy(id = "sidebar_user_id") - private WebElement userLnk; - @FindBy(id = "sidebar_property_id") - private WebElement propertyLnk; - @FindBy(css = "mat-icon[role=img][mattooltip=Collapse]") - private WebElement collapseButton; - @FindBy(xpath = "//button[@id='sidebar_search_id']//span[text()='Search']") - private WebElement sidebarSearchText; - - public Sidebar(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - /* Receives the Page object class as parameter and based on the class name it navigates to the appropriate page - and returns an instance of that class */ - public <T extends SMPPage> T goToPage(Class<T> expect) { - log.info("Navigating to " + expect.getSimpleName()); - - switch (expect.getSimpleName()) { - case "SearchPage": - waitForElementToBeClickable(searchLnk).click(); - break; - case "EditPage": - waitForElementToBeClickable(editLnk).click(); - break; - case "DomainPage": - waitForElementToBeClickable(domainLnk).click(); - break; - case "UsersPage": - waitForElementToBeClickable(userLnk).click(); - break; - case "PropertiesPage": - waitForElementToBeClickable(propertyLnk).click(); - break; - } - - waitForXMillis(500); - - new Header(driver).waitForTitleToBe(); - - waitForRowsToLoad(); - - return PageFactory.initElements(driver, expect); - } - - public boolean isSearchLnkEnabled() { - return isVisible(searchLnk) && isEnabled(searchLnk); - } - - public boolean isEditLnkEnabled() { - return isVisible(editLnk) && isEnabled(editLnk); - } - - public boolean isDomainLnkEnabled() { - return isVisible(domainLnk) && isEnabled(domainLnk); - } - - public boolean isUsersLnkEnabled() { - return isVisible(userLnk) && isEnabled(userLnk); - } - - public boolean isSidebarSearchTextEnable() { - return isVisible(sidebarSearchText) && isEnabled(sidebarSearchText); - } - - public void collapsingSideBar() { - collapseButton.click(); - } - - public void expandingSideBar() { - driver.findElement(By.cssSelector("mat-icon[role=img][mattooltip=Expand]")).click(); - } -} diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java deleted file mode 100644 index e5535ddcf..000000000 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java +++ /dev/null @@ -1,56 +0,0 @@ -package pages.components.baseComponents; - -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.SandwichMenu; -import pages.login.LoginPage; -import utils.PROPERTIES; - -public class Header extends PageComponent { - - public SandwichMenu sandwichMenu = new SandwichMenu(driver); - @FindBy(id = "_header_id") - private WebElement pageTitle; - - @FindBy(css = ".helpMenu") - private WebElement helpLnk; - - @FindBy(css = "#sandwichMenu a") - private WebElement loginLnk; - - @FindBy(css = "#sandwichMenu .ng-star-inserted") - private WebElement role; - - public Header(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public LoginPage goToLogin() { - log.info("Going to login page"); - waitForElementToBeClickable(loginLnk).click(); - return new LoginPage(driver); - } - - - public void waitForTitleToBe(String title) { - log.info("waiting for page title to be " + title); - waitForXMillis(500); - waitForElementToHaveText(pageTitle, title); - } - - public void waitForTitleToBe() { - log.info("waiting for page title to be present"); - waitForXMillis(500); - waitForElementToBeVisible(pageTitle); - } - - public String getRoleName() { - String getUserRole = role.getText(); - String roleName = getUserRole.split(":")[0].trim(); - return roleName; - } -} 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 deleted file mode 100644 index c882b8d5e..000000000 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java +++ /dev/null @@ -1,191 +0,0 @@ -package pages.components.baseComponents; - - -import org.apache.log4j.Logger; -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; -import utils.PROPERTIES; - - -public class PageComponent { - - protected WebDriver driver; - protected WebDriverWait wait; - protected Logger log = Logger.getLogger(this.getClass()); - protected By loadingBar = By.cssSelector(".container .bar"); - - - 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 += 100; - waitForXMillis(100); - } - } - - public void waitForElementToBeDisabled(WebElement element) { - int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - int waitedSoFar = 0; - while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 100; - waitForXMillis(100); - } - } - - public void waitForElementToBeGone(WebElement element) { - waitForXMillis(1000); - } - - - 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(ExpectedConditions.visibilityOf(element)); - } - - 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 { - waitForXMillis(100); - int bars = 1; - int waits = 0; - while (bars > 0 && waits < 30) { - Object tmp = ((JavascriptExecutor) driver).executeScript("return document.querySelectorAll('.container .bar').length;"); - bars = Integer.valueOf(tmp.toString()); - waits++; - waitForXMillis(200); - } - log.debug("waited for rows to load for ms = 200*" + waits); - waitForXMillis(200); - } catch (Exception e) { - } - - } - - -} - diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/PaginationControls.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/PaginationControls.java deleted file mode 100644 index 951174729..000000000 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/PaginationControls.java +++ /dev/null @@ -1,197 +0,0 @@ -package pages.components.baseComponents; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; -import org.openqa.selenium.support.PageFactory; -import pages.components.GenericSelect; -import pages.components.baseComponents.PageComponent; - -import java.util.List; - -public class PaginationControls extends PageComponent { - - - public PaginationControls(WebDriver driver) { - super(driver); - - log.info("initiating pagination controls!"); - PageFactory.initElements( driver, this); - - pageSizeSelect = new GenericSelect(driver, pageSizeSelectContainer); - } - - @FindBy(css = "li.pages") - List<WebElement> pgLinks; - - @FindBy(css = "li.pages.active") - WebElement activePageLnk; - - @FindBy(css = "datatable-footer > div > datatable-pager > ul > li:nth-child(1)") - WebElement skipFirstLnk; - - @FindBy(css = "datatable-footer > div > datatable-pager > ul > li:nth-last-child(1)") - WebElement skipLastLnk; - - @FindBy(css = "datatable-footer > div > datatable-pager > ul > li:nth-last-child(2)") - WebElement nextPageLnk; - - @FindBy(css = "datatable-footer > div > datatable-pager > ul > li:nth-child(2)") - WebElement prevPageLnk; - - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "pagesize_id") - WebElement pageSizeSelectContainer; - public GenericSelect pageSizeSelect; - - @FindBy(css = "datatable-footer > div > div.page-count") - WebElement pageCount; - - - public boolean hasNextPage(){ - return !("disabled".equalsIgnoreCase(nextPageLnk.getAttribute("class"))); - } - - public int getExpectedNoOfPages(){ - - log.info("getting expected number of pages"); - - int noOfItems = getTotalItems(); - int itemsPerPg = Integer.valueOf(pageSizeSelect.getSelectedValue()); - - return (int) Math.ceil((double)noOfItems/itemsPerPg); - } - - public int getNoOfItemsOnLastPg(){ - - log.info("getting expected number of items on last page"); - - int noOfItems = getTotalItems(); - int itemsPerPg = Integer.valueOf(pageSizeSelect.getSelectedValue()); - - return noOfItems%itemsPerPg; - } - - public int getItemsPerPage(){ - int itemsPerPg = Integer.valueOf(pageSizeSelect.getSelectedValue()); - - log.info("selected value for items per page is .. " + itemsPerPg); - - return itemsPerPg; - } - - - - - public boolean isPaginationPresent(){ - log.info("checking if pagination is present on page"); - try { - return (activePageLnk.isDisplayed()); - } catch (Exception e) { - - } - return false; - } - -// if pagination is not present we return 1 by default - public Integer getActivePage(){ - - log.info("getting active page number"); - if(!isPaginationPresent()){return -1;} - - if(!activePageLnk.isDisplayed()){return 1;} - return Integer.valueOf(activePageLnk.getText().trim()); - } - - public void goToPage(int pgNo){ - - log.info("going to page .. " + pgNo); - if(!isPaginationPresent()){return;} - - for (WebElement pgLink : pgLinks) { - if(Integer.valueOf(pgLink.getText().trim()) == pgNo){ - pgLink.click(); - PageFactory.initElements(driver, this); - return; - } - } - } - - - public void skipToFirstPage(){ - log.info("skip to FIRST page of results"); - if(!isPaginationPresent()){return;} - try { - waitForElementToBeClickable(skipFirstLnk).click(); - PageFactory.initElements(driver, this); - } catch (Exception e) { - - } - } - - public void skipToLastPage(){ - log.info("skip to last page of results"); - - if(!isPaginationPresent()){return;} - - waitForElementToBeClickable(skipLastLnk); - skipLastLnk.click(); - PageFactory.initElements(driver, this); - } - - public void goToNextPage(){ - log.info("going to next page"); - - if(!isPaginationPresent()){return;} - - nextPageLnk.click(); - PageFactory.initElements(driver, this); - } - - public void goToPrevPage(){ - log.info("going to prev page"); - - if(!isPaginationPresent()){return;} - - prevPageLnk.click(); - PageFactory.initElements(driver, this); - } - - - public int getTotalItems() { - - log.info("getting total number of items to be displayed"); - - String raw = pageCount.getText().trim(); - if(raw.contains("total")){ - String[] splits = raw.split("/"); - for (String split : splits) { - if(split.contains("total")){ - String total = split.replaceAll("\\D", ""); - return Integer.valueOf(total); - } - } - } - return 0; - } - - public Integer getNoOfSelectedItems(){ - - log.info("getting number of selected items in grid"); - - String raw = pageCount.getText().trim(); - if(raw.contains("selected")){ - String[] splits = raw.split("/"); - for (String split : splits) { - if(split.contains("selected")){ - String selected = split.replaceAll("\\D", ""); - return Integer.valueOf(selected); - } - } - } - return null; - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/SMPPage.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/SMPPage.java deleted file mode 100644 index 1d1f8e83a..000000000 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/SMPPage.java +++ /dev/null @@ -1,30 +0,0 @@ -package pages.components.baseComponents; - -import org.openqa.selenium.WebDriver; -import pages.components.Sidebar; -import pages.components.messageArea.AlertArea; - -public class SMPPage extends PageComponent { - - public SMPPage(WebDriver driver) { - super(driver); - } - - public AlertArea alertArea = new AlertArea(driver); - - public Sidebar sidebar = new Sidebar(driver); - - public Header pageHeader = new Header(driver); - - public void refreshPage() { - driver.navigate().refresh(); - try { - pageHeader.sandwichMenu.waitForSandwichMenu(); - } catch (Exception e) { - e.printStackTrace(); - } - 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 deleted file mode 100644 index 011f041d9..000000000 --- a/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java +++ /dev/null @@ -1,72 +0,0 @@ -package pages.components.grid; - -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -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 pages.components.baseComponents.PageComponent; - -import java.util.ArrayList; -import java.util.List; - -public class BasicGrid extends PageComponent { - - @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 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()); - } - - } - - public void selectRow(int rowNumber) { - log.info("selecting row with number ... " + rowNumber); - waitForRowsToLoad(); - 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 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/AlertArea.java b/smp-ui-tests/src/main/java/pages/components/messageArea/AlertArea.java deleted file mode 100644 index 3d51fb45b..000000000 --- a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertArea.java +++ /dev/null @@ -1,46 +0,0 @@ -package pages.components.messageArea; - -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 utils.PROPERTIES; -import pages.components.baseComponents.PageComponent; - -public class AlertArea extends PageComponent { - - public AlertArea(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "alertmessage_id") - private WebElement alertMessage; - - @FindBy(css = "#alertmessage_id span") - private WebElement closeAlertSpan; - - public AlertMessage getAlertMessage(){ - try { - waitForElementToBeVisible(alertMessage); - } catch (Exception e) { - e.printStackTrace(); - } - - if(!alertMessage.isDisplayed()){ - log.warn("No messages displayed."); - return null; - } - - String rawMessTxt = alertMessage.getText().replaceAll("\\n", "").trim(); - String closeChr = closeAlertSpan.getText(); - String messageTxt = rawMessTxt.replaceAll(closeChr, "").trim(); - - log.info("Getting alert message ..."); - return new AlertMessage(messageTxt, alertMessage.getAttribute("class").contains("error")); - } - - -} 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 deleted file mode 100644 index a2e92d642..000000000 --- a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java +++ /dev/null @@ -1,29 +0,0 @@ -package pages.components.messageArea; - -public class AlertMessage { - - String message; - boolean isError; - - public AlertMessage(String message, boolean isError) { - this.message = message; - this.isError = isError; - } - - public String getMessage() { - System.out.println("message = " + message); - return message.replaceAll("×", "").trim(); - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isError() { - return isError; - } - - public void setError(boolean error) { - isError = error; - } -} diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainGrid.java b/smp-ui-tests/src/main/java/pages/domain/DomainGrid.java deleted file mode 100644 index 41b7ec3d0..000000000 --- a/smp-ui-tests/src/main/java/pages/domain/DomainGrid.java +++ /dev/null @@ -1,127 +0,0 @@ -package pages.domain; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; -import pages.components.grid.BasicGrid; - -import java.util.ArrayList; -import java.util.List; - -public class DomainGrid extends BasicGrid { - public DomainGrid(WebDriver driver, WebElement container) { - super(driver, container); - } - - private By cellSelector = By.tagName("datatable-body-cell"); - - public List<DomainRow> getRowsInfo(){ - log.info("getting all row info"); - List<DomainRow> rowInfos = new ArrayList<>(); - - for (WebElement gridRow : gridRows) { - List<WebElement> cells = gridRow.findElements(cellSelector); - - DomainRow row = new DomainRow(); - - for (int i = 0; i < headerTxt.size(); i++) { - switch (headerTxt.get(i)){ - case "Domain code": - row.setDomainCode(cells.get(i).getText().trim()); - break; - case "SML Domain": - row.setSmlDomain(cells.get(i).getText().trim()); - break; - case "Signature CertAlias": - row.setSignatureCertAlias(cells.get(i).getText().trim()); - break; - case "SML SMP Id": - row.setSmlSmpID(cells.get(i).getText().trim()); - break; - } - - } - rowInfos.add(row); - } - - return rowInfos; - } - - public void mouseHoverOnDomainCode(int rowNumber) { - WebElement element = driver.findElement(By.cssSelector(".datatable-row-wrapper:nth-child(" + rowNumber + ") .datatable-body-cell:nth-child(1) .datatable-body-cell-label span")); - Actions action = new Actions(driver); - action.moveToElement(element).build().perform(); - } - - public boolean isDomainStillPresent(String domainCode) { - boolean end = false; - List<DomainRow> rows = new ArrayList<>(); - DomainPage page = new DomainPage(driver); - page.pagination.skipToFirstPage(); - - while (!end) { - rows.addAll(page.grid().getRowsInfo()); - if (page.pagination.hasNextPage()) { - page.pagination.goToNextPage(); - } else { - end = true; - } - } - - boolean found = false; - for (DomainRow row : rows) { - if (row.getDomainCode().equalsIgnoreCase(domainCode)) { - found = true; - } - } - return found; - } - - public int scrollToDomain(String domainCode) { - DomainPage page = new DomainPage(driver); - page.pagination.skipToFirstPage(); - - boolean end = false; - while (!end) { - List<DomainRow> rows = page.grid().getRowsInfo(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getDomainCode().equalsIgnoreCase(domainCode)) { - return i; - } - } - - if (page.pagination.hasNextPage()) { - page.pagination.goToNextPage(); - } else { - end = true; - } - } - - return -1; - } - - public int scrollToSmlDomain(String smlDomain) { - try { - DomainPage page = new DomainPage(driver); - List<DomainRow> rows; - int count = 0; - do { - if (count != 0) { - page.pagination.goToNextPage(); - } - rows = page.grid().getRowsInfo(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getSmlDomain().equalsIgnoreCase(smlDomain)) { - return i; - } - } - count++; - } - while (page.pagination.hasNextPage()); - } catch (Exception e) { - e.printStackTrace(); - } - return -1; - } -} diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainPage.java b/smp-ui-tests/src/main/java/pages/domain/DomainPage.java deleted file mode 100644 index b1841b0f9..000000000 --- a/smp-ui-tests/src/main/java/pages/domain/DomainPage.java +++ /dev/null @@ -1,122 +0,0 @@ -package pages.domain; - -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.PaginationControls; -import pages.components.baseComponents.SMPPage; -import pages.keystore.KeyStoreEditDialog; -import utils.PROPERTIES; - -public class DomainPage extends SMPPage { - public DomainPage(WebDriver driver) { - super(driver); - this.pageHeader.waitForTitleToBe("Domain"); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - @FindBy(id = "searchTable") - private WebElement domainTableContainer; - - @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; - - @FindBy(xpath = "//span[text()=' Edit keystore']") - private WebElement editKeyStore; - - public PaginationControls pagination = new PaginationControls(driver); - - - - public boolean isLoaded(){ - log.info("checking if Domain 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(){ - log.info("delete button"); - return isEnabled(deleteBtn); - } - public boolean isEditButtonEnabled(){ - log.info("edit button"); - return isEnabled(editBtn); - } - public boolean isNewButtonEnabled(){ - log.info("new button"); - return isEnabled(newBtn); - } - - public ConfirmationDialog clickCancel(){ - log.info("cancelling .."); - waitForElementToBeClickable(cancelBtn).click(); - return new ConfirmationDialog(driver); - } - - public ConfirmationDialog clickSave(){ - log.info("saving ..."); - waitForElementToBeClickable(saveBtn).click(); - return new ConfirmationDialog(driver); - } - - public void clickDelete(){ - log.info("deleting ..."); - waitForElementToBeClickable(deleteBtn).click(); - waitForElementToBeEnabled(saveBtn); - } - public DomainPopup clickNew(){ - log.info("clicking new ..."); - waitForElementToBeClickable(newBtn).click(); - return new DomainPopup(driver); - } - public DomainPopup clickEdit(){ - log.info("editing ..."); - waitForElementToBeClickable(editBtn).click(); - return new DomainPopup(driver); - } - - public KeyStoreEditDialog clickEditKeyStore(){ - log.info("clicking edit keystore"); - waitForElementToBeClickable(editKeyStore).click(); - return new KeyStoreEditDialog(driver); - } - - - public DomainGrid grid(){ - return new DomainGrid(driver, domainTableContainer); - } - - - - - - - -} diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java deleted file mode 100644 index 00f424fae..000000000 --- a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java +++ /dev/null @@ -1,193 +0,0 @@ -package pages.domain; - -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 pages.components.GenericSelect; -import pages.components.baseComponents.PageComponent; -import utils.PROPERTIES; - -public class DomainPopup extends PageComponent { - @FindBy(css = "domain-details-dialog button:nth-child(1)") - WebElement okBtn; - @FindBy(css = "domain-details-dialog button:nth-child(2)") - WebElement cancelBtn; - @FindBy(css = "#domainCode_id") - WebElement domainCodeInput; - @FindBy(css = "#smldomain_id") - WebElement smlDomainInput; - @FindBy(css = "#signatureKeyAlias_id") - WebElement signatureCertSelectContainer; - GenericSelect signatureCertSelect; - @FindBy(css = "#smlSMPId_id") - WebElement smlSMPIdInput; - @FindBy(css = "span.mat-slide-toggle-bar") - WebElement userClientCertHeaderToggle; - @FindBy(css = "#smlClientCertHeaderAuth_id-input") - WebElement userClientCertHeaderToggleInput; - @FindBy(css = "#domainCode_id + div") - WebElement domainCodeValidationError; - - @FindBy(css = "#smlSMPId_id + div") - WebElement smlSmpIdValidationError; - @FindBy(css = "#smlClientKeyAlias_id") - WebElement smlClientAliasSelectContainer; - GenericSelect smlClientAliasSelect; - @FindBy(css = "#MetadataTextArea") - private WebElement metadataTextArea; - - public DomainPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - signatureCertSelect = new GenericSelect(driver, signatureCertSelectContainer); - smlClientAliasSelect = new GenericSelect(driver, smlClientAliasSelectContainer); - - - } - - public void clickOK() { - waitForElementToBeClickable(okBtn).click(); - waitForXMillis(500); - waitForElementToBeGone(okBtn); - } - - public void clickCancel() { - waitForElementToBeClickable(cancelBtn).click(); - waitForElementToBeGone(cancelBtn); - } - - public boolean isLoaded() { - log.info("checking if domain popup is properly loaded"); - - waitForElementToBeEnabled(okBtn); - - return isVisible(okBtn) - && isVisible(domainCodeInput) - && isVisible(smlDomainInput) - && isVisible(cancelBtn) - && isEnabled(cancelBtn) - && (null != signatureCertSelect) - && (null != smlClientAliasSelect); - } - - public boolean isDomainCodeInputEnabled() { - log.info("domain code input"); - return isEnabled(domainCodeInput); - } - - public boolean isSMLDomainInputEnabled() { - return isEnabled(smlDomainInput); - } - - public void fillSMLSMPIdInput(String text) { - log.info("fill sml smp input with " + text); - waitForXMillis(500); - clearAndFillInput(smlSMPIdInput, text); - } - - public void fillDataForNewDomain(String domainCode, String smlDomain, String smlSmpID, String clientCertHeader) { - log.info("filling data for new domain"); - clearAndFillInput(domainCodeInput, domainCode); - clearAndFillInput(smlDomainInput, smlDomain); - signatureCertSelect.selectFirstOption(); - clearAndFillInput(smlSMPIdInput, smlSmpID); - smlClientAliasSelect.selectFirstOption(); - } - - public String domainCodeValidationGetErrMsg() { - try { - waitForElementToBeVisible(domainCodeValidationError); - return domainCodeValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - - public String getDuplicateDomainErrorMsgText() { - WebElement duplicateDomainErrorMsg = driver.findElement(By.cssSelector(".mat-form-field-infix > div.ng-star-inserted")); - return duplicateDomainErrorMsg.getText(); - } - - public String getSmlSmpIdValidationMsg() { - WebElement invalidSmlSmpIdErrorMsg = driver.findElement(By.cssSelector("div.mat-form-field-infix > div.ng-star-inserted")); - try { - waitForElementToBeVisible(invalidSmlSmpIdErrorMsg); - return invalidSmlSmpIdErrorMsg.getText(); - } catch (Exception e) { - } - return null; - } - - public boolean isEnableOkButton() { - try { - return okBtn.isEnabled(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean isEnableCancelButton() { - try { - return cancelBtn.isEnabled(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - } - - public String xmlFieldVALUE() { - log.info("value is " + metadataTextArea.getAttribute("value")); - return metadataTextArea.getAttribute("value"); - } - - public void clearAndFillDomainCodeInput(String domainCode) { - log.info("clear and fill domain code data"); - clearAndFillInput(domainCodeInput, domainCode); - } - - public void clearAndFillSMLDomainInput(String SMLDomain) { - log.info("filling only domain code data for new domain"); - clearAndFillInput(smlDomainInput, SMLDomain); - } - - public void clickUserClientCertHeaderToggle() { - waitForElementToBeClickable(userClientCertHeaderToggle); - waitForXMillis(500); - userClientCertHeaderToggle.click(); - waitForXMillis(500); - - } - - public String checkedUserClientCertHeaderToggl() { - - return userClientCertHeaderToggleInput.getAttribute("aria-checked"); - - - } - - - public String domainCode63CharValidationGetErrMsg() { - try { - return waitForElementToBeVisible(domainCodeValidationError).getText().trim(); - } catch (Exception e) { - } - return null; - } - - public String getSmlSmpId63CharValidationMsg() { - try { - return waitForElementToBeVisible(smlSmpIdValidationError).getText().trim(); - } catch (Exception e) { - } - return null; - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainRow.java b/smp-ui-tests/src/main/java/pages/domain/DomainRow.java deleted file mode 100644 index 01c339ecd..000000000 --- a/smp-ui-tests/src/main/java/pages/domain/DomainRow.java +++ /dev/null @@ -1,90 +0,0 @@ -package pages.domain; - -public class DomainRow{ - - private String domainCode; - private String smlDomain; - private String smlSmpID; - private String clientCertHeader; - private String clientCertAlias; - private String signatureCertAlias; - - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DomainRow row = (DomainRow) o; - - if (domainCode != null ? !domainCode.equals(row.domainCode) : row.domainCode != null) return false; - if (smlDomain != null ? !smlDomain.equals(row.smlDomain) : row.smlDomain != null) return false; - if (smlSmpID != null ? !smlSmpID.equals(row.smlSmpID) : row.smlSmpID != null) return false; - if (clientCertHeader != null ? !clientCertHeader.equals(row.clientCertHeader) : row.clientCertHeader != null) - return false; - if (clientCertAlias != null ? !clientCertAlias.equals(row.clientCertAlias) : row.clientCertAlias != null) - return false; - return signatureCertAlias != null ? signatureCertAlias.equals(row.signatureCertAlias) : row.signatureCertAlias == null; - } - - - @Override - public String toString() { - return "DomainRow{" + - "domainCode='" + domainCode + '\'' + - ", smlDomain='" + smlDomain + '\'' + - ", smlSmpID='" + smlSmpID + '\'' + - ", clientCertHeader='" + clientCertHeader + '\'' + - ", clientCertAlias='" + clientCertAlias + '\'' + - ", signatureCertAlias='" + signatureCertAlias + '\'' + - '}'; - } - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getSmlDomain() { - return smlDomain; - } - - public void setSmlDomain(String smlDomain) { - this.smlDomain = smlDomain; - } - - public String getSmlSmpID() { - return smlSmpID; - } - - public void setSmlSmpID(String smlSmpID) { - this.smlSmpID = smlSmpID; - } - - public String getClientCertHeader() { - return clientCertHeader; - } - - public void setClientCertHeader(String clientCertHeader) { - this.clientCertHeader = clientCertHeader; - } - - public String getClientCertAlias() { - return clientCertAlias; - } - - public void setClientCertAlias(String clientCertAlias) { - this.clientCertAlias = clientCertAlias; - } - - public String getSignatureCertAlias() { - return signatureCertAlias; - } - - public void setSignatureCertAlias(String signatureCertAlias) { - this.signatureCertAlias = signatureCertAlias; - } -} diff --git a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreEditDialog.java b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreEditDialog.java deleted file mode 100644 index 7b2c1ead8..000000000 --- a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreEditDialog.java +++ /dev/null @@ -1,46 +0,0 @@ -package pages.keystore; - -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.baseComponents.PageComponent; -import pages.domain.DomainPage; -import utils.PROPERTIES; - - -public class KeyStoreEditDialog extends PageComponent { - - @FindBy(css = "#keystoreTable_id") - private WebElement keystoreTable; - @FindBy(xpath = "//span[text()='Import keystore']") - private WebElement importKeystore; - @FindBy(css = "button[mat-dialog-close]") - private WebElement closeBtn; - - public KeyStoreEditDialog(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - } - - public KeyStoreImportDialog clickImportKeystore() { - log.info("clicking import keystore"); - waitForElementToBeClickable(importKeystore).click(); - waitForElementToBeGone(importKeystore); - return new KeyStoreImportDialog(driver); - } - - public DomainPage clickCloseInKeystore() { - log.info("clicking close btn in keystore edit dialog"); - waitForElementToBeClickable(closeBtn).click(); - waitForElementToBeGone(closeBtn); - return new DomainPage(driver); - } - - public KeyStoreGrid grid() { - return new KeyStoreGrid(driver, keystoreTable); - } - -} diff --git a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreGrid.java b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreGrid.java deleted file mode 100644 index 0236d8c23..000000000 --- a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreGrid.java +++ /dev/null @@ -1,41 +0,0 @@ -package pages.keystore; - - -import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -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 pages.components.ConfirmationDialog; -import pages.components.baseComponents.PageComponent; -import pages.components.grid.BasicGrid; -import pages.domain.DomainRow; - -import java.util.ArrayList; -import java.util.List; - -public class KeyStoreGrid extends BasicGrid { - - public KeyStoreGrid(WebDriver driver, WebElement container) { - super(driver,container); - log.info("Loading KeyStoreGrid"); - waitForRowsToLoad(); - PageFactory.initElements(new DefaultElementLocatorFactory(container), this); - } - - - private By cellSelector = By.cssSelector("#keystoreTable_id datatable-body-cell"); - - - - public ConfirmationDialog deleteKeyStore(int rowNum) { - WebElement gridRow = gridRows.get(rowNum); - List<WebElement> cells = gridRow.findElements(cellSelector); - WebElement deleteButton = cells.get(2).findElement(By.cssSelector("button[mattooltip='Delete certificate']")); - waitForElementToBeClickable(deleteButton).click(); - return new ConfirmationDialog(driver); - } -} diff --git a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java deleted file mode 100644 index 916256668..000000000 --- a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java +++ /dev/null @@ -1,75 +0,0 @@ -package pages.keystore; - -import org.apache.log4j.Logger; -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.baseComponents.PageComponent; -import utils.PROPERTIES; - -import java.io.File; - -public class KeyStoreImportDialog extends PageComponent { - protected Logger log = Logger.getLogger(this.getClass()); - - public KeyStoreImportDialog(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - @FindBy(xpath = "//span[text()='Import']") - private WebElement importBtn; - - @FindBy(css = "keystore-import-dialog button[mat-dialog-close]") - private WebElement cancelBtn; - - @FindBy(css = "button[mat-dialog-close]") - private WebElement closeBtn; - - @FindBy(css = "#keystore-file-upload") - private WebElement chooseKeystore; - - @FindBy(css = "#keystoreFilename") - private WebElement keyStoreFileInput; - - @FindBy(css = "#password_id") - private WebElement passwordInput; - - public KeyStoreEditDialog clickImportBtn() { - log.info("clicking import btn "); - waitForElementToBeClickable(importBtn).click(); - waitForElementToBeGone(importBtn); - return new KeyStoreEditDialog(driver); - - } - - public KeyStoreEditDialog clickCancelBtn() { - log.info("clicking import keystore"); - waitForElementToBeClickable(cancelBtn).click(); - waitForElementToBeGone(cancelBtn); - return new KeyStoreEditDialog(driver); - } - - public KeyStoreEditDialog clickCloseBtn() { - log.info("clicking close btn"); - waitForElementToBeClickable(closeBtn).click(); - waitForElementToBeGone(closeBtn); - return new KeyStoreEditDialog(driver); - } - - public void chooseKeystoreFile(String relativePath) { - String path = new File(relativePath).getAbsolutePath(); - chooseKeystore.sendKeys(path); - } - - public void fillPassword(String password) { - waitForElementToBeVisible(passwordInput).sendKeys(password); - } - - public String getKeyStoreFileName() { - return keyStoreFileInput.getAttribute("value"); - } -} - diff --git a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreRow.java b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreRow.java deleted file mode 100644 index e828608db..000000000 --- a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreRow.java +++ /dev/null @@ -1,45 +0,0 @@ -package pages.keystore; - -import pages.domain.DomainRow; - -public class KeyStoreRow { - - private String alias; - - public void setAlias(String alias) { - this.alias = alias; - } - - public String getAlias() { - return alias; - } - - private String certificateId; - - public String getCertificateId() { - return certificateId; - } - - public void setCertificateId(String certificateId) { - this.certificateId = certificateId; - } - - @Override - public String toString() { - return "KeyStoreRow{" + - "alias='" + alias + '\'' + - ", certificateId='" + certificateId + '\'' + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - KeyStoreRow row = (KeyStoreRow) o; - - if (alias != null ? !alias.equals(row.alias) : row.alias != null) return false; - return certificateId != null ? certificateId.equals(row.certificateId) : row.certificateId == null; - } -} diff --git a/smp-ui-tests/src/main/java/pages/login/LoginPage.java b/smp-ui-tests/src/main/java/pages/login/LoginPage.java deleted file mode 100644 index 5f8ac28fa..000000000 --- a/smp-ui-tests/src/main/java/pages/login/LoginPage.java +++ /dev/null @@ -1,167 +0,0 @@ -package pages.login; - -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.baseComponents.SMPPage; -import pages.service_groups.search.SearchPage; -import utils.PROPERTIES; -import utils.TestDataProvider; - -import java.util.HashMap; - -public class LoginPage extends SMPPage { - - @FindBy(id = "username_id") - private WebElement username; - @FindBy(id = "password_id") - private WebElement password; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "loginbutton_id") - private WebElement loginBtn; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "okbuttondialog_id") - private WebElement dialogOKBtn; - @FindBy(className = "smpVersion") - private WebElement smpVersion; - - public LoginPage(WebDriver driver) { - super(driver); - - log.info(".... init"); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public boolean isLoaded() { - - log.info("check if Login page is loaded"); - - if (!isEnabled(username)) { - log.error("Could not find username input!"); - return false; - } - if (!isEnabled(password)) { - log.error("Could not find password input!"); - return false; - } - if (!isVisible(loginBtn)) { - log.error("Could not find login button!"); - return false; - } - - if (!isVisible(smpVersion)) { - log.error("Could not find version text!"); - return false; - } - log.info("Login page controls loaded!"); - return true; - } - - public <T extends SMPPage> T login(String user, String pass, Class<T> expect) { - log.info("Login started!!"); - - clearAndFillInput(username, user); - clearAndFillInput(password, pass); - - waitForElementToBeClickable(loginBtn); - loginBtn.click(); - - closeChangePassModal(); - - log.info("Login action done!"); - - return PageFactory.initElements(driver, expect); - } - - public SearchPage login(String user, String pass) { - log.info("Login started!!"); - - clearAndFillInput(username, user); - clearAndFillInput(password, pass); - - waitForElementToBeClickable(loginBtn); - loginBtn.click(); - - closeChangePassModal(); - log.info("Login action done!"); - - return new SearchPage(driver); - } - - public void invalidLogin(String user, String pass) { - log.info("Invalid login started!!"); - - clearAndFillInput(username, user); - clearAndFillInput(password, pass); - - waitForElementToBeClickable(loginBtn); - loginBtn.click(); - } - - public SearchPage login(String role) { - log.info("Login started!!"); - - HashMap<String, String> user = new TestDataProvider().getUserWithRole(role); - - clearAndFillInput(username, user.get("username")); - clearAndFillInput(password, user.get("password")); - - waitForElementToBeClickable(loginBtn); - loginBtn.click(); - - closeChangePassModal(); - - log.info("Login action done!"); - - return new SearchPage(driver); - } - - - public String getListedSMPVersion() { - log.info("getting listed version"); - return waitForElementToBeVisible(smpVersion).getText().trim(); - } - - public String getTextInUsernameInput() { - log.info("getting text in username input"); - return waitForElementToBeVisible(username).getText().trim(); - } - - public String getTextInPasswordInput() { - log.info("getting text in pass input"); - return waitForElementToBeVisible(password).getText().trim(); - } - - private void closeChangePassModal() { - log.info("Closing Change password modal"); - try { - waitForElementToBeClickable(dialogOKBtn).click(); - waitForElementToBeGone(dialogOKBtn); - } catch (Exception e) { - } - } - - public void loginWithoutUserAndPassword() { - username.clear(); - password.clear(); - - } - - public boolean isLoginButtonEnable() { - try { - return !loginBtn.isEnabled(); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } - } - - public void fillLoginInput(String user, String pass) { - - clearAndFillInput(username, user); - clearAndFillInput(password, pass); - } - -} diff --git a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java deleted file mode 100644 index cfb1e5e5a..000000000 --- a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java +++ /dev/null @@ -1,132 +0,0 @@ -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 pages.service_groups.search.SearchPage; -import utils.PROPERTIES; - -public class PasswordChangepopup extends PageComponent { - - - @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 = "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 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/properties/PropertiesGrid.java b/smp-ui-tests/src/main/java/pages/properties/PropertiesGrid.java deleted file mode 100644 index baca43b15..000000000 --- a/smp-ui-tests/src/main/java/pages/properties/PropertiesGrid.java +++ /dev/null @@ -1,41 +0,0 @@ -package pages.properties; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; -import pages.components.grid.BasicGrid; -import pages.properties.PropertyRowInfo; -import pages.users.UserRowInfo; - -import java.util.ArrayList; -import java.util.List; - -public class PropertiesGrid extends BasicGrid { - - - public PropertiesGrid(WebDriver driver, WebElement container) { - super(driver, container); - } - public List<PropertyRowInfo> getRows() { - List<PropertyRowInfo> rowInfos = new ArrayList<>(); - - for (WebElement gridRow : gridRows) { - List<WebElement> cells = gridRow.findElements(By.tagName("datatable-body-cell")); - PropertyRowInfo rowInfo = new PropertyRowInfo(); - rowInfo.setPropertyname(cells.get(0).getText().trim()); - rowInfo.setPropertyvalue(cells.get(1).getText().trim()); - rowInfos.add(rowInfo); - } - return rowInfos; - } - - public Boolean rowContainPropertyName(String property){ - List<PropertyRowInfo> rows = getRows(); - int i = rows.size(); - Boolean bool=rows.size() == 1 && rows.get(i-1).getPropertyname().equalsIgnoreCase(property); - - return bool; - - } -} diff --git a/smp-ui-tests/src/main/java/pages/properties/PropertiesPage.java b/smp-ui-tests/src/main/java/pages/properties/PropertiesPage.java deleted file mode 100644 index cd798bc14..000000000 --- a/smp-ui-tests/src/main/java/pages/properties/PropertiesPage.java +++ /dev/null @@ -1,90 +0,0 @@ -package pages.properties; - -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 pages.components.ConfirmationDialog; -import pages.components.baseComponents.PaginationControls; -import pages.components.baseComponents.SMPPage; -import utils.PROPERTIES; - -public class PropertiesPage extends SMPPage { - public PaginationControls pagination = new PaginationControls(driver); - @FindBy(id = "searchTable") - private WebElement propertyTableContainer; - @FindBy(id = "cancelButton") - private WebElement cancelBtn; - @FindBy(id = "saveButton") - private WebElement saveBtn; - @FindBy(id = "editButton") - private WebElement editBtn; - @FindBy(id = "searchProperty") - private WebElement searchPropertyField; - @FindBy(id = "searchbutton_id") - private WebElement searchBtn; - - public PropertiesPage(WebDriver driver) { - super(driver); - this.pageHeader.waitForTitleToBe("Properties"); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public String getErrorMessage() { - return driver.findElement(By.cssSelector(".alert-message-error")).getText(); - } - - - public boolean isLoaded() { - log.info("checking if Property page is loaded"); - return isVisible(cancelBtn) - && isVisible(saveBtn) - && isVisible(editBtn); - } - - public boolean isCancelButtonEnabled() { - log.info("checking cancel button is enabled"); - return isEnabled(cancelBtn); - } - - public boolean isSaveButtonEnabled() { - log.info("checking save button is enabled"); - return isEnabled(saveBtn); - } - - public ConfirmationDialog clickCancel() { - log.info("click cancel button"); - waitForElementToBeClickable(cancelBtn).click(); - return new ConfirmationDialog(driver); - } - - public boolean isEditButtonEnabled() { - log.info("checking edit button is enabled"); - return isEnabled(editBtn); - } - - - public ConfirmationDialog clickSave() { - log.info("click save button"); - waitForElementToBeClickable(saveBtn).click(); - return new ConfirmationDialog(driver); - } - - public PropertyPopup clickEdit() { - log.info("click edit button"); - waitForElementToBeClickable(editBtn).click(); - return new PropertyPopup(driver); - } - - public void propertySearch(String propertyname) { - log.info("Search for property"); - waitForElementToBeVisible(searchPropertyField).sendKeys(propertyname); - waitForElementToBeClickable(searchBtn).click(); - } - - public PropertiesGrid grid() { - return new PropertiesGrid(driver, propertyTableContainer); - } -} diff --git a/smp-ui-tests/src/main/java/pages/properties/PropertyPopup.java b/smp-ui-tests/src/main/java/pages/properties/PropertyPopup.java deleted file mode 100644 index 464be67c4..000000000 --- a/smp-ui-tests/src/main/java/pages/properties/PropertyPopup.java +++ /dev/null @@ -1,90 +0,0 @@ -package pages.properties; - -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; -import org.openqa.selenium.support.PageFactory; -import pages.components.GenericSelect; -import pages.components.baseComponents.PageComponent; - -public class PropertyPopup extends PageComponent { - - public PropertyPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(driver, this); - } - - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - WebElement popupOkBtn; - - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - WebElement popupCancelBtn; - - @FindBy(css = "span.mat-checkbox-inner-container input") - WebElement propertyCheckbox; - - @FindBy(css = ".mat-input-element.mat-form-field-autofill-control[type='text']") - WebElement propertryEditInput; - - public boolean isOKButtonActive() { - return isEnabled(popupOkBtn); - } - - public boolean isCancelButtonActive() { - return isEnabled(popupCancelBtn); - } - public PropertiesPage clickOK() { - log.info("click OK"); - waitForElementToBeClickable(popupOkBtn); - popupOkBtn.click(); - waitForElementToBeGone(popupOkBtn); - return new PropertiesPage(driver); - } - - public PropertiesPage clickCancel() { - log.info("click cancel"); - waitForElementToBeClickable(popupCancelBtn); - popupCancelBtn.click(); - waitForElementToBeGone(popupCancelBtn); - return new PropertiesPage(driver); - } - public PropertiesPage enableCheckboxOfProperty() { - Boolean bool = propertyCheckbox.isSelected(); - - if (bool == false) { - propertyCheckbox.click(); - popupOkBtn.click(); - } - else - { - popupCancelBtn.click(); - } - return new PropertiesPage(driver); - } - public PropertiesPage disableCheckboxOfProperty(){ - Boolean bool = propertyCheckbox.isSelected(); - if(bool == true){ - JavascriptExecutor executor = (JavascriptExecutor)driver; - executor.executeScript("arguments[0].click();", propertyCheckbox); - try { - Thread.sleep(1000); - } catch (Exception e) { - e.printStackTrace(); - } - popupOkBtn.click(); - } - else - { - popupCancelBtn.click(); - } - return new PropertiesPage(driver); - - } - public void editInputField(String string) - { - propertryEditInput.sendKeys(string); - } - - - } diff --git a/smp-ui-tests/src/main/java/pages/properties/PropertyRowInfo.java b/smp-ui-tests/src/main/java/pages/properties/PropertyRowInfo.java deleted file mode 100644 index 3f5f34413..000000000 --- a/smp-ui-tests/src/main/java/pages/properties/PropertyRowInfo.java +++ /dev/null @@ -1,22 +0,0 @@ -package pages.properties; - -public class PropertyRowInfo { - private String propertyname; - private String propertyvalue; - - public String getPropertyname() { - return propertyname; - } - - public void setPropertyname(String propertyname) { - this.propertyname = propertyname; - } - - public String getPropertyvalue() { - return propertyvalue; - } - - public void setPropertyvalue(String propertyvalue) { - this.propertyvalue = propertyvalue; - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java b/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java deleted file mode 100644 index 665763647..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java +++ /dev/null @@ -1,88 +0,0 @@ -package pages.service_groups; - -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.GenericSelect; -import pages.components.baseComponents.PageComponent; -import utils.PROPERTIES; - -public class FilterArea extends PageComponent { - public GenericSelect domainSelect; - @FindBy(id = "participantIdentifier") - private WebElement participantIdentifierInput; - - @FindBy(id = "participantScheme") - private WebElement participantSchemeInput; - - @FindBy(id = "domain_id") - private WebElement domainSelectContainer; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "searchbutton_id") - private WebElement searchButton; - - public FilterArea(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - domainSelect = new GenericSelect(driver, domainSelectContainer); - - } - - public String getParticipantIdentifierInputValue() { - log.info("getting text in participant Identifier Input"); - waitForElementToBeVisible(participantIdentifierInput); - return participantIdentifierInput.getText().trim(); - } - - public String getParticipantSchemeInputValue() { - log.info("getting text in participant Scheme Input"); - waitForElementToBeVisible(participantSchemeInput); - return participantSchemeInput.getText().trim(); - } - - public boolean isLoaded() { - log.info("checking filter area is properly loaded"); - if (!isVisible(participantIdentifierInput)) { - return false; - } - if (!isVisible(participantSchemeInput)) { - return false; - } - return domainSelect.isLoaded(); - } - - public void filter(String identifier, String scheme, String domain) { - log.info(String.format("filtering by %s, %s, %s", identifier, scheme, domain)); - clearAndFillInput(participantIdentifierInput, identifier); - clearAndFillInput(participantSchemeInput, scheme); - - if (null != domain && !domain.isEmpty()) { - domainSelect.selectOptionByText(domain); - } - - log.info("clicking search"); - waitForElementToBeClickable(searchButton).click(); - waitForXMillis(1000); - } - - public boolean isSearchButtonVisible() { - try { - return searchButton.isDisplayed(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean isSearchButtonEnable() { - try { - return searchButton.isEnabled(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/MetadataGrid.java b/smp-ui-tests/src/main/java/pages/service_groups/MetadataGrid.java deleted file mode 100644 index bd614ea29..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/MetadataGrid.java +++ /dev/null @@ -1,32 +0,0 @@ -package pages.service_groups; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; -import org.openqa.selenium.support.PageFactory; -import pages.components.baseComponents.PageComponent; - -import java.util.ArrayList; -import java.util.List; - -public class MetadataGrid extends PageComponent{ - public MetadataGrid(WebDriver driver) { - super(driver); - PageFactory.initElements( driver, this); - } - - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(css = "ngx-datatable.inner-table.virtualized datatable-row-wrapper") - List<WebElement> rowContainers; - - public List<MetadataRow> getMetadataRows(){ - log.info("getting metadata info"); - List<MetadataRow> rowList = new ArrayList<>(); - for (WebElement rowContainer : rowContainers) { - rowList.add(new MetadataRow(driver, rowContainer)); - } - return rowList; - } - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/MetadataRow.java b/smp-ui-tests/src/main/java/pages/service_groups/MetadataRow.java deleted file mode 100644 index 7d02e6d95..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/MetadataRow.java +++ /dev/null @@ -1,42 +0,0 @@ -package pages.service_groups; - -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.DefaultElementLocatorFactory; -import pages.components.baseComponents.PageComponent; - -import java.util.List; - -public class MetadataRow extends PageComponent { - public MetadataRow(WebDriver driver, WebElement container) { - super(driver); - PageFactory.initElements( new DefaultElementLocatorFactory(container) , this); - } - - @FindBy(tagName = "datatable-body-cell") - protected List<WebElement> cells; - - public String getDomain(){ - return cells.get(0).getText().trim(); - } - - public String getDocumentIdentifierScheme(){ - return cells.get(1).getText().trim(); - } - - public String getDocumentIdentifier(){ - return cells.get(2).getText().trim(); - } - - public String getURL(){ - return cells.get(3).findElement(By.tagName("a")).getAttribute("href").trim(); - } - - public void clickURL(){ - cells.get(3).findElement(By.tagName("a")).click(); - } - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java deleted file mode 100644 index 5e2d8f47f..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java +++ /dev/null @@ -1,110 +0,0 @@ -package pages.service_groups; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; -import org.openqa.selenium.support.FindBy; -import org.openqa.selenium.support.PageFactory; -import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; -import pages.components.baseComponents.PageComponent; -import utils.PROPERTIES; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; - -public class ServiceGroupGrid extends PageComponent { - - public ServiceGroupGrid(WebDriver driver, WebElement container) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT) , this); - - waitForRowsToLoad(); - } - - @FindBy(className = "datatable-header-cell-label") - List<WebElement> headers; - - @FindBy(className = "datatable-row-wrapper") - List<WebElement> rowWrappers; - - @FindBy(tagName = "datatable-body") - WebElement dataTableBody; - - public List<ServiceGroupRow> getRows() { - log.info("getting row info"); - List<ServiceGroupRow> rows = new ArrayList<>(); - - for (WebElement rowWrapper : rowWrappers) { - rows.add(new ServiceGroupRow(driver, rowWrapper)); - } - - return rows; - } - - public boolean isLoaded(){ - return headers.size() > 0; - } - - public void doubleClickRow(int rowNumber) { - log.info("double clicking row ... " + rowNumber); - waitForXMillis(500); - if(rowNumber>=rowWrappers.size()){return ;} - waitForElementToBeClickable(rowWrappers.get(rowNumber)); - Actions action = new Actions(driver); - action.doubleClick(rowWrappers.get(rowNumber)).perform(); - waitForXMillis(500); - } - - public void selectRow(int rowNumber) { - log.info("clicking row ... " + rowNumber); - waitForXMillis(500); - if(rowNumber>=rowWrappers.size()){return ;} - rowWrappers.get(rowNumber).click(); - waitForXMillis(500); - } - - public List<String> getHeaders(){ - List<String> stHeaders = new ArrayList<>(); - for (WebElement header : headers) { - stHeaders.add(header.getText().trim()); - } - return stHeaders; - } - - public int getRowsNo(){ - return rowWrappers.size(); - } - - - public <T extends ServiceGroupRow> ArrayList<T> getRowsAs(Class<T> expectedType){ - log.info("getting rows!!!"); - ArrayList<T> toReturn = new ArrayList<T>(); - - for (int i = 0; i < rowWrappers.size(); i++) { - Constructor<T> constructor = null; - T obj = null; - try { - constructor = expectedType.getDeclaredConstructor(WebDriver.class, WebElement.class); - obj = constructor.newInstance(driver, rowWrappers.get(i)); - } catch (Exception e) { - e.printStackTrace(); - } - toReturn.add(obj); - } - return toReturn; - } - - public String getEmptyTableText() { - try{ - return dataTableBody.findElement(By.className("empty-row")).getText(); - } - catch (Exception e){ - e.printStackTrace(); - return ""; - } - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java deleted file mode 100644 index e6cf82497..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java +++ /dev/null @@ -1,81 +0,0 @@ -package pages.service_groups; - -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.DefaultElementLocatorFactory; -import pages.components.baseComponents.PageComponent; - -import java.util.List; - -public class ServiceGroupRow extends PageComponent { - - public ServiceGroupRow(WebDriver driver, WebElement container) { - super(driver); - PageFactory.initElements( new DefaultElementLocatorFactory(container) , this); - } - - - - - @FindBy(tagName = "datatable-body-cell") - protected List<WebElement> cells; - @FindBy(css = "div.datatable-row-detail.ng-star-inserted > div.ng-star-inserted") - private WebElement emptyMetadataContent; - - @FindBy(css = ".ng-star-inserted.datatable-icon-right") - private WebElement expandMetadata; - - public MetadataGrid expandMetadata() { - expandMetadata.click(); -// todo: find something better to wait for - waitForXMillis(1000); - return new MetadataGrid(driver); - } - public void collapseMetadata(){ - driver.findElement(By.cssSelector(".ng-star-inserted.datatable-icon-down")).click(); - } - - public Integer getMetadataSize() { - return Integer.valueOf(cells.get(2).getText().trim()); - } - - public String getParticipantScheme() { - return cells.get(3).getText().trim(); - } - - public String getParticipantIdentifier() { - return cells.get(4).getText().trim(); - } - - public String getServiceGroupURL() { - return cells.get(5).findElement(By.tagName("a")).getAttribute("href").trim(); - } - - public boolean verifyMetadataExpandButton() { - return expandMetadata.isEnabled(); - } - - public boolean verifyMetadataCollapseButton() { - WebElement collapseButton = driver.findElement(By.cssSelector(".ng-star-inserted.datatable-icon-down")); - return collapseButton.isDisplayed() && collapseButton.isEnabled(); - } - - public boolean isMetadataExpanded() { - try{ - if( new MetadataGrid(driver).getMetadataRows().size() >0 ){ - return true; - } - }catch (Exception e){ e.printStackTrace();} - return false; - } - - public String emptyMetadataContentText() - { - return emptyMetadataContent.getText(); - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java deleted file mode 100644 index e19087bee..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java +++ /dev/null @@ -1,104 +0,0 @@ -package pages.service_groups.edit; - -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.baseComponents.PageComponent; -import utils.PROPERTIES; - -import java.util.ArrayList; -import java.util.List; - -public class AccordionSection extends PageComponent { - @FindBy(css = "span.mat-content > mat-panel-title") - WebElement title; - @FindBy(css = "span.mat-content > mat-panel-description > div") - WebElement selectCount; - @FindBy(css = ".mat-expansion-indicator") - WebElement expandButton; - @FindBy(tagName = "mat-list-option") - List<WebElement> options; - - public AccordionSection(WebDriver driver, WebElement container) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT), this); - } - - public boolean isExpanded() { - log.info("check if expanded"); - return isVisible(options.get(0)); - } - - public String getTitle() { - log.info("getting title text"); - waitForElementToBeVisible(title); - return title.getText().replaceAll("\\W", "").trim(); - } - - public String getSelectedCountFullText() { - log.info("get Selected Count Full Text"); - waitForElementToBeVisible(selectCount); - return selectCount.getText().trim(); - } - - public Integer getSelectedCount() { - String fullText = getSelectedCountFullText(); - return Integer.valueOf(fullText.replaceAll("\\D", "")); - } - - public void expandSection() { - log.info("expanding..."); - waitForElementToBeClickable(expandButton).click(); - waitForElementToBeVisible(options.get(0)); - } - - public void selectOptionWithText(String text) { - log.info("selecting option " + text); - for (WebElement option : options) { - - if (option.getAttribute("aria-selected").contains("true")) { - continue; - } - - if (option.getText().trim().equalsIgnoreCase(text)) { - log.info("option found ... selecting"); - option.click(); - return; - } - } - } - - public void selectOptionWithIndex(Integer index) { - log.info("selecting option " + index); - if (index >= options.size()) { - return; - } - - WebElement option = options.get(index); - if (option.getAttribute("aria-selected").contains("true")) { - return; - } - waitForElementToBeClickable(option).click(); - return; - } - - public boolean optionsEnabled() { - log.info("checking if options are enabled"); - waitForElementToBeVisible(title); - boolean isDisabled = options.get(0).getAttribute("aria-disabled").equalsIgnoreCase("true"); - return !isDisabled; - } - - public List<String> getOptions() { - log.info("getting options"); - List<String> optionStr = new ArrayList<>(); - for (WebElement option : options) { - optionStr.add(option.getText().trim()); - } - return optionStr; - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java deleted file mode 100644 index e9a496609..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java +++ /dev/null @@ -1,182 +0,0 @@ -package pages.service_groups.edit; - -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.PaginationControls; -import pages.components.baseComponents.SMPPage; -import pages.service_groups.FilterArea; -import pages.service_groups.ServiceGroupGrid; -import utils.PROPERTIES; - -import java.util.List; - -public class EditPage extends SMPPage { - public FilterArea filterArea; - public PaginationControls pagination = new PaginationControls(driver); - @FindBy(id = "searchTable") - private WebElement searchTable; - - @FindBy(id = "okButton") - private WebElement okButton; - - @FindBy(id = "cancelButton") - private WebElement cancelButton; - - @FindBy(id = "saveButton") - private WebElement saveButton; - - @FindBy(id = "newButton") - private WebElement newButton; - - @FindBy(id = "editButton") - private WebElement editButton; - - @FindBy(id = "deleteButton") - private WebElement deleteButton; - - public EditPage(WebDriver driver) { - super(driver); - this.pageHeader.waitForTitleToBe("Edit"); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - filterArea = new FilterArea(driver); - } - - public boolean isCancelButtonEnabled() { - log.info("cancel button"); - return isEnabled(cancelButton); - } - - public boolean isSaveButtonEnabled() { - log.info("save button"); - return isEnabled(saveButton); - } - - public boolean isDeleteButtonEnabled() { - log.info("delete button"); - return isEnabled(deleteButton); - } - - public boolean isEditButtonEnabled() { - log.info("edit button"); - return isEnabled(editButton); - } - - public boolean isNewButtonEnabled() { - log.info("new button"); - return isEnabled(newButton); - } - - - public ServiceGroupPopup clickEdit() { - log.info("editing ..."); - if (!isEditButtonEnabled()) { - return null; - } - - editButton.click(); - - return new ServiceGroupPopup(driver); - - } - - public ServiceGroupPopup clickNew() { - log.info("new ..."); - waitForElementToBeClickable(newButton).click(); - return new ServiceGroupPopup(driver); - } - - public ConfirmationDialog clickSave() { - log.info("saving ..."); - waitForElementToBeClickable(saveButton).click(); - return new ConfirmationDialog(driver); - } - - public ConfirmationDialog clickCancel() { - log.info("canceling ..."); - waitForElementToBeClickable(cancelButton).click(); - return new ConfirmationDialog(driver); - } - - public ConfirmationDialog clickOk() { - log.info("canceling ..."); - waitForElementToBeClickable(okButton).click(); - return new ConfirmationDialog(driver); - } - - public void clickDelete() { - log.info("deleting ..."); - waitForElementToBeClickable(deleteButton).click(); - } - - public boolean isNewButtonPresent() { - log.info("check if NEW button is visible"); - return isVisible(newButton); - } - - public boolean isDeleteButtonPresent() { - log.info("check if DELETE button is visible"); - return isVisible(deleteButton); - } - - - public ServiceGroupGrid getGrid() { - log.info("getting grid"); - waitForElementToBeVisible(searchTable); - ServiceGroupGrid grid = new ServiceGroupGrid(driver, searchTable); - return grid; - } - - - public void addNewServiceGroup(String identifier, String scheme, List<String> owners, List<String> domains, String extension) { - log.info("adding new service group"); - waitForElementToBeClickable(newButton).click(); - - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - popup.fillForm(identifier, scheme, owners, domains, extension); - popup.clickOK(); - - waitForXMillis(300); - } - - public void saveChangesAndConfirm() { - log.info("saving.."); - waitForElementToBeClickable(saveButton).click(); - new ConfirmationDialog(driver).confirm(); - - waitForRowsToLoad(); - } - -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/MetadataRowE.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/MetadataRowE.java deleted file mode 100644 index a536e956b..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/MetadataRowE.java +++ /dev/null @@ -1,37 +0,0 @@ -package pages.service_groups.edit; - -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.DefaultElementLocatorFactory; -import pages.components.baseComponents.PageComponent; -import pages.service_groups.MetadataRow; - -import java.util.List; - -public class MetadataRowE extends MetadataRow { - - public MetadataRowE(WebDriver driver, WebElement container) { - super(driver, container); - } - - @FindBy(css = "datatable-body-cell:nth-child(5) > div > div > button:nth-child(1)") - WebElement editMetadataButton; - - @FindBy(css = "datatable-body-cell:nth-child(5) > div > div > button:nth-child(2)") - WebElement deleteMetadataButton; - - public void clickEdit() { - log.info("row action - editing .."); - waitForElementToBeClickable(editMetadataButton).click(); - } - - public void clickDelete() { - log.info("row action - deleting .."); - waitForElementToBeClickable(deleteMetadataButton).click(); - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/SGExtensionWizzard.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/SGExtensionWizzard.java deleted file mode 100644 index 3105acca8..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/SGExtensionWizzard.java +++ /dev/null @@ -1,64 +0,0 @@ -package pages.service_groups.edit; - -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.baseComponents.PageComponent; -import utils.Generator; -import utils.PROPERTIES; - -public class SGExtensionWizzard extends PageComponent { - public SGExtensionWizzard(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - @FindBy(css = "#ExtensionID_id") - private WebElement extensionIDInput; - - @FindBy(css = "#ExtensionName_id") - private WebElement extensionNameInput; - - @FindBy(css = "#ExtensionAgencyID_id") - private WebElement extensionAgencyIDInput; - - @FindBy(css = "#ExtensionAgencyName_id") - private WebElement extensionAgencyNameInput; - - @FindBy(css = "#ExtensionAgencyURI_id") - private WebElement extensionAgencyURIInput; - - @FindBy(css = "#ExtensionVersionID_id") - private WebElement extensionVersionIDInput; - - @FindBy(css = "#ExtensionURI_id") - private WebElement eExtensionURIInput; - - @FindBy(css = "#ExtensionReasonCode_id") - private WebElement extensionReasonCodeInput; - - @FindBy(css = "#ExtensionReason_id") - private WebElement extensionReasonInput; - - @FindBy(css = "service-group-extension-wizard button:nth-of-type(1)") - private WebElement okButton; - - public void fillWithRndStrings(){ - clearAndFillInput(extensionIDInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionNameInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionAgencyIDInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionAgencyNameInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionAgencyURIInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionVersionIDInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(eExtensionURIInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionReasonCodeInput, Generator.randomAlphaNumeric(10)); - clearAndFillInput(extensionReasonInput, Generator.randomAlphaNumeric(10)); - waitForElementToBeClickable(okButton).click(); - waitForElementToBeGone(okButton); - } - - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java deleted file mode 100644 index 27bbc475f..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java +++ /dev/null @@ -1,202 +0,0 @@ -package pages.service_groups.edit; - -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.baseComponents.PageComponent; -import utils.PROPERTIES; - -import java.util.List; - -public class ServiceGroupPopup extends PageComponent { - public AccordionSection ownersPanel; - public AccordionSection domainsPanel; - @FindBy(css = "#owner_expansion_panel_id") - private WebElement ownersPanelContainer; - @FindBy(css = "#domain_expansion_panel_id") - private WebElement domainsPanelContainer; - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - private WebElement okButton; - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - private WebElement cancelButton; - @FindBy(css = "#participantIdentifier_id") - private WebElement participantIdentifierInput; - @FindBy(css = "#participantScheme_id") - private WebElement participantSchemeInput; - @FindBy(css = "#extensionTextArea") - private WebElement extensionTextArea; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(1)") - private WebElement clearExtensionButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(2)") - private WebElement extensionWizardButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(3)") - private WebElement validateExtensionButton; - @FindBy(css = "mat-card-content > div.ng-star-inserted") - private WebElement errorContainer; - - public ServiceGroupPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - try { - ownersPanel = new AccordionSection(driver, ownersPanelContainer); - } catch (Exception e) { - log.error("Owners panel is not present"); - } - domainsPanel = new AccordionSection(driver, domainsPanelContainer); - waitForElementToBeVisible(okButton); - } - - public boolean isOKButtonPresent() { - log.info("is ok button visible"); - return isVisible(okButton); - } - - public boolean isCancelButtonPresent() { - log.info("is cancel button visible"); - return isVisible(cancelButton); - } - - public boolean isOKButtonEnable() { - log.info("is ok button visible"); - return isEnabled(okButton); - } - - public boolean isCancelButtonEnable() { - log.info("is cancel button visible"); - return isEnabled(cancelButton); - } - - public boolean isExtensionAreaEditable() { - log.info("is Extension Area Editable"); - return isEnabled(extensionTextArea); - } - - public boolean isParticipantIdentifierInputEnabled() { - log.info("is Participant Identifier Input Enabled"); - return isEnabled(participantIdentifierInput); - } - - public boolean isParticipantSchemeInputEnabled() { - log.info("is Participant Scheme Input Enabled"); - return isEnabled(participantSchemeInput); - } - - public boolean isOwnersPanelEnabled() { - log.info("check owner panel is enabled"); - return ownersPanel.optionsEnabled(); - } - - public boolean isOwnersPanelPresent() { - log.info("check owner panel is present"); - return null == ownersPanel; - } - - public boolean isDomainsPanelEnabled() { - log.info("check domains panel is enabled"); - return domainsPanel.optionsEnabled(); - } - - public void clickOK() { - log.info("click ok.."); - waitForElementToBeClickable(okButton).click(); - waitForElementToBeGone(okButton); - } - - public void clickClear() { - log.info("click clear.."); - waitForElementToBeClickable(clearExtensionButton).click(); - waitForXMillis(100); - } - - public void clickCancel() { - log.info("click cancel.."); - waitForElementToBeClickable(cancelButton).click(); - waitForElementToBeGone(cancelButton); - } - - public void fillForm(String identifier, String scheme, List<String> owners, List<String> domains, String extension) { - log.info("filling form.."); - - waitForElementToBeVisible(participantIdentifierInput); - - clearAndFillInput(participantIdentifierInput, identifier); - clearAndFillInput(participantSchemeInput, scheme); - - for (String owner : owners) { - ownersPanel.selectOptionWithText(owner); - } - - domainsPanel.expandSection(); - - for (String domain : domains) { - domainsPanel.selectOptionWithText(domain); - } - - clearAndFillInput(extensionTextArea, extension); - - } - - public String getParticipantIdentifierValue() { - return waitForElementToBeVisible(participantIdentifierInput).getAttribute("value").trim(); - } - - public String getParticipantSchemeValue() { - return participantSchemeInput.getAttribute("value").trim(); - } - - public String getErrorMessage() { - return errorContainer.getText().trim(); - } - - public String getExtensionAreaContent() { - log.info("getting Extension Area Content"); - - waitForElementToBeVisible(extensionTextArea); - waitForXMillis(500); - return extensionTextArea.getAttribute("value").trim(); - } - - public void enterDataInExtensionTextArea(String text) { - waitForElementToBeVisible(extensionTextArea).clear(); - extensionTextArea.sendKeys(text); - waitForXMillis(1000); - } - - public void fillParticipantIdentifier(String participantIdentifier) { - clearAndFillInput(participantIdentifierInput, participantIdentifier); - } - - public void fillParticipantScheme(String participantScheme) { - clearAndFillInput(participantSchemeInput, participantScheme); - } - - public void chooseFirstOwner() { - if (!ownersPanel.isExpanded()) { - ownersPanel.expandSection(); - } - ownersPanel.selectOptionWithIndex(0); - - } - - public void chooseFirstDomain() { - if (!domainsPanel.isExpanded()) { - domainsPanel.expandSection(); - } - domainsPanel.selectOptionWithIndex(0); - } - - public void fillExtensionArea(String extension) { - clearAndFillInput(extensionTextArea, extension); - } - - public void generateRndExtension() { - extensionWizardButton.click(); - new SGExtensionWizzard(driver).fillWithRndStrings(); - - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupRowE.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupRowE.java deleted file mode 100644 index 7d430e731..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupRowE.java +++ /dev/null @@ -1,48 +0,0 @@ -package pages.service_groups.edit; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.support.FindBy; -import pages.service_groups.ServiceGroupRow; - -public class ServiceGroupRowE extends ServiceGroupRow { - public ServiceGroupRowE(WebDriver driver, WebElement container) { - super(driver, container); - } - - @FindBy(css = "datatable-body-cell:nth-child(7) > div > div > button:nth-child(1)") - WebElement addMetadataButton; - - @FindBy(css = "datatable-body-cell:nth-child(7) > div > div > button:nth-child(2)") - WebElement editServiceGroup; - - @FindBy(css = "datatable-body-cell:nth-child(7) > div > div > button:nth-child(3)") - WebElement deleteServiceGroup; - - @Override - public Integer getMetadataSize() { - return Integer.valueOf(cells.get(1).getText().trim()); - } - - public Integer getOwnerSize() { - return Integer.valueOf(cells.get(2).getText().trim()); - } - - public ServiceMetadataPopup clickAddMetadata(){ - waitForElementToBeClickable(addMetadataButton).click(); - - return new ServiceMetadataPopup(driver); - } - - public ServiceGroupPopup clickEdit(){ - waitForElementToBeClickable(editServiceGroup).click(); - return new ServiceGroupPopup(driver); - } - - public void clickDelete(){ - waitForElementToBeClickable(deleteServiceGroup).click(); - } - - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java deleted file mode 100644 index 7d1e05192..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java +++ /dev/null @@ -1,165 +0,0 @@ -package pages.service_groups.edit; - -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.GenericSelect; -import pages.components.baseComponents.PageComponent; -import utils.PROPERTIES; - -public class ServiceMetadataPopup extends PageComponent { - @FindBy(css = "mat-dialog-actions > button:nth-child(1)") - private WebElement okButton; - @FindBy(css = "mat-dialog-actions > button:nth-child(2)") - private WebElement cancelButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(1)") - private WebElement clearButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(2)") - private WebElement generateXMLButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(4)") - private WebElement validateButton; - @FindBy(css = "#MetadataTextArea") - private WebElement metadataTextArea; - @FindBy(css = "#participanSchema_id") - private WebElement participantSchemaInput; - @FindBy(css = "#participantIdentifier_id") - private WebElement participantIdentifierInput; - @FindBy(css = "#documentScheme_id") - private WebElement documentSchemeInput; - @FindBy(css = "#documentIdentifier_id") - private WebElement documentIdentifierInput; - @FindBy(xpath = "//span[text() ='Metadata wizard']") - private WebElement metadataWizardBtn; - @FindBy(css = "mat-card-content > div > div.ng-star-inserted:nth-child(2)") - private WebElement xmlValidationMsg; - @FindBy(css = "mat-dialog-content #domain_id") - private WebElement domainSelectContainer; - private GenericSelect domainSelect; - - public ServiceMetadataPopup(WebDriver driver) { - super(driver); - - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - waitForElementToBeVisible(domainSelectContainer); - domainSelect = new GenericSelect(driver, domainSelectContainer); - } - - public EditPage clickOK() { - waitForElementToBeClickable(okButton); - okButton.click(); - return new EditPage(driver); - } - - public boolean isOKBtnEnabled() { - return okButton.isEnabled(); - } - - public void fillDocIdAndDocIdScheme(String docID, String docScheme) { - waitForElementToBeVisible(documentIdentifierInput); - clearAndFillInput(documentIdentifierInput, docID); - clearAndFillInput(documentSchemeInput, docScheme); - - } - - public String xmlFieldVALUE() { - log.info("value is " + metadataTextArea.getAttribute("value")); - return metadataTextArea.getAttribute("value"); - } - - public void fillForm(String domain, String docID, String docScheme) { - waitForElementToBeVisible(documentIdentifierInput); - domainSelect.selectWithIndex(0); - - clearAndFillInput(documentIdentifierInput, docID); - clearAndFillInput(documentSchemeInput, docScheme); - - generateXMLButton.click(); - - } - - public String captureTextOfMetadataTextArea() { - return metadataTextArea.getText(); - } - - public void clickValidateBtn() { - waitForElementToBeClickable(validateButton).click(); - } - - public void clickGenerateXMLBtn() { - waitForElementToBeClickable(generateXMLButton).click(); - } - - public void clickClearBtn() { - waitForElementToBeClickable(clearButton).click(); - } - - public String getXMLValidationMessage() { - return xmlValidationMsg.getText(); - } - - public void addTextToMetadataTextArea(String generator) { - metadataTextArea.sendKeys(generator); - - } - - public String docIDFieldValue() { - return documentIdentifierInput.getAttribute("value"); - } - - public String docIDSchemeFieldValue() { - return documentSchemeInput.getAttribute("value"); - } - - public String getParticipantSchemeValue() { - waitForElementToBeVisible(participantSchemaInput); - return participantSchemaInput.getAttribute("value").trim(); - } - - public String getParticipantIdentifierValue() { - waitForElementToBeVisible(participantIdentifierInput); - return participantIdentifierInput.getAttribute("value").trim(); - } - - public String getDocumentIdentifierValue() { - waitForElementToBeVisible(documentIdentifierInput); - return documentIdentifierInput.getAttribute("value").trim(); - } - - public String getDocumentSchemeValue() { - waitForElementToBeVisible(documentSchemeInput); - return documentSchemeInput.getAttribute("value").trim(); - } - - - public boolean isParticipantSchemeEnabled() { - return isEnabled(participantSchemaInput); - } - - public boolean isParticipantIdentifierEnabled() { - return isEnabled(participantIdentifierInput); - } - - public boolean isDocumentIdentifierEnabled() { - return isEnabled(documentIdentifierInput); - } - - public ServiceMetadataWizardPopup clickMetadataWizard() { - waitForElementToBeClickable(metadataWizardBtn).click(); - return new ServiceMetadataWizardPopup(driver); - - } - - public boolean isDocumentSchemeEnabled() { - return isEnabled(documentSchemeInput); - } - - - public String getListedDomain() { - return domainSelect.getSelectedValue().trim(); - } - - -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java deleted file mode 100644 index 96a194847..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java +++ /dev/null @@ -1,93 +0,0 @@ -package pages.service_groups.edit; - -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.baseComponents.PageComponent; -import utils.PROPERTIES; - -import java.io.File; - -public class ServiceMetadataWizardPopup extends PageComponent { - @FindBy(css = "#documentIdentifierScheme_id") - private WebElement docIdSchemeField; - @FindBy(css = "#processSchema_id") - private WebElement processSchemeField; - @FindBy(css = "service-metadata-wizard-dialog input#documentIdentifier_id") - private WebElement docIdField; - @FindBy(css = "#processidentifier_id") - private WebElement processIdField; - @FindBy(css = "#endpointUrl_id") - private WebElement endpointUrl; - @FindBy(css = "#transportProfiler_id") - private WebElement transportProfileField; - @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(1)") - private WebElement okButton; - @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(2)") - private WebElement cancelButton; - @FindBy(css = "input#certificate-file-upload") - private WebElement uploadCertificateBtn; - @FindBy(css = "#metadatacertificate_id") - private WebElement certificateDescriptionBox; - - - public ServiceMetadataWizardPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public String docIDFieldValue() { - return docIdField.getAttribute("value"); - } - - public String docIDSchemeFieldValue() { - return docIdSchemeField.getAttribute("value"); - } - - public String transportProfileFieldContent() { - return transportProfileField.getAttribute("value"); - } - - - public void clickUploadCertificate() { - waitForElementToBeVisible(uploadCertificateBtn); - uploadCertificateBtn.click(); - } - - public void fillCerificateBox(String generator) { - certificateDescriptionBox.sendKeys(generator); - } - - public void uploadCertificate(String relativePath) { - waitForElementToBeVisible(uploadCertificateBtn); - uploadCertificateBtn.click(); - String path = new File(relativePath).getAbsolutePath(); - uploadCertificateBtn.sendKeys(path); - } - - public boolean isEnabledOkBtn() { - waitForElementToBeEnabled(okButton); - return okButton.isEnabled(); - } - - public ServiceMetadataPopup clickOK() { - waitForElementToBeVisible(okButton); - okButton.click(); - return new ServiceMetadataPopup(driver); - } - - public void fillForm(String docID, String docScheme, String processID, String processScheme, String transportProfile, String url) { - waitForElementToBeVisible(docIdField); - - clearAndFillInput(docIdField, docID); - clearAndFillInput(docIdSchemeField, docScheme); - clearAndFillInput(processIdField, processID); - clearAndFillInput(processSchemeField, processScheme); - clearAndFillInput(transportProfileField, transportProfile); - clearAndFillInput(endpointUrl, url); - - - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java b/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java deleted file mode 100644 index 56e4a92fa..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java +++ /dev/null @@ -1,39 +0,0 @@ -package pages.service_groups.search; - -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.baseComponents.SMPPage; -import pages.service_groups.ServiceGroupGrid; -import pages.service_groups.FilterArea; -import utils.PROPERTIES; - -public class SearchPage extends SMPPage { - - public SearchPage(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - this.pageHeader.waitForTitleToBe("Search"); - - } - - public FilterArea filters = new FilterArea(driver); - - @FindBy(id = "searchTable") - WebElement searchGridContainer; - - - public boolean isLoaded() { - log.info("checking if search page is loaded"); - if(!filters.isLoaded()){ return false;} - return getServiceGroupGrid().isLoaded(); - } - - public ServiceGroupGrid - getServiceGroupGrid() { - return new ServiceGroupGrid(driver, searchGridContainer); - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ParticipantIdentifier.java b/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ParticipantIdentifier.java deleted file mode 100644 index b0d3902d0..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ParticipantIdentifier.java +++ /dev/null @@ -1,40 +0,0 @@ -package pages.service_groups.search.pojo; - -import com.thoughtworks.xstream.annotations.XStreamAlias; -import com.thoughtworks.xstream.annotations.XStreamConverter; -import com.thoughtworks.xstream.converters.extended.ToAttributedValueConverter; - -@XStreamAlias("ParticipantIdentifier") -@XStreamConverter(value= ToAttributedValueConverter.class, strings={"participantIdentifier"}) -public class ParticipantIdentifier { - - - String scheme; - - - String participantIdentifier; - - public String getScheme() { - return scheme; - } - - public void setScheme(String scheme) { - this.scheme = scheme; - } - - public String getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantIdentifier(String participantIdentifier) { - this.participantIdentifier = participantIdentifier; - } - - @Override - public String toString() { - return "ParticipantIdentifier{" + - "scheme='" + scheme + '\'' + - ", participantIdentifier='" + participantIdentifier + '\'' + - '}'; - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceGroup.java b/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceGroup.java deleted file mode 100644 index 8e8454b44..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceGroup.java +++ /dev/null @@ -1,39 +0,0 @@ -package pages.service_groups.search.pojo; - -import com.thoughtworks.xstream.annotations.XStreamAlias; - -import java.util.List; - -@XStreamAlias("ServiceGroup") -public class ServiceGroup { - - @XStreamAlias("ParticipantIdentifier") - ParticipantIdentifier participantIdentifier; - - @XStreamAlias("ServiceMetadataReferenceCollection") - List<ServiceMetadataReference> serviceMetadataReferenceCollection; - - public ParticipantIdentifier getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantIdentifier(ParticipantIdentifier participantIdentifier) { - this.participantIdentifier = participantIdentifier; - } - - public List<ServiceMetadataReference> getServiceMetadataReferenceCollection() { - return serviceMetadataReferenceCollection; - } - - public void setServiceMetadataReferenceCollection(List<ServiceMetadataReference> serviceMetadataReferenceCollection) { - this.serviceMetadataReferenceCollection = serviceMetadataReferenceCollection; - } - - @Override - public String toString() { - return "ServiceGroup{" + - "participantIdentifier=" + participantIdentifier + - ", serviceMetadataReferenceCollection=" + serviceMetadataReferenceCollection + - '}'; - } -} diff --git a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceMetadataReference.java b/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceMetadataReference.java deleted file mode 100644 index d911c0aae..000000000 --- a/smp-ui-tests/src/main/java/pages/service_groups/search/pojo/ServiceMetadataReference.java +++ /dev/null @@ -1,26 +0,0 @@ -package pages.service_groups.search.pojo; - -import com.thoughtworks.xstream.annotations.XStreamAlias; -import com.thoughtworks.xstream.annotations.XStreamAsAttribute; - -@XStreamAlias("ServiceMetadataReference") -public class ServiceMetadataReference { - - @XStreamAsAttribute - String href; - - public String getHref() { - return href; - } - - public void setHref(String href) { - this.href = href; - } - - @Override - public String toString() { - return "ServiceMetadataReference{" + - "href='" + href + '\'' + - '}'; - } -} diff --git a/smp-ui-tests/src/main/java/pages/users/UserPopup.java b/smp-ui-tests/src/main/java/pages/users/UserPopup.java deleted file mode 100644 index af40d3f1e..000000000 --- a/smp-ui-tests/src/main/java/pages/users/UserPopup.java +++ /dev/null @@ -1,291 +0,0 @@ -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 pages.components.ConfirmationDialog; -import pages.components.GenericSelect; -import pages.components.baseComponents.PageComponent; - -public class UserPopup extends PageComponent { - 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 = "np_id") - WebElement newPasswordInput; - - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "cnp_id") - WebElement confirmationInput; - - @FindBy(css = "input#cp_id") - WebElement adminPassInput; - - @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") - WebElement usernameValidationError; - - @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; - - @FindBy(xpath = "//span[text()='Regenerate access token']") - WebElement regenarateAccessTokenBtn; - - @FindBy(css = "label > button.mat-focus-indicator.mat-flat-button.mat-button-base.mat-primary") - WebElement importBtn; - - @FindBy(xpath = "//span[text()='Show details']") - WebElement showDetailsBtn; - - @FindBy(xpath = "//span[text()='Clear']") - WebElement clearBtn; - - @FindBy(css = ".has-error.ng-star-inserted") - WebElement emailValidationError; - - - 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 isChangedPasswordActive() { - 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 email) { - clearAndFillInput(userNameInput, username); - clearAndFillInput(emailInput, email); - } - - public void clickSetOrChangePassword() { - log.info("click change password"); - waitForElementToBeClickable(changePassword); - waitForXMillis(500); - changePassword.click(); - waitForXMillis(500); - } - - 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); - waitForXMillis(500); - 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 userEmailValidationGetErrMsg() { - try { - waitForElementToBeVisible(emailValidationError); - return emailValidationError.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() { - return passMatchValidationError.getText(); - } - - public boolean isUsernameFieldEnabled() { - return isEnabled(userNameInput); - } - - public boolean isEmailFieldEnabled() { - return isEnabled(emailInput); - } - - public boolean isRoleSelectFieldEnabled() { - return isEnabled(rolesSelectContainer); - } - - public boolean isSetOrChangePassOptionBtnEnabled() { - return isEnabled(changePassword); - } - - public boolean isRegenerateAccesstokenBtnEnabled() { - return isEnabled(regenarateAccessTokenBtn); - } - - public boolean isImportButtonActive() { - return isEnabled(importBtn); - } - - public boolean isShowDetailsButtonActive() { - return isEnabled(showDetailsBtn); - } - - public boolean isClearButtonActive() { - return isEnabled(clearBtn); - } - -} diff --git a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java b/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java deleted file mode 100644 index 962d388ee..000000000 --- a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java +++ /dev/null @@ -1,33 +0,0 @@ -package pages.users; - -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/UsersGrid.java b/smp-ui-tests/src/main/java/pages/users/UsersGrid.java deleted file mode 100644 index 6ed41935a..000000000 --- a/smp-ui-tests/src/main/java/pages/users/UsersGrid.java +++ /dev/null @@ -1,101 +0,0 @@ -package pages.users; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; -import pages.components.baseComponents.PaginationControls; -import pages.components.grid.BasicGrid; - -import java.util.ArrayList; -import java.util.List; - -public class UsersGrid extends BasicGrid { - public UsersGrid(WebDriver driver, WebElement container) { - super(driver, container); - } - - public List<UserRowInfo> getRows() { - List<UserRowInfo> rowInfos = new ArrayList<>(); - - for (WebElement gridRow : gridRows) { - List<WebElement> cells = gridRow.findElements(By.tagName("datatable-body-cell")); - UserRowInfo rowInfo = new UserRowInfo(); - rowInfo.setUsername(cells.get(0).getText().trim()); - rowInfo.setCertificate(cells.get(1).getText().trim()); - rowInfo.setRole(cells.get(2).getText().trim()); - rowInfos.add(rowInfo); - } - return rowInfos; - } - - public boolean isUserListed(String username) { - PaginationControls pagination = new PaginationControls(driver); - pagination.skipToFirstPage(); - List<UserRowInfo> rows; - int count = 0; - do { - if (count != 0) { - pagination.goToNextPage(); - } - rows =getRows(); - for (UserRowInfo row : rows) { - if (row.getUsername().equalsIgnoreCase(username)) { - return true; - } - } - count++; - } - while (pagination.hasNextPage()); - return false; - } - - public int scrollToUser(String username) { - PaginationControls pagination = new PaginationControls(driver); - pagination.skipToFirstPage(); - List<UserRowInfo> rows; - int count = 0; - do { - if(count!=0){ - pagination.goToNextPage(); - } - rows = getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getUsername().equalsIgnoreCase(username)) { - return i; - } - } - count++; - } while (pagination.hasNextPage()); - return -1; - } - - public int scrollToUserWithRole(String role) { - PaginationControls pagination = new PaginationControls(driver); - pagination.skipToFirstPage(); - List<UserRowInfo> rows; - int count = 0; - - do { - if(count!=0){ - pagination.goToNextPage(); - } - rows = getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getRole().equalsIgnoreCase(role)) { - return i; - } - } - count++; - - } while (pagination.hasNextPage()); - return -1; - } - public boolean userHasCertificate(int index){ - List<UserRowInfo> rows = getRows(); - int i=index; - return rows.get(i).getCertificate().isEmpty(); - } - } - - - diff --git a/smp-ui-tests/src/main/java/pages/users/UsersPage.java b/smp-ui-tests/src/main/java/pages/users/UsersPage.java deleted file mode 100644 index 23632189c..000000000 --- a/smp-ui-tests/src/main/java/pages/users/UsersPage.java +++ /dev/null @@ -1,163 +0,0 @@ -package pages.users; - -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.PaginationControls; -import pages.components.baseComponents.SMPPage; -import utils.PROPERTIES; - -public class UsersPage extends SMPPage { - 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; - @FindBy(xpath = "//span[text()=' Edit truststore']") - private WebElement editTruststore; - - 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 isEditButtonEnabled() { - log.info("save button"); - return isEnabled(editBtn); - } - - 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 isEnabled(newBtn); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public boolean isEditTruststoreButtonEnabled() { - try { - return isEnabled(editTruststore); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - - } - - public boolean isDeleteButtonVisible() { - try { - return isVisible(deleteBtn); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public boolean isEditButtonVisible() { - try { - return isVisible(editBtn); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - - public boolean isCancelButtonVisible() { - - return isVisible(cancelBtn); - } - - public boolean isSaveButtonVisible() { - - return isVisible(saveBtn); - } - - -} diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java deleted file mode 100644 index 3a2fdade7..000000000 --- a/smp-ui-tests/src/main/java/utils/DriverManager.java +++ /dev/null @@ -1,31 +0,0 @@ -package utils; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.chrome.ChromeDriver; -import org.openqa.selenium.chrome.ChromeOptions; - -import java.util.concurrent.TimeUnit; - -public class DriverManager { - - - public static WebDriver getDriver() { - - ChromeOptions options = new ChromeOptions(); - options.setHeadless(Boolean.valueOf(PROPERTIES.HEADLESS)); - options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems - options.addArguments("--no-sandbox"); // Bypass OS security model - - options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems - options.addArguments("--window-size=1920,1080"); - - - WebDriver driver = new ChromeDriver(options); - driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); - driver.manage().window().maximize(); - - return driver; - } - - -} diff --git a/smp-ui-tests/src/main/java/utils/Generator.java b/smp-ui-tests/src/main/java/utils/Generator.java deleted file mode 100644 index 69b3a7a2b..000000000 --- a/smp-ui-tests/src/main/java/utils/Generator.java +++ /dev/null @@ -1,24 +0,0 @@ -package utils; - -public class Generator { - - @SuppressWarnings("SpellCheckingInspection") - private static final String ALPHA_NUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - private static final String ALPHA_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - - - public static String randomAlphaNumeric(int count) { - return randomAlpha(count); - } - - public static String randomAlpha(int count) { - StringBuilder builder = new StringBuilder(); - while (count-- != 0) { - int character = (int) (Math.random() * ALPHA_STRING.length()); - builder.append(ALPHA_STRING.charAt(character)); - } - return builder.toString(); - } - - -} diff --git a/smp-ui-tests/src/main/java/utils/PROPERTIES.java b/smp-ui-tests/src/main/java/utils/PROPERTIES.java deleted file mode 100644 index 40690a6ab..000000000 --- a/smp-ui-tests/src/main/java/utils/PROPERTIES.java +++ /dev/null @@ -1,15 +0,0 @@ -package utils; - -@SuppressWarnings("SpellCheckingInspection") -public class PROPERTIES { - - public static final String UI_BASE_URL = System.getProperty("UI_BASE_URL"); - public static final int SHORT_UI_TIMEOUT = 5; - public static final int TIMEOUT = Integer.valueOf(System.getProperty("SHORT_TIMEOUT")); - - public static final String HEADLESS = "true"; - public static final String REPORTS_FOLDER = System.getProperty("reports.folder"); - public static final String TESTDATAFILE = System.getProperty("data.folder") + System.getProperty("testdata.file"); - - -} diff --git a/smp-ui-tests/src/main/java/utils/TestDataProvider.java b/smp-ui-tests/src/main/java/utils/TestDataProvider.java deleted file mode 100644 index 71a232cab..000000000 --- a/smp-ui-tests/src/main/java/utils/TestDataProvider.java +++ /dev/null @@ -1,59 +0,0 @@ -package utils; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.HashMap; -import java.util.Iterator; - -public class TestDataProvider { - - private JSONObject testData = null; - - - public TestDataProvider(){ - - String content = null; - try { - content = new String(Files.readAllBytes(Paths.get(PROPERTIES.TESTDATAFILE))); - testData = new JSONObject(content); - } catch (Exception e) { - throw new RuntimeException("Error reading test data file: " + PROPERTIES.TESTDATAFILE); - } - } - - public HashMap<String, String> getUserWithRole(String key){ - HashMap<String, String> toReturn = new HashMap<>(); - - try { - JSONObject user = null; - user = testData.getJSONObject("loginUsers").getJSONObject(key); - - Iterator<String> keysItr = user.keys(); - while(keysItr.hasNext()) { - String usrKey = keysItr.next(); - toReturn.put(usrKey, user.getString(usrKey)); - } - } catch (JSONException e) { } - - return toReturn; - } - - public String getDefaultTestPass(){ - try { - return testData.getString("passwordForTestUsers"); - } catch (JSONException e) { - e.printStackTrace(); - } - return ""; - } - - - - - - - -} diff --git a/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java b/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java deleted file mode 100644 index f34c534e7..000000000 --- a/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java +++ /dev/null @@ -1,90 +0,0 @@ -package utils.enums; - -public class SMPMessages { - - public static final String MSG_1 = "Login failed; Invalid userID or password"; - public static final String MSG_2 = "Too many invalid attempts to log in. Access has been temporarily\n" + - "suspended. Please try again later with the right credentials."; - public static final String MSG_3 = "To abandon all changes performed since last save, click on the \"Cancel\" button.\n" + - "Click on the \"Ok\" button keep your changes and come back to the current\n" + - "window unchanged."; - public static final String MSG_4 = "Please confirm by clicking on the \"Save\" button that you want to save all changes.\n" + - "If you don't want to save these changes now, please click on the \"Don't\n" + - "save now\" button"; - public static final String MSG_5 = "To delete the current item(s) click on the \"Ok\" button.\n" + - "Click on the \"Cancel\" button to keep this item and come back to the\n" + - "current window unchanged"; - public static final String MSG_6 = "The system detected a concurrent access.\n" + - "Your changes are irremediably lost, and the data were reverted to what\n" + - "the concurrent user saved before you."; - public static final String MSG_7 = "Component ${COMPONENT} is not accessible. Administration console is\n" + - "disabled."; - public static final String MSG_8 = "You are about to leave the edition of the current ${OBJECT_TYPE} which\n" + - "modifications were not saved yet.\n" + - "Click on \"Abandon\" to abandon your changes.\n" + - "Click \"Keep\" to stay on the current screen and keep your changes without\n" + - "saving them now" + - "Click \"Save\" to save your changes and move to the selected screen."; - public static final String MSG_9 = "The selection criteria you provided are too restrictive, no result matches\n" + - "these criteria. Please enter less selective criteria to obtain some results"; - public static final String MSG_10 = "A value must be provided for the plugin and at least for one of the other\n" + - "column for the filter to be applicable."; - public static final String MSG_11 = "You are about to delete ServiceGroup: ${ServiceGroup} and its ServiceMetadata.\n" + - "Click on \"Delete\" to confirm the deletion.\n" + - "Click on \"Keep\" to keep the ServiceMetadata."; - public static final String MSG_12 = "You are about to delete ServiceMetadata: ${ServiceMetadata}.\n" + - "Click on \"Delete\" to confirm the deletion.\n" + - "Click on \"Keep\" to keep the ServiceMetadata"; - public static final String MSG_13 = "You are about to delete User: ${User}.\n" + - "Click on \"Delete\" to confirm the deletion.\n" + - "Click on \"Keep\" to keep the user.\n"; - public static final String MSG_14 = "You are about to create an SMP Domain: ${SMP_BDMSL_ID}. Action will\n" + - "register new user SMP user to SML for domain ${ BDMSL _DOMAIN}.\n" + - "Domain will be saved to SMP. Action is not recoverable.\n" + - "Click on \"Register\" to confirm the registration and saving.\n" + - "Click on \"Cancel\" to cancel the registration."; - @SuppressWarnings("SpellCheckingInspection") - public static final String MSG_15 = "You are about to delete an SMP Domain: ${SMP_DOMAIN_ID}. Action\n" + - "will unregister SMP domain user ${SMP_SML_ID}. from SML for domain\n" + - "${ BDMSL _DOMAIN}. Action is not recoverable.\n" + - "Click on \"Delete\" to confirm the deleting and unregistration of domain.\n" + - "Click on \"Keep\" to keep the domain."; - public static final String MSG_16 = "You are about to delete an X509 private key: ${Key }. Action is not recoverable.\n" + - "Click on \"Delete\" to confirm the deleting the key.\n" + - "Click on \"Keep\" to keep the key."; - public static final String MSG_17 = "You are about to delete Domain: ${SMP_DOMAIN_ID}.\n" + - "Click on \"Delete\" to confirm the deletion.\n" + - "Click on \"Keep\" to keep the domain."; - public static final String MSG_18 = "The operation 'update' completed successfully."; - - public static final String USER_OWN_DELETE_ERR = "Delete validation error Could not delete logged user!"; - - public static final String MSG_19 = "Domain ${BDMSL_DOMAIN} is already registered with id ${DOMAIN_ID}"; - public static final String MSG_20 = "All changes were aborted and data restored into the present window"; - public static final String MSG_21 = "Unable to login. SMP is not running."; - public static final String MSG_22 = "The user is suspended. Please try again later or contact your administrator."; - public static final String MSG_23 = "Configuration error: Subject must have less than 256 character!"; - - - public static final String USERNAME_VALIDATION_MESSAGE = "Username is case insensitive and can only contain alphanumeric characters (letters a-zA-Z, numbers 0-9) and must have from 4 to 32 characters!"; - public static final String PASS_POLICY_MESSAGE = "Minimum length: 16 characters;Maximum length: 32 characters;At least one letter in lowercase;At least one letter in uppercase;At least one digit;At least one special character"; - public static final String PASS_NO_MATCH_MESSAGE = "Passwords do not match"; - public static final String PASS_NO_EMPTY_MESSAGE = "You should type a password"; - - public static final String KEYSTORE_IMPORTED_MSG = "Keystore %s imported!"; - public static final String KEYSTORE_DELETION_MSG = "Certificate %s deleted!"; - public static final String SMLSMPID_VALIDATION_MESSAGE = "SML SMP ID should be up to 63 characters long, should only contain alphanumeric and hyphen characters, should not start with a digit nor a hyphen and should not end with a hyphen."; - public static final String USER_EMAIL_VALIDATION_MESSAGE = "Email is invalid!"; - public static final String DOMAINCODE_VALIDATION_MESSAGE = "Domain code must contain only chars and numbers and must be less than 63 chars long."; - public static final String VALID_XML_MESSAGE = "Servicemetadata is valid!"; - public static final String INVALID_XML_MESSAGE1 = "SAXParseException: XML document structures must start and end within the same entity."; - public static final String INVALID_XML_MESSAGE2 = "SAXParseException: Content is not allowed in prolog."; - public static final String INVALID_XML_MESSAGE3 = "SAXParseException: Content is not allowed in trailing section."; - public static final String INVALID_XML_MESSAGE4 = "SAXParseException: cvc-complex-type.2.3: Element 'ServiceMetadata' cannot have character [children], because the type's content type is element-only."; - public static final String INVALID_XML_MESSAGE5 = "SAXParseException: The end-tag for element type \"ServiceMetadata\" must end with a '>' delimiter."; - public static final String INVALID_XML_MESSAGE6 = "SAXParseException: cvc-complex-type.2.3: Element 'Process' cannot have character [children], because the type's content type is element-only."; - public static final String EMPTY_XML_WARN_MESSAGE = "Service metadata xml must not be empty"; - public static final String EMPTY_XML_MESSAGE = "Valid service metadata XML is required!"; - public static final String INVALID_XML_MESSAGE7 = "SAXParseException: The markup in the document following the root element must be well-formed."; - -} diff --git a/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java b/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java deleted file mode 100644 index 8d6225445..000000000 --- a/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java +++ /dev/null @@ -1,14 +0,0 @@ -package utils.rest; - -@SuppressWarnings("SpellCheckingInspection") -public class SMPPaths { - - public static final String REST_DOMAIN_LIST = "internal/rest/domain"; - public static final String REST_POST_DOMAIN = "internal/rest/domain"; - public static final String LOGIN_PATH = "public/rest/security/authentication"; - public static final String USER_LIST = "internal/rest/user"; - public static final String SERVICE_GROUP = "public/rest/service-group"; - public static final String KEYSTORE = "internal/rest/keystore"; - public static final String SYS_INFO = "public/rest/application/info"; - -} diff --git a/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java b/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java deleted file mode 100644 index a3bd15e28..000000000 --- a/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java +++ /dev/null @@ -1,504 +0,0 @@ -package utils.rest; - -import com.sun.jersey.api.client.Client; -import com.sun.jersey.api.client.ClientResponse; -import com.sun.jersey.api.client.WebResource; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.StaxDriver; -import org.apache.log4j.Logger; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import pages.service_groups.search.pojo.ServiceGroup; -import utils.Generator; -import utils.PROPERTIES; -import utils.TestDataProvider; - -import javax.ws.rs.core.Cookie; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.NewCookie; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class SMPRestClient { - - protected static Logger log = Logger.getLogger(SMPRestClient.class); - private static Client client = Client.create(); - private static WebResource resource = client.resource(PROPERTIES.UI_BASE_URL); - - public static ServiceGroup getServiceGroup(String url) { -// downloading XML and parsing - XStream xstream = new XStream(new StaxDriver()); - xstream.ignoreUnknownElements(); - xstream.processAnnotations(ServiceGroup.class); - ServiceGroup serviceGroup = null; - try { - String tmp = client.resource(url).get(String.class); - serviceGroup = (ServiceGroup) xstream.fromXML(tmp); - } catch (Exception e) { - e.printStackTrace(); - } - return serviceGroup; - } - - public static HashMap<String, String> getCookies(List<NewCookie> cookies) { - HashMap<String, String> map = new HashMap<String, String>(); - int count = 0; - for (NewCookie cookie : cookies) { - if ("XSRF-TOKEN".equals(cookie.getName())) { - map.put("XSRF-TOKEN", cookie.getValue()); - count++; - } - if ("JSESSIONID".equals(cookie.getName())) { - map.put("JSESSIONID", cookie.getValue()); - count++; - } - if (count == 2) - break; - } - return map; - } - - - public static List<String> getDomainAndSubdomains() { - List<String> domainList = new ArrayList<>(); - try { - String responseRaw = resource.path(SMPPaths.REST_DOMAIN_LIST) - .queryParam("page", "-1") - .queryParam("pageSize", "-1") - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .get(String.class); - JSONArray restDomains = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - - for (int i = 0; i < restDomains.length(); i++) { - JSONObject currentDomain = restDomains.getJSONObject(i); - String currentDomainStr = currentDomain.getString("domainCode").trim(); - String currentSubdomainStr = "" + currentDomain.getString("smlSubdomain").trim().replaceAll("null", ""); - - String tmp = String.format("%s (%s)", currentDomainStr, currentSubdomainStr); - - domainList.add(tmp); - } - } catch (Exception e) { - } - return domainList; - } - - public static String getDomainSubDomainCombo(String domainCode) { - List<String> allDomains = getDomainAndSubdomains(); - for (String allDomain : allDomains) { - if (allDomain.startsWith(domainCode + " ")) { - return allDomain; - } - } - return domainCode; - } - - - public static List<NewCookie> login(String role) { - String authTemplate = "{\"username\": \"%s\", \"password\": \"%s\"}"; - TestDataProvider tdp = new TestDataProvider(); - Map<String, String> user = tdp.getUserWithRole(role); - String auth = String.format(authTemplate, user.get("username"), user.get("password")); - - List<NewCookie> session = resource.path(SMPPaths.LOGIN_PATH).accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON_TYPE) - .post(ClientResponse.class, auth).getCookies(); - return session; - } - - public static List<String> getSysAdmins() { - List<NewCookie> cookies = login("SYS_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String responseRaw = resource.path(SMPPaths.USER_LIST) - .queryParam("page", "-1") - .queryParam("pageSize", "-1") - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .get(String.class); - JSONArray users = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - - List<String> sysadmins = new ArrayList<>(); - - for (int i = 0; i < users.length(); i++) { - JSONObject usr = users.getJSONObject(i); - if (usr.getString("role").equalsIgnoreCase("SYSTEM_ADMIN")) { - sysadmins.add(usr.getString("username")); - } - } - return sysadmins; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public static List<String> getKeyStoreEntries() { - List<NewCookie> cookies = login("SYS_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String responseRaw = resource.path(SMPPaths.KEYSTORE) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .get(String.class); - JSONArray entries = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - - List<String> entryList = new ArrayList<>(); - - for (int i = 0; i < entries.length(); i++) { - - - String id = entries.getJSONObject(i).getString("certificateId"); - String alias = entries.getJSONObject(i).getString("alias"); - entryList.add(String.format("%s (%s)", alias, id)); - } - return entryList; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - - public static boolean createDomain(String domainCode) { - List<NewCookie> cookies = login("SYS_ADMIN"); - String template = "[{\"domainCode\":\"%s\",\"smlSubdomain\":\"%s\",\"smlSmpId\":\"%s\",\"smlClientKeyAlias\":\"%s\",\"signatureKeyAlias\":\"%s\",\"status\":2,\"smlClientCertHeader\":\"%s\"}]"; - String domainPostStr = String.format(template, domainCode, domainCode, domainCode, domainCode, domainCode, domainCode); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - log.info("Creating domain template whose xsrf :" + xsrf + " and session id: " + jsessionID); - log.info("Creating domain template whose value is :" + template); - log.info("Creating the doamainpoststring" + domainPostStr); - try { - ClientResponse getResponse = resource.path(SMPPaths.REST_POST_DOMAIN) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, domainPostStr); - log.info("Create domain return status code is:" + getResponse.getStatus()); - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - - return false; - } - - public static boolean createUser(String username, String role) { - List<NewCookie> cookies = login("SYS_ADMIN"); - String template = "[{\"active\":true,\"username\":\"%s\",\"emailAddress\":\"\",\"password\":\"QW!@qw12\",\"confirmation\":\"\",\"role\":\"%s\",\"status\":2,\"statusPassword\":2,\"certificate\":{\"subject\":\"\",\"validFrom\":null,\"validTo\":null,\"issuer\":\"\",\"serialNumber\":\"\",\"certificateId\":\"\",\"fingerprints\":\"\"}}]"; - String postStr = String.format(template, username, role); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - ClientResponse getResponse = resource.path(SMPPaths.USER_LIST) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, postStr); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static boolean createServiceGroup(String pi, String ps, List<String> usernames, List<String> domainCodes) { - String template = "[{\"id\":null,\"extensionStatus\":1,\"participantIdentifier\":\"%s\",\"participantScheme\":\"%s\",\"serviceMetadata\":[],\"users\":%s,\"serviceGroupDomains\":%s,\"extension\":\"\",\"status\":2}]"; - - try { - List<NewCookie> cookies = login("SMP_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - - JSONArray users = new JSONArray(); - for (String username : usernames) { - users.put(transformUserForSGPost(getUserForName(username, jsessionID, xsrf))); - } - - JSONArray domains = new JSONArray(); - for (String codes : domainCodes) { - domains.put(transformDomainForSGPost(getDomainForName(codes))); - } - - - String postStr = String.format(template, pi, ps, users.toString(), domains.toString()); - log.info("post str is :" + postStr); - - ClientResponse getResponse = resource.path(SMPPaths.SERVICE_GROUP) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, postStr); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static boolean createMetadata(String pi) { - String template = "{\"documentIdentifier\":\"%s\",\"documentIdentifierScheme\":\"%s\",\"smlSubdomain\":\"%s\",\"domainCode\":\"%s\",\"domainId\":%s,\"status\":2,\"xmlContentStatus\":2}"; - String xmlTemplate = "<ServiceMetadata xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\"> <ServiceInformation> <ParticipantIdentifier scheme=\"%s\">%s</ParticipantIdentifier> <DocumentIdentifier scheme=\"%s\">%s</DocumentIdentifier> <ProcessList> <Process> <ProcessIdentifier scheme=\"[enterProcessType]\">[enterProcessName]</ProcessIdentifier> <ServiceEndpointList> <Endpoint transportProfile=\"bdxr-transport-ebms3-as4-v1p0\"> <EndpointURI>https://mypage.eu</EndpointURI> <Certificate>UGFzdGUgYmFzZTY0IGVuY29kZWQgY2VydGlmaWNhdGUgb2YgQVA=</Certificate> <ServiceDescription>Service description for partners</ServiceDescription> <TechnicalContactUrl>www.best-page.eu</TechnicalContactUrl> </Endpoint> </ServiceEndpointList> </Process> </ProcessList> </ServiceInformation> </ServiceMetadata>"; - - try { - JSONObject sg = getSGforPI(pi); - JSONObject domain = sg.getJSONArray("serviceGroupDomains").getJSONObject(0); - String domainCode = domain.getString("domainCode"); - String subdomain = domain.getString("smlSubdomain"); - String domainId = domain.getString("domainId"); - String docID = Generator.randomAlphaNumeric(5); - String docscheme = Generator.randomAlphaNumeric(5); - - String xmlContent = String.format(xmlTemplate, sg.getString("participantScheme"), pi, docscheme, docID); - - String postMeta = String.format(template, docID, docscheme, subdomain, domainCode, domainId); - - sg.getJSONArray("serviceMetadata").put(new JSONObject(postMeta).put("xmlContent", xmlContent)); - sg.put("status", 1); - - - List<NewCookie> cookies = login("SMP_ADMIN"); - - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - ClientResponse getResponse = resource.path(SMPPaths.SERVICE_GROUP) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, new JSONArray().put(sg).toString()); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static String getMetadataString(String url) { - try { - - System.out.println("url = " + url); -// ------------------------------ - return client.resource(url).accept(MediaType.APPLICATION_XML).get(String.class); - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - private static JSONObject getUserForName(String username, String jsessionID, String xsrf) { - - try { - String responseRaw = resource.path(SMPPaths.USER_LIST) - .queryParam("page", "-1") - .queryParam("pageSize", "-1") - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .get(String.class); - JSONArray users = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - - for (int i = 0; i < users.length(); i++) { - JSONObject usr = users.getJSONObject(i); - if (username.equalsIgnoreCase(usr.getString("username"))) { - return usr; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - private static JSONObject getDomainForName(String domainName) { - List<NewCookie> cookies = login("SYS_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String responseRaw = resource.path(SMPPaths.REST_DOMAIN_LIST) - .queryParam("page", "-1") - .queryParam("pageSize", "-1") - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .get(String.class); - JSONArray domains = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - for (int i = 0; i < domains.length(); i++) { - JSONObject dom = domains.getJSONObject(i); - if (domainName.equalsIgnoreCase(dom.getString("domainCode"))) { - return dom; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - private static JSONObject getSGforPI(String pi) { - List<NewCookie> cookies = login("SMP_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String responseRaw = resource.path(SMPPaths.SERVICE_GROUP) - .queryParam("page", "-1") - .queryParam("pageSize", "-1") - .queryParam("participantIdentifier", pi) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .get(String.class); - JSONArray sgs = new JSONObject(responseRaw).getJSONArray("serviceEntities"); - for (int i = 0; i < sgs.length(); i++) { - JSONObject sg = sgs.getJSONObject(i); - if (pi.equalsIgnoreCase(sg.getString("participantIdentifier"))) { - return sg; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public static String getSystemInfo() { - - try { - return resource.path(SMPPaths.SYS_INFO).get(String.class); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - - public static boolean deleteDomain(String domainCode) { - List<NewCookie> cookies = login("SYS_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String domainPostStr = "[" + getDomainForName(domainCode).put("status", 3).toString() + "]"; - ClientResponse getResponse = resource.path(SMPPaths.REST_POST_DOMAIN) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, domainPostStr); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static boolean deleteUser(String username) { - List<NewCookie> cookies = login("SYS_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String putStr = "[" + getUserForName(username, jsessionID, xsrf).put("status", 3).toString() + "]"; - ClientResponse getResponse = resource.path(SMPPaths.USER_LIST) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, putStr); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - public static boolean deleteSG(String pi) { - List<NewCookie> cookies = login("SMP_ADMIN"); - HashMap<String, String> map = getCookies(cookies); - String xsrf = map.get("XSRF-TOKEN"); - String jsessionID = map.get("JSESSIONID"); - try { - String putStr = "[" + getSGforPI(pi).put("status", 3).toString() + "]"; - ClientResponse getResponse = resource.path(SMPPaths.SERVICE_GROUP) - .accept(MediaType.APPLICATION_JSON_TYPE) - .type(MediaType.APPLICATION_JSON_TYPE) - .cookie(new Cookie("JSESSIONID", jsessionID)) - .cookie(new Cookie("XSRF-TOKEN", xsrf)) - .header("X-XSRF-TOKEN", xsrf) - .put(ClientResponse.class, putStr); - - return getResponse.getStatus() == 200; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - - private static JSONObject transformUserForSGPost(JSONObject user) { - try { - String template = "{\"index\":%s,\"username\":\"%s\",\"role\":\"%s\",\"userId\":%s,\"status\":0,\"password\":null,\"passwordExpireOn\":null,\"accessTokenId\":null,\"accessTokenExpireOn\":null,\"passwordExpired\":true,\"emailAddress\":\"\",\"authorities\":null,\"active\":true,\"certificate\":null,\"statusPassword\":0,\"casAuthenticated\": false,\"forceChangeExpiredPassword\": false, \"showPasswordExpirationWarning\": false}"; - String index = user.getString("index"); - String username = user.getString("username"); - String role = user.getString("role"); - String id = user.getString("userId"); - return new JSONObject(String.format(template, index, username, role, id)); - } catch (JSONException e) { - e.printStackTrace(); - } - return null; - } - - private static JSONObject transformDomainForSGPost(JSONObject domain) { - try { - String template = "{\"domainId\":%s,\"domainCode\":\"%s\",\"smlSubdomain\":\"%s\",\"id\":null,\"smlRegistered\":false,\"serviceMetadataCount\":0,\"status\":2}"; - String domainId = domain.getString("id"); - String domainCode = domain.getString("domainCode"); - String smlSubdomain = domain.getString("smlSubdomain"); - return new JSONObject(String.format(template, domainId, domainCode, smlSubdomain)); - } catch (JSONException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/smp-ui-tests/src/main/resources/certificate/policy-test-ca.cer b/smp-ui-tests/src/main/resources/certificate/policy-test-ca.cer deleted file mode 100644 index ad46969e6..000000000 --- a/smp-ui-tests/src/main/resources/certificate/policy-test-ca.cer +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIB8TCCAVqgAwIBAgICJxAwDQYJKoZIhvcNAQELBQAwKjELMAkGA1UEAwwCQ0Ex -DjAMBgNVBAoMBWRpZ2l0MQswCQYDVQQGEwJFVTAeFw0yMjA2MDkwNjM4MDVaFw0z -MjA2MDcwNjM4MDVaMCoxCzAJBgNVBAMMAkNBMQ4wDAYDVQQKDAVkaWdpdDELMAkG -A1UEBhMCRVUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJRxv2YAv8nqGnkw -tP+cDcO8BOy/Lyw0ZoVSIV3onU4lngy4mRLNOYWN+prUk1AVEAL/I0PJdrsiMT+M -3ygTNUerhdx3C/Hft2nhUU2LvJWlEAP7cOAVy3k81v3811NDi8GcZ31qKmm92AI7 -LnKA/AdP7174oF/der5bmPCHVxl/AgMBAAGjJjAkMA8GA1UdEwEB/wQFMAMBAf8w -EQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBCwUAA4GBAET1y8rJkMMvqVWm -1eLT7l90evi8U+FLETrlEYgm8/d182HL5IEninuzwK10xVvfMmb8IURWEx5+wJgX -sPMBnX5xxQGy1vSVUnq26Clggo2UUP44z7xIxzCtaTqEKvXZNffM26geiu0QTWin -N0j9vezNtonTzfNRZdIEYe2vkl/C ------END CERTIFICATE----- diff --git a/smp-ui-tests/src/main/resources/keystore/keystore_dummy1.jks b/smp-ui-tests/src/main/resources/keystore/keystore_dummy1.jks deleted file mode 100644 index 1db3d26fb051cb0eba8d4e46b42f77fc3a5c9ca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2172 zcmcJQ=|2>T8pmfd)){+}rKynRV3y_#P3MrKh74ioG&rHmweN+on@SjIDr&4Vu4JT! z3E9G^BuhrPM#?q_CuCm^ah-GD^bgz@&x_yhdGUOn-{<*!pWXT0c>n+a+ArWgB_Hk? z7!p8n_oq<Zy{-iYQc?Sz1n~)#cL0DG07--FAmLCc11Jyz)Cb7}fnop%4KfqgmjlJq z9A>R!)@w88){53n`JZfq7havG=U#Z@)SkrONWAl~bLY|<bFl$i;^f_vPVTB*=x)h# zX3P^y0hN3q@PP67;al*ED1OddN~HJL&maQw01zvfEaLn*viv+PVz9*%I46r99hExY zc}iSOHlcJ8xiwXROS2k_-xf~RL6{Bm5_KQp_G~N>?@I4^n)o&XT!}QczIgV*Q!0JI z3H=k<<3Ym9b2E=i+2kiYtqL$vkSR?nsC_t?ZuJ`p!aD}VIW8@Y2G<(Gw?6G;@lXuR zi}_8!{ICog(W8Am&{4GcK70zgapZKG?R?vLFIF@QKrrK+`id-0+e5#@jeYt(y$WpX zg{?o_VpWB{w=G~49Gq=etqkfN?P8AX?&ulZVx+V(W*ngO0S)a(Yu;|w6jsWUyr8uB z3%D1UU?c7`R!p@$d@l>(_Oh|P%x|QiyuWDeUhX1t5yp{vxN1&9XVt)mVg~^&M6Sl* zkX|lhu|k(p`|-;fZ0hc^sK;ZFyNio>b8FM``dsv<)mJX<44ck-@zd=0FPL@l`D($b z9~RW4?TtJE>wVI_#hs2CN&I93eE9D6SMNr#AZpfuBlo{{8V80Rq|1ITEw}5>9SR8z z`c~*-m2)K>VxQmzqE?}?5}HZHn4r{dzjFSXTIwFO;P5i@X|v6dFa_&-@#d5b){BT$ znVhCV=wUil@5Uh_rU`DKbvxteee!)*tt0m?4lpcS9)GHEo{=E6=cp3ufQHexH&%F^ z1upz|`NbP6V_TP-jwciVI$ce!nx5}{5p&kFtDs96Xscto+6Hdx-4!LfV=9coa6ZDN zB9Ym%2E}9$M--C8cx{s8PTkdXuu`q(UB(}uI5et;SXgn`el9-RoJtlMc={CLv&`3M zF+cJ6*s?mGY}VrlvXC1Vo*Q_5+a|bqSiKv<i^+fAWtW@&*UuZJkSJTC{IH7L$|*$C zqJC^2P>%F{7lQcpk;DVIv;J588kS5f7KhDwb#h{zlgdggexGrRdP#26c2KFmFvO1C zIDSa3%bQyDFx>Q{MBSos(_QX}SDBWXhe$y5msGqmt?HW?Pl_E`HbqPWk&&M!1%0ZZ zE~EhVjd%05n?qq%p9_R3>uy(fqVTTy8{aJtg&42rA){pZHafVWr&TXj7cci(S#zaj z0{dO_K!D9fErmGKSZ-W%ew6~i&wV8mU&5M24SY9Ne%pgTp0?^acDKKA+9?v;3f=s( zh5I4xP%sx#lC)r^O?5HRa>2hIkAl-gLPS`DI;BY{O_~^&xsRzap$Gi6-D05m?>Vs{ zlM;=*Y@R1GwxhSkBR8{1F@B&keC9l6&e_D>oAulc-@!uIEj<1BfnOC~`z?NWsu{<A zX>xg%mwkb3ncgd|JoQYNrh_GKGJ1Ci{+?IU2oVi2q|?GnhI^DrE?vipP|(>y>8L?W z5YH`F=J-QuVlXy>_P03|kF}%i<u&*gY`;Kn+vbB)w{7~DLMRpaXQA~gS0rZ_nI(IL zsj}oJ7f5$xf^j1bmx=d>%NvE!+-r(qia}OcBDsyvSIRmrUX|r!NL$M%Eu#WN6dHc( zT!H0MMqZdh@y=6MklCi&h?Lz2W~GC_(W9FWybgcv22_+96vIi`CnfU%Si(Pu6uW4I zMVbNtV0|PFtb?S1;A}7m2m(Pa!)*tUFsP({vQ_d13<#9o2c|Ph8Yu|{J42v~Ad537 zxqW)>3n>|KOKXC)(`h0~0V(&lBP}CIv7`j}Mo_}2C<IdTZx1Y^LbA1YcRE9IGPHL* zV@NvVWcWWOBQ;fEXfzUy!l5u|Q>=-L3Jin$LH@tS(tt;QTyUTMU>Z<%|1AKeKr|o_ z(6FJRu==ZdhDo5+=M$@h=A@#u0KRK5uNs-XuBS5b9}Pp`h{JLqGh6pgv*RYatyfok zPeZK}Q*XFEvkvp&j?Z~UU!9@TWRf%<Mq>liGG+%s5vHz_f>S+5y3)Uk%ShZz&^VhS zcSh;)vBYOS5+O%5>UZ*;RPS)$*&d<<PE#E8PCZj;y%E;BgpgFM{#`cEBV_VspUeA_ zAjYdlZ&W<IZlvgz2c>YjA#IbeD?+}ube{6Z3YMZt=vbqAX$Y(p{+pwmZAU<Rxn7Do zYt64oD~_j}Ybo}N=;mogNF>-X54MonYOU1Fn){yV6IYlQ<wXP?Z7<5Np7wR$0D*x3 z;ExIIpTK@XKmeY)DCb}hPI6do+7u{Tte$UD<J9SEqpa<172S@}K%tHmlti#tJlR|} z!_ZJ{JV)w@>LJy>gAHV9_d3?54*ggb*SWCxT}d}F?$IBmr_o0<KuT`uxQzH45?J(R z+3R7DK<V={lS(|n;y8iBww@2u`h&~BwAYEDRyjfZW>H-Ku1{oP8RuAQ?X@9cb<{aM z$=p@O++yv&Lfb~KeN5&KlecPuUX}_Hb#<bu`vXRNzf3%^&|otqN4FeP<TFQ6zRD;+ zomCb}3IEHk^#I$hUOO&V(TE-w>Qc3n@K!jowU^yq<YPm~?e>S86(_;Sjb>|+Pv(-s cFAS+768CHbE$WHAPE8}sfiKf_)1w~$1;9hlbpQYW diff --git a/smp-ui-tests/src/main/resources/log4j.properties b/smp-ui-tests/src/main/resources/log4j.properties deleted file mode 100644 index 532242065..000000000 --- a/smp-ui-tests/src/main/resources/log4j.properties +++ /dev/null @@ -1,10 +0,0 @@ -# Set root logger level to DEBUG and its only appender to A1. -log4j.rootLogger=INFO, A1 - -# A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.log4j.ConsoleAppender - -# A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout -#log4j.appender.A1.layout.ConversionPattern=%d %-5p %c - %m%n -log4j.appender.A1.layout.ConversionPattern=%d %x %5p [%t] - (%c:%L) - %m%n \ No newline at end of file diff --git a/smp-ui-tests/src/main/resources/testData.json b/smp-ui-tests/src/main/resources/testData.json deleted file mode 100644 index 3598128f7..000000000 --- a/smp-ui-tests/src/main/resources/testData.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "loginUsers" : { - "SYS_ADMIN" : {"username": "system", "password":"123456"}, - "SMP_ADMIN" : {"username": "smp", "password":"123456"}, - "SG_ADMIN" : {"username": "user", "password":"123456"} - } -} \ No newline at end of file diff --git a/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java b/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java deleted file mode 100644 index f7de23995..000000000 --- a/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java +++ /dev/null @@ -1,207 +0,0 @@ -package customReporter; - -import org.apache.commons.io.FileUtils; -import org.apache.poi.ss.usermodel.*; -import org.apache.poi.xssf.usermodel.XSSFCellStyle; -import org.apache.poi.xssf.usermodel.XSSFFont; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.TakesScreenshot; -import org.openqa.selenium.WebDriver; -import org.testng.ITestContext; -import org.testng.ITestListener; -import org.testng.ITestResult; -import org.testng.annotations.Test; -import ui.BaseTest; -import utils.PROPERTIES; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class ExcelTestReporter implements ITestListener { - - private static final String[] headers = {"Type", "Test Suite Name", "Test Case ID", "Test Case Name", "Can be run on Bamboo", "TC is disabled", "Test Result", "Last Execution Started", "Execution time", "JIRA tickets", "Impact", "Comment"}; - private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static String filename; - - - @Override - /*Creates the report file, the sheet and writes the headers of the table with style as well*/ - public void onStart(ITestContext iTestContext) { - - - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH-mm"); - String dateStr = format.format(iTestContext.getStartDate()); - filename = PROPERTIES.REPORTS_FOLDER + "TestRunReport" + dateStr + ".xlsx"; - - XSSFWorkbook workbook = new XSSFWorkbook(); - Sheet sheet = workbook.createSheet("Run Report"); - - Row headerRow = sheet.createRow(0); - XSSFCellStyle headerStyle = composeCellStyle((XSSFWorkbook) sheet.getWorkbook(), "Header"); - - for (int i = 0; i < headers.length; i++) { - Cell cell = headerRow.createCell(i); - cell.setCellStyle(headerStyle); - cell.setCellValue(headers[i]); - } - - try { - FileOutputStream os = new FileOutputStream(filename); - workbook.write(os); - workbook.close(); - os.close(); - } catch (Exception e) { - e.printStackTrace(); - } - - } - - @Override - public void onFinish(ITestContext iTestContext) { - - } - - @Override - public void onTestStart(ITestResult iTestResult) { - - } - - /* Writes a row in the report file with the test id, name and Pass as status */ - @Override - public void onTestSuccess(ITestResult iTestResult) { - try { - writeRowToReportFile(iTestResult, "Pass"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /* Writes a row in the report file with the test id, name and FAIL as status*/ - @Override - public void onTestFailure(ITestResult iTestResult) { - takeScreenshot(iTestResult); - try { - writeRowToReportFile(iTestResult, "FAIL"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /* Writes a row in the report file with the test id, name and Skipped as status */ - @Override - public void onTestSkipped(ITestResult iTestResult) { - try { - writeRowToReportFile(iTestResult, "Skipped"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) { - - } - - - /* depending on the type of cell returns the desired style. The supported type are "Header", "Fail", "Pass" */ - private XSSFCellStyle composeCellStyle(XSSFWorkbook workbook, String type) { - XSSFCellStyle style = workbook.createCellStyle(); - XSSFFont font = workbook.createFont(); - font.setBold(true); - - if (type.equalsIgnoreCase("Pass")) { - style.setFillBackgroundColor(IndexedColors.BRIGHT_GREEN.getIndex()); - style.setFillForegroundColor(IndexedColors.BRIGHT_GREEN.getIndex()); - - } else if (type.equalsIgnoreCase("Fail")) { - style.setFillBackgroundColor(IndexedColors.RED.getIndex()); - style.setFillForegroundColor(IndexedColors.RED.getIndex()); - style.setFont(font); - - } else if (type.equalsIgnoreCase("Skipped")) { - style.setFillBackgroundColor(IndexedColors.WHITE.getIndex()); - style.setFillForegroundColor(IndexedColors.WHITE.getIndex()); - style.setFont(font); - - } else if (type.equalsIgnoreCase("Header")) { - style.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); - style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); - style.setFont(font); - } - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - - return style; - } - - /* Generic method to write a row in the report file with the test id, name and result */ - private void writeRowToReportFile(ITestResult iTestResult, String result) throws Exception { - - String qualifiedName = iTestResult.getMethod().getQualifiedName(); - String testType = ""; - if (qualifiedName.contains(".ui.")) { - testType = "UI"; - } - if (qualifiedName.contains(".rest.")) { - testType = "REST"; - } - - File myFile = new File(filename); - FileInputStream inputStream = new FileInputStream(myFile); - XSSFWorkbook workbook = new XSSFWorkbook(inputStream); - - Sheet reportSheet = workbook.getSheetAt(0); - int rowNum = reportSheet.getLastRowNum() + 1; - Row currentRow = reportSheet.createRow(rowNum); - - currentRow.createCell(0).setCellValue(testType); - currentRow.createCell(1).setCellValue(iTestResult.getTestContext().getSuite().getName()); - currentRow.createCell(2).setCellValue(iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Test.class).description()); - currentRow.createCell(3).setCellValue(iTestResult.getName()); - currentRow.createCell(4).setCellValue("Yes"); - currentRow.createCell(5).setCellValue(!iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Test.class).enabled()); - Cell cell = currentRow.createCell(6); - cell.setCellValue(result); - cell.setCellStyle(composeCellStyle(workbook, result)); - currentRow.createCell(7).setCellValue(sdf.format(new Date(iTestResult.getStartMillis()))); - currentRow.createCell(8).setCellValue((iTestResult.getEndMillis() - iTestResult.getStartMillis()) / 1000); - currentRow.createCell(9).setCellValue(""); - currentRow.createCell(10).setCellValue(""); - - if (iTestResult.getThrowable() != null) { - currentRow.createCell(11).setCellValue(iTestResult.getThrowable().getMessage()); - } - - - FileOutputStream os = new FileOutputStream(myFile); - workbook.write(os); - os.close(); - workbook.close(); - inputStream.close(); - - } - - - private void takeScreenshot(ITestResult result) { - - System.out.println("***** Error " + result.getName() + " test has failed *****"); - String methodName = "target/" + result.getName().toString().trim(); - - WebDriver driver = ((BaseTest) result.getInstance()).driver; - File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); - - try { - FileUtils.copyFile(scrFile, new File(methodName + ".png")); - System.out.println("***Placed screen shot in " + methodName + ".png ***"); - } catch (IOException e) { - e.printStackTrace(); - } - } - - -} diff --git a/smp-ui-tests/src/test/java/customReporter/TestProgressReporter.java b/smp-ui-tests/src/test/java/customReporter/TestProgressReporter.java deleted file mode 100644 index e46928bbb..000000000 --- a/smp-ui-tests/src/test/java/customReporter/TestProgressReporter.java +++ /dev/null @@ -1,53 +0,0 @@ -package customReporter; - -import org.apache.log4j.Logger; -import org.testng.ITestContext; -import org.testng.ITestListener; -import org.testng.ITestResult; - -public class TestProgressReporter implements ITestListener { - - - static int test_count = 0; - static int passed_count = 0; - static int failed_count = 0; - static int skipped_count = 0; - static int total_test_count = 0; - Logger log = Logger.getLogger(this.getClass()); - - @Override - public void onStart(ITestContext context) { - total_test_count = context.getSuite().getAllMethods().size(); - log.info("Tests methods to run - " + total_test_count); - } - - @Override - public void onTestSuccess(ITestResult result) { - test_count++; - passed_count++; - logTestCounts(); - } - - @Override - public void onTestFailure(ITestResult result) { - test_count++; - failed_count++; - logTestCounts(); - } - - @Override - public void onTestSkipped(ITestResult result) { - test_count++; - skipped_count++; - logTestCounts(); - } - - private void logTestCounts() { - log.info(String.format("-------- Passed - %s --------", passed_count)); - log.info(String.format("-------- Failed - %s --------", failed_count)); - log.info(String.format("-------- Skipped - %s --------", skipped_count)); - log.info(String.format("-------- Ran %s tests out of %s --------", test_count, total_test_count)); - } - - -} diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java deleted file mode 100644 index 6831cbb6c..000000000 --- a/smp-ui-tests/src/test/java/ui/BaseTest.java +++ /dev/null @@ -1,197 +0,0 @@ -package ui; - -import customReporter.ExcelTestReporter; -import customReporter.TestProgressReporter; -import org.apache.log4j.Logger; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.WebDriver; -import org.testng.annotations.*; -import pages.components.baseComponents.SMPPage; -import utils.DriverManager; -import utils.Generator; -import utils.PROPERTIES; -import utils.TestDataProvider; -import utils.rest.SMPRestClient; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -@Listeners({ExcelTestReporter.class, TestProgressReporter.class}) -public class BaseTest { - - public static WebDriver driver; - static int methodCount = 1; - 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()); - - @BeforeSuite(alwaysRun = true) - public void beforeSuite() { - - logger.info("********************** SUT Info **********************"); - - System.out.println(SMPRestClient.getSystemInfo()); - - logger.info("********************** SUT Info **********************"); - - 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); - 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; - } - -} - diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java deleted file mode 100644 index 35c656d99..000000000 --- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java +++ /dev/null @@ -1,525 +0,0 @@ -package ui; - -import org.testng.Assert; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.ConfirmationDialog; -import pages.components.baseComponents.SMPPage; -import pages.components.messageArea.AlertMessage; -import pages.domain.DomainGrid; -import pages.domain.DomainPage; -import pages.domain.DomainPopup; -import pages.domain.DomainRow; -import pages.keystore.KeyStoreEditDialog; -import pages.keystore.KeyStoreImportDialog; -import utils.Generator; -import utils.enums.SMPMessages; -import utils.rest.SMPRestClient; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class DomainPgTest extends BaseTest { - - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } - - - @BeforeMethod - public void loginAndGoToDomainPage() { - - SMPPage page = genericLoginProcedure("SYS_ADMIN"); - - logger.info("Going to Domain page"); - page.sidebar.goToPage(DomainPage.class); - } - - @Test(description = "DMN-0") - public void openDomainPage() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - DomainGrid grid = page.grid(); - DomainRow row0 = grid.getRowsInfo().get(0); - grid.doubleClickRow(0); - - DomainPopup popup = new DomainPopup(driver); - - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - - soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled"); - soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled"); - - popup.clickCancel(); - - soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row is unchanged"); - soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is not enabled"); - - soft.assertAll(); - } - - @Test(description = "DMN-10") - public void editDomain() { - - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - DomainGrid grid = page.grid(); - DomainRow row0 = grid.getRowsInfo().get(0); - grid.doubleClickRow(0); - - DomainPopup popup = new DomainPopup(driver); - - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - - soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled"); - soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled"); - - String rndString = Generator.randomAlphaNumeric(10); - popup.fillSMLSMPIdInput(rndString); - popup.clickCancel(); - - soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is not changed"); - - page.grid().doubleClickRow(0); - popup = new DomainPopup(driver); - popup.fillSMLSMPIdInput(rndString); - popup.clickOK(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertNotEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is changed"); - - page.clickSave().confirm(); - - DomainRow newRow0 = page.grid().getRowsInfo().get(0); - soft.assertNotEquals(row0, newRow0, "Row 0 is changed after save"); - soft.assertEquals(newRow0.getSmlSmpID(), rndString, "SML SMP ID is changed to the desired string"); - - soft.assertEquals(page.alertArea.getAlertMessage().getMessage(), SMPMessages.MSG_18, "Proper message displayed"); - - soft.assertAll(); - } - - - @Test(description = "DMN-20") - public void newDomain() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - - String rndString = Generator.randomAlphaNumeric(10); - - - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.clickCancel(); - - soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is NOT enabled"); - - popup = page.clickNew(); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.clickOK(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - - page.clickSave().confirm(); - - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), - "Success message is as expected"); - - List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()) { - page.pagination.goToNextPage(); - rows.addAll(page.grid().getRowsInfo()); - } - - boolean found = false; - for (DomainRow row : rows) { - if (row.getDomainCode().equalsIgnoreCase(rndString)) { - found = true; - break; - } - } - - soft.assertTrue(found, "Found new domain in the list of domains"); - - soft.assertAll(); - } - - @Test(description = "DMN-30") - public void cancelNewDomainCreation() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - - String rndString = Generator.randomAlphaNumeric(10); - - - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.waitForXMillis(1000); - popup.clickOK(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - - List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()) { - page.pagination.goToNextPage(); - rows.addAll(page.grid().getRowsInfo()); - } - - boolean found = false; - for (DomainRow row : rows) { - if (row.getDomainCode().equalsIgnoreCase(rndString)) { - found = true; - break; - } - } - - soft.assertTrue(!found, "New domain NOT in the list of domains"); - - soft.assertAll(); - } - - @Test(description = "DMN-40") - public void deleteDomain() { - String rndStr = Generator.randomAlphaNumeric(10); - SMPRestClient.createDomain(rndStr); - - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - page.refreshPage(); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - - int index = page.grid().scrollToDomain(rndStr); - - page.grid().selectRow(index); - - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row selected"); - - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled (2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - - soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present"); - - index = page.grid().scrollToDomain(rndStr); - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); - - soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete"); - - - soft.assertAll(); - } - - @Test(description = "DMN-50") - public void deleteDomainWithSG() { - - String domainName = Generator.randomAlphaNumeric(10); - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); - - String expectedErrorMess = String.format("Delete validation error Could not delete domains used by Service groups! Domain: %s (%s ) uses by:1 SG.", domainName, domainName); - - SMPRestClient.createDomain(domainName); - SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")), new ArrayList<>(Arrays.asList(domainName))); - - SoftAssert soft = new SoftAssert(); - - DomainPage page = new DomainPage(driver); - page.refreshPage(); - - int index = page.grid().scrollToDomain(domainName); - 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 domain with SG"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); - - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteDomain(domainName); - - soft.assertAll(); - } - - @Test(description = "DMN-60") - public void duplicateDomainCreation() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String errorMsg = "The Domain code already exists!"; - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String rndString = Generator.randomAlpha(10); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - soft.assertEquals(popup.getDuplicateDomainErrorMsgText(), errorMsg, "The message is not matching with our expected error message"); - soft.assertFalse(popup.isEnableOkButton(), "Ok button is enabled"); - soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled"); - popup.clickCancel(); - soft.assertAll(); - } - - @Test(description = "DMN-70") - public void onlyDomainCodeSavingMsgVerify() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - int index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - try { - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); - } catch (Exception e) { - e.printStackTrace(); - } - } - String rndString = Generator.randomAlpha(10); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - popup.clearAndFillDomainCodeInput(rndString); - soft.assertTrue(popup.isEnableOkButton(), "Ok button is disabled"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), - "Success message is as expected"); - index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - page.grid().scrollRow(index); - } - int rowNumber = index + 1; - soft.assertAll(); - } - - @Test(description = "DMN-80") - public void onlyDomainCodeAndSMLDomainSavingMsgVerify() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String rndString = Generator.randomAlphaNumeric(10); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - popup.clearAndFillDomainCodeInput(rndString); - popup.clearAndFillSMLDomainInput(rndString); - soft.assertTrue(popup.isEnableOkButton(), "Ok button is disabled"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), - "Success message is as expected"); - int index = page.grid().scrollToSmlDomain(rndString); - if (index >= 0) { - page.grid().scrollRow(index); - } - int rowNumber = index + 1; - page.grid().mouseHoverOnDomainCode(rowNumber); - soft.assertAll(); - } - - @Test(description = "DMN-90") - public void createKeyStore() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass = "test123"; - KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); - KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); - keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); - keyStoreImport.fillPassword(pass); - keyStoreImport.clickImportBtn(); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); - int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - } - soft.assertAll(); - } - - @Test(description = "DMN-100") - public void allowDuplicateKeyStore() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass = "test123"; - KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); - KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); - keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); - keyStoreImport.fillPassword(pass); - keyStoreImport.clickImportBtn(); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); - keyStoreRowBeforeAddition = keyStoreRowAfterAddition; - keyStoreImport = keyStoreEdit.clickImportKeystore(); - keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); - keyStoreImport.fillPassword(pass); - keyStoreImport.clickImportBtn(); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - keyStoreEdit = page.clickEditKeyStore(); - keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); - int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); - keyStoreRowAfterAddition = keyStoreRowAfterDeletion; - } - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); - int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - } - soft.assertAll(); - } - - @Test(description = "DMN-110") - public void mandatoryDomainIdFieldVerification() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String randstring = Generator.randomAlphaNumeric(10); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - DomainPopup popup = page.clickNew(); - popup.fillDataForNewDomain("", randstring, randstring, randstring); - soft.assertTrue(!popup.isEnableOkButton(), "Ok button is not disabled after leave domain input empty"); - soft.assertAll(); - } - - @Test(description = "DMN-120") - public void verifyInvalidSMLSMPIDField() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String randstring = Generator.randomAlpha(10); - ArrayList<String> smlsmpId = new ArrayList<>(Arrays.asList("abc@k", - "abcd-", - "-abgxknvlk", - "1qwertyuvbnm")); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - DomainPopup popup = page.clickNew(); - for (String smlsmpid : smlsmpId) { - popup.fillDataForNewDomain(randstring, randstring, smlsmpid, randstring); - soft.assertTrue(!popup.isEnableOkButton(), "OK button is enabled after sending the invalid smlsmpId"); - soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list"); - - } - soft.assertAll(); - } - - @Test(description = "DMN-130") - public void clientCertHeaderToggleTest() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - DomainPopup popup = page.clickNew(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "false", "The user toggle is on"); - popup.clickUserClientCertHeaderToggle(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "true", "The user toggle is off"); - soft.assertAll(); - } - - @Test(description = "USR-140") - public void domainVerification() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - ArrayList<String> domainCode = new ArrayList<>(Arrays.asList("sddfgf@", - "123%")); - - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - - String rndString = Generator.randomAlphaNumeric(10); - - for (String domain : domainCode) { - popup.fillDataForNewDomain(domain, rndString, rndString, rndString); - - soft.assertTrue(!popup.isEnableOkButton(), "OK button is active after sending invalid domain code"); - soft.assertEquals(popup.domainCodeValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); - } - - soft.assertAll(); - } - - @Test(description = "USR-150") - public void verifyNoOfCharcterAllowanceLimitInDomaincodeAndSMLSMPId() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String randstring = Generator.randomAlphaNumeric(10); - String string = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345678901g"; - - soft.assertTrue(page.isLoaded(), "Check that the page is not loaded"); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is not loaded"); - popup.fillDataForNewDomain(string, randstring, string, randstring); - soft.assertEquals(popup.domainCode63CharValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); - soft.assertEquals(popup.getSmlSmpId63CharValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list"); - - soft.assertAll(); - } -} diff --git a/smp-ui-tests/src/test/java/ui/EditPgTest.java b/smp-ui-tests/src/test/java/ui/EditPgTest.java deleted file mode 100644 index db0638c60..000000000 --- a/smp-ui-tests/src/test/java/ui/EditPgTest.java +++ /dev/null @@ -1,538 +0,0 @@ -package ui; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.ConfirmationDialog; -import pages.components.baseComponents.SMPPage; -import pages.service_groups.ServiceGroupGrid; -import pages.service_groups.ServiceGroupRow; -import pages.service_groups.edit.*; -import utils.Generator; -import utils.enums.SMPMessages; -import utils.rest.SMPRestClient; - -import java.util.List; - -@SuppressWarnings("SpellCheckingInspection") -public class EditPgTest extends BaseTest { - - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } - - - @BeforeMethod - public void loginAndGoToEditPage() { - - SMPPage page = genericLoginProcedure("SMP_ADMIN"); - - logger.info("Going to Edit page"); - page.sidebar.goToPage(EditPage.class); - } - - - @Test(description = "EDT-10") - public void testFilters() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupRowE row0 = page.getGrid().getRowsAs(ServiceGroupRowE.class).get(0); - String pi = row0.getParticipantIdentifier(); - String ps = row0.getParticipantScheme(); - - page.filterArea.filter(pi, ps, ""); - - List<ServiceGroupRowE> results = page.getGrid().getRowsAs(ServiceGroupRowE.class); - for (ServiceGroupRowE result : results) { - soft.assertTrue(result.getParticipantIdentifier().contains(pi), "Row matches searched participant identifier"); - soft.assertTrue(result.getParticipantScheme().contains(ps), "Row matches searched participant scheme"); - } - - page.filterArea.filter(pi.substring(2), ps.substring(2), ""); - - results = page.getGrid().getRowsAs(ServiceGroupRowE.class); - for (ServiceGroupRowE result : results) { - soft.assertTrue(result.getParticipantIdentifier().contains(pi.substring(2)), "Row matches searched participant identifier stub"); - soft.assertTrue(result.getParticipantScheme().contains(ps.substring(2)), "Row matches searched participant scheme stub"); - } - - soft.assertAll(); - } - - @Test(description = "EDT-20") - public void doubleclickRow() { - String extensionData = "<Extension xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\"><ExtensionID>df</ExtensionID><ExtensionName>sdxf</ExtensionName><!-- Custom element is mandatory by OASIS SMP schema. Replace following element with your XML structure. --><ext:example xmlns:ext=\"http://my.namespace.eu\">" + Generator.randomAlphaNumeric(10) + "</ext:example></Extension>"; - - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - String pi = row0.getParticipantIdentifier(); - grid.doubleClickRow(index); - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - - soft.assertTrue(pi.equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); - - popup.enterDataInExtensionTextArea("kjsfdfjfhskdjfhkjdhfksdjhfjksdhfjksd"); - popup.clickOK(); - soft.assertTrue(!popup.getErrorMessage().isEmpty(), "When entering wrong data you get an error message on save"); - - popup.enterDataInExtensionTextArea(extensionData); - popup.clickOK(); - - page.saveChangesAndConfirm(); - - index = scrollToSG(pi); - - page.getGrid().doubleClickRow(index); - ServiceGroupPopup popup2 = new ServiceGroupPopup(driver); - soft.assertEquals(popup2.getExtensionAreaContent(), extensionData, "Extension data is saved properly"); - - popup2.enterDataInExtensionTextArea(""); - popup2.clickCancel(); - - index = scrollToSG(pi); - - page.getGrid().doubleClickRow(index); - ServiceGroupPopup popup3 = new ServiceGroupPopup(driver); - soft.assertTrue(!popup3.getExtensionAreaContent().isEmpty(), "Extension data is NOT saved empty as expected"); - - - soft.assertAll(); - } - - @Test(description = "EDT-30") - public void editActionButtonOnRow() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - - ServiceGroupPopup popup = row0.clickEdit(); - - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); - - soft.assertAll(); - } - - @Test(description = "EDT-40") - public void editButtonOnPage() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - - soft.assertTrue(!page.isEditButtonEnabled(), "Edit button is not enabled before row is selected"); - - grid.selectRow(index); - - soft.assertTrue(page.isEditButtonEnabled(), "Edit button is active after ro is selected"); - - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - - ServiceGroupPopup popup = page.clickEdit(); - - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); - - soft.assertAll(); - } - - @Test(description = "EDT-50") - public void serviceGroupPopupUICheck() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - grid.doubleClickRow(index); - - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - - soft.assertEquals(row0.getParticipantIdentifier().trim().toLowerCase(), popup.getParticipantIdentifierValue().trim().toLowerCase(), "Popup opened for appropriate service group"); - soft.assertEquals(row0.getParticipantScheme().trim().toLowerCase(), popup.getParticipantSchemeValue().trim().toLowerCase(), "Popup opened for appropriate service group"); - soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); - - soft.assertTrue(!popup.isParticipantIdentifierInputEnabled(), "Participant Identifier field is disabled"); - soft.assertTrue(!popup.isParticipantSchemeInputEnabled(), "Participant Scheme field is disabled"); - soft.assertTrue(popup.isOwnersPanelEnabled(), "Owners panel is enabled"); - soft.assertTrue(popup.isDomainsPanelEnabled(), "Domain panel is enabled"); - - soft.assertAll(); - } - - @Test(description = "EDT-60") - public void newMetadataIcon() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - - ServiceMetadataPopup popup = row0.clickAddMetadata(); - - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - - soft.assertTrue(popup.isDocumentIdentifierEnabled()); - soft.assertTrue(popup.isDocumentSchemeEnabled()); - - soft.assertAll(); - } - - -// Cannot identify the cause of failure so move on and hope for the best - - @Test(description = "EDT-70") - public void noSYSADMINOwners() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - grid.doubleClickRow(index); - - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - - popup.waitForXMillis(5000); - - List<String> listedOptions = popup.ownersPanel.getOptions(); - List<String> sysadmins = SMPRestClient.getSysAdmins(); - - for (String sysadmin : sysadmins) { - logger.info("Checking sysadmin " + sysadmin); - for (String listedOption : listedOptions) { - if (listedOption.equalsIgnoreCase(sysadmin)) { - soft.fail("Found sysadmin between options for SG owners - " + sysadmin); - } - } - } - soft.assertAll(); - - } - - @Test(description = "EDT-80") - public void allDomainsInDomainsAccordionSection() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupGrid grid = page.getGrid(); - - Integer index = 0; - - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - grid.doubleClickRow(index); - - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - popup.domainsPanel.expandSection(); - - List<String> listedOptions = popup.domainsPanel.getOptions(); - List<String> domains = SMPRestClient.getDomainAndSubdomains(); - - for (String domain : domains) { - boolean found = false; - logger.info("Checking domain " + domain); - for (String listedOption : listedOptions) { - if (listedOption.equalsIgnoreCase(domain)) { - found = true; - } - } - soft.assertTrue(found, "Domain found in options - " + domain); - } - - - soft.assertAll(); - - } - - @Test(description = "EDT-90") - public void extensionValidatedOnOK() { - String identifier = Generator.randomAlphaNumeric(7); - String tmpSchemeRoot = Generator.randomAlphaNumeric(3).toLowerCase(); - String scheme = String.format("%s-%s-%s", tmpSchemeRoot, tmpSchemeRoot, tmpSchemeRoot); - - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupPopup popup = page.clickNew(); - popup.fillParticipantIdentifier(identifier); - popup.fillParticipantScheme(scheme); - popup.chooseFirstOwner(); - popup.chooseFirstDomain(); - popup.fillExtensionArea("invalid XML text"); - popup.clickOK(); - - soft.assertTrue(!popup.getErrorMessage().isEmpty(), "Error message displayed when entering invalid xml in extension area"); - - popup.clickClear(); - popup.generateRndExtension(); - popup.clickOK(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is now active"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is now active"); - - page.clickSave().confirm(); - - soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is now inactive after save"); - soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is now inactive after save"); - - page.filterArea.filter(identifier, scheme, ""); - soft.assertTrue(page.getGrid().getRows().get(0).getParticipantIdentifier().equalsIgnoreCase(identifier) - , "Service group was saved and is visible in search"); - - - SMPRestClient.deleteSG(identifier); - - identifier = Generator.randomAlphaNumeric(10); - - popup = page.clickNew(); - popup.fillParticipantIdentifier(identifier); - popup.fillParticipantScheme(scheme); - popup.chooseFirstOwner(); - popup.chooseFirstDomain(); - popup.clickOK(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is now active (2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is now active (2)"); - - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - - soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is now inactive after cancel"); - soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is now inactive after cancel"); - - page.filterArea.filter(identifier, scheme, ""); - soft.assertTrue(page.getGrid().getRowsNo() == 0 - , "Service group was NOT saved and is NOT visible in search"); - - soft.assertAll(); - - } - - @Test(description = "EDT-100") - public void deleteServiceGroup() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - - ServiceGroupRowE row0 = page.getGrid().getRowsAs(ServiceGroupRowE.class).get(0); - String identifier = row0.getParticipantIdentifier(); - row0.clickDelete(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is now active"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is now active"); - - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - - page.filterArea.filter(identifier, "", ""); - soft.assertTrue(page.getGrid().getRows().get(0).getParticipantIdentifier().equalsIgnoreCase(identifier) - , "Service group was not deleted and is visible in search"); - - page.refreshPage(); - ServiceGroupGrid grid = page.getGrid(); - row0 = grid.getRowsAs(ServiceGroupRowE.class).get(0); - identifier = row0.getParticipantIdentifier(); - - grid.selectRow(0); - - soft.assertTrue(page.isDeleteButtonEnabled(), "After row select Delete button is enabled"); - - page.clickDelete(); - - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is now active (2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is now active (2)"); - - page.clickSave().confirm(); - page.waitForRowsToLoad(); - - page.filterArea.filter(identifier, "", ""); - soft.assertTrue(page.getGrid().getRowsNo() == 0 - , "Service group deleted and is NOT visible in search anymore"); - - soft.assertAll(); - - } - - @Test(description = "EDT-110") - public void serviceMetadataDilogVerfication() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); - soft.assertEquals(metadataPopup.docIDFieldValue(), "", "docIDField is not empty"); - soft.assertEquals(metadataPopup.docIDSchemeFieldValue(), "", "docIDField is not empty"); - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(metadataPopup.getParticipantIdentifierValue()), "ServiceMetadata dialog opened for appropriate service group"); - soft.assertTrue(row0.getParticipantScheme().equalsIgnoreCase(metadataPopup.getParticipantSchemeValue()), "ServiceMetadata dialog opened for appropriate service group"); - metadataPopup.fillForm(generator, generator, generator); - ServiceMetadataWizardPopup metadataWizaedPopup = metadataPopup.clickMetadataWizard(); - metadataWizaedPopup.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain"); - metadataWizaedPopup.fillCerificateBox(generator); - soft.assertTrue(metadataWizaedPopup.isEnabledOkBtn(), "ok button is disabled after providing the valid data"); - metadataPopup = metadataWizaedPopup.clickOK(); - soft.assertEquals(metadataPopup.docIDFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docID field of service metadata popup doc id contain the coressponding value"); - soft.assertEquals(metadataPopup.docIDSchemeFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docIDScheme field of service metadata popup doc id scheme contain the coressponding value"); - soft.assertTrue(metadataPopup.isOKBtnEnabled(), "OK button is not enabled"); - soft.assertAll(); - - } - - @Test(description = "EDT-120") - public void verifyServicemtadataWizardDilogField() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); - metadataPopup.fillForm(generator, generator, generator); - ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); - soft.assertEquals(metadataWizard.docIDFieldValue(), generator, "document identifier field of metdata wizard popup not contain the corresponding doc id filled in sevice metadata popup"); - soft.assertEquals(metadataWizard.docIDSchemeFieldValue(), generator, "document identifier field of metdata wizard popup not contain the corresponding doc id scheme filled in sevice metadata popup"); - soft.assertAll(); - } - - @Test(description = "EDT-130") - public void verifyTransportProfile() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); - ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); - soft.assertEquals(metadataWizard.transportProfileFieldContent(), "bdxr-transport-ebms3-as4-v1p0", "The transport profile field in service metadata wizard popup not contain the default value"); - - soft.assertAll(); - } - - @Test(description = "EDT-140") - public void serviceMetadataXMLValidationRule() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - metadataPopup.fillForm(generator, generator, generator); - metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.VALID_XML_MESSAGE, "The message is not in list"); - metadataPopup.clickClearBtn(); - metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.EMPTY_XML_WARN_MESSAGE, "The message is not in list"); - metadataPopup.clickGenerateXMLBtn(); - String xml1 = metadataPopup.captureTextOfMetadataTextArea(); - String invalidxml1 = xml1 + "xcvjdvxv"; - metadataPopup.addTextToMetadataTextArea(invalidxml1); - metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.INVALID_XML_MESSAGE3, "The message error message is not in list"); - metadataPopup.clickClearBtn(); - metadataPopup.addTextToMetadataTextArea("xjvnkcfjblcf"); - metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.INVALID_XML_MESSAGE2, "The message error message is not in list"); - metadataPopup.clickClearBtn(); - - soft.assertAll(); - - } - - @Test(description = "EDT-150") - public void verifyServiceMetadataXMLClearBtn() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - Integer index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - metadataPopup.fillForm(generator, generator, generator); - soft.assertNotEquals(metadataPopup.xmlFieldVALUE(), "", "The xml field area is empty"); - metadataPopup.clickClearBtn(); - soft.assertEquals(metadataPopup.xmlFieldVALUE(), "", "The clear button did not clear the xml field"); - soft.assertAll(); - } - - @Test(description = "EDT-160") - public void verifyServiceMetadataWizardOkBtn() { - SoftAssert soft = new SoftAssert(); - EditPage page = new EditPage(driver); - String generator = Generator.randomAlphaNumeric(10); - ServiceGroupGrid grid = page.getGrid(); - grid.waitForRowsToLoad(); - int index = 0; - ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); - - - ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); - - soft.assertFalse(metadataWizard.isEnabledOkBtn(), "OK button is enabled before providing the valid data"); - metadataWizard.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain"); - metadataWizard.fillCerificateBox(generator); - soft.assertTrue(metadataWizard.isEnabledOkBtn(), "OK button is disabled after providing the valid data"); - - soft.assertAll(); - - } - - - private int scrollToSG(String pi) { - EditPage page = new EditPage(driver); - page.pagination.skipToFirstPage(); - - boolean end = false; - while (!end) { - page = new EditPage(driver); - - List<ServiceGroupRow> rows = page.getGrid().getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getParticipantIdentifier().equalsIgnoreCase(pi)) { - return i; - } - } - - if (page.pagination.hasNextPage()) { - page.pagination.goToNextPage(); - } else { - end = true; - } - } - - return -1; - } - -} diff --git a/smp-ui-tests/src/test/java/ui/LoginPgTest.java b/smp-ui-tests/src/test/java/ui/LoginPgTest.java deleted file mode 100644 index db5617e0c..000000000 --- a/smp-ui-tests/src/test/java/ui/LoginPgTest.java +++ /dev/null @@ -1,278 +0,0 @@ -package ui; - -import org.openqa.selenium.JavascriptExecutor; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.baseComponents.SMPPage; -import pages.components.messageArea.AlertMessage; -import pages.login.LoginPage; -import pages.password.PasswordChangepopup; -import pages.service_groups.search.SearchPage; -import pages.users.UsersPage; -import utils.Generator; -import utils.enums.SMPMessages; -import utils.rest.SMPRestClient; - -import java.util.HashMap; - -public class LoginPgTest extends BaseTest { - - - @AfterMethod - public void logoutAndReset() { - - logger.info("deleting cookies"); - driver.manage().deleteAllCookies(); - - try { - logger.info("clearing localstorage"); - ((JavascriptExecutor) driver).executeScript("localStorage.clear();"); - } catch (Exception e) { - logger.info("clearing localcstorage failed"); - } - - - SMPPage page = new SMPPage(driver); - logger.info("refreshing page to close all popups"); - page.refreshPage(); - - try { - if (page.pageHeader.sandwichMenu.isLoggedIn()) { - logger.info("Logout!!"); - page.pageHeader.sandwichMenu.logout(); - } - logger.info("Going to Search page"); - page.sidebar.goToPage(SearchPage.class); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Test(description = "LGN-0") - public void loginPageNavigation() { - - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - LoginPage loginPage = new LoginPage(driver); - - logger.info("Checking that login page is loaded correctly!"); - soft.assertTrue(loginPage.isLoaded(), "Login page elements are loaded!"); - - soft.assertAll(); - } - - - @Test(description = "LGN-10") - public void loginPageBuildNumberTest() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - logger.info("Check that the area for the build version is not empty"); - soft.assertFalse(loginPage.getListedSMPVersion().isEmpty(), "Check that there is something in the build number area"); - - soft.assertAll(); - } - - - @Test(description = "LGN-20") - public void loginPageDisplayTest() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - - soft.assertTrue(loginPage.isLoaded()); - - soft.assertTrue(loginPage.getTextInPasswordInput().isEmpty(), "User input is empty by default"); - soft.assertTrue(loginPage.getTextInUsernameInput().isEmpty(), "Password input is empty by default"); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible"); - - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled(), "Edit link is not visible"); - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is not visible"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is not visible"); - - soft.assertAll(); - } - - @Test(description = "LGN-30") - public void successfulLogin() { - SoftAssert soft = new SoftAssert(); - - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SYSTEM_ADMIN"); - logger.info("created user " + username); - - SMPPage page = new SMPPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - logger.info("trying to login with " + username); - LoginPage loginPage = new LoginPage(driver); - SearchPage searchPage = loginPage.login(username, "QW!@qw12"); - - soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is logged in"); - soft.assertTrue(searchPage.isLoaded(), "Search page is loaded"); - - soft.assertAll(); - } - - - // Tests that using invalid credentials leads to proper error message - @Test(description = "LGN-40") - public void unsuccessfulLogin() { - SoftAssert soft = new SoftAssert(); - - SMPPage page = new SMPPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - - loginPage.invalidLogin("invalidUsername", "nonexistentPassword"); - - AlertMessage message = loginPage.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Check message is error message"); - soft.assertEquals(message.getMessage(), SMPMessages.MSG_1, "Check the error message content"); - - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is still available in the sidebar"); - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled(), "Edit link is NOT available in the sidebar"); - - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT available in the sidebar"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT available in the sidebar"); - - - soft.assertAll(); - } - - @Test(description = "LGN-60") - public void loginButtonDisableVerification() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - LoginPage loginPage = page.pageHeader.goToLogin(); - loginPage.loginWithoutUserAndPassword(); - soft.assertTrue(loginPage.isLoginButtonEnable(), "login button is enabled"); - soft.assertAll(); - } - - @Test(description = "LGN-70") - public void verifyMenuButtonMsg() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - LoginPage loginPage = page.pageHeader.goToLogin(); - soft.assertFalse(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Menu does not contain the message 'Not logged in'"); - soft.assertAll(); - } - - @Test(description = "LGN-80") - public void verifyLoginButtonEnable() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - LoginPage loginPage = page.pageHeader.goToLogin(); - HashMap<String, String> user = testDataProvider.getUserWithRole("SYS_ADMIN"); - loginPage.fillLoginInput(user.get("username"), user.get("password")); - soft.assertFalse(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); - - soft.assertAll(); - } - - @Test(description = "LGN-90") - public void verifyRoleAfterLogin() { - SoftAssert soft = new SoftAssert(); - - SMPPage page = new SMPPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - HashMap<String, String> user = testDataProvider.getUserWithRole("SYS_ADMIN"); - SearchPage searchPage = loginPage.login(user.get("username"), user.get("password")); - soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is logged in"); - String roleName = page.pageHeader.getRoleName(); - soft.assertEquals(roleName, "System administrator", "the role doesn't contain System administrator"); - - soft.assertAll(); - } - - @Test(description = "LGN-100") - public void loggedUserPasswordDialogView() { - SoftAssert soft = new SoftAssert(); - - - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SYSTEM_ADMIN"); - logger.info("created user " + username); - - SMPPage page = new SMPPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - - logger.info("trying to login with " + username); - LoginPage loginPage = new LoginPage(driver); - SearchPage searchPage = loginPage.login(username, "QW!@qw12"); - - soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is not logged in"); - soft.assertTrue(searchPage.isLoaded(), "Search page is not loaded"); - - PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - soft.assertTrue(passPopup.isCurrentPasswordInputEnable(), "Current password input is not enabled in the password dialog for logged user"); - soft.assertTrue(passPopup.isNewPasswordInputEnable(), "New password input is not enabled in the password dialog for logged user"); - soft.assertTrue(passPopup.isConfirmPasswordInputEnable(), "Confirm password input is not enabled in the password dialog for logged user"); - - searchPage = passPopup.clickClosePasswordDialog(); - - soft.assertAll(); - - } - - - @Test(description = "LGN-100") - public void passwordChangeForLoggedUser() { - SoftAssert soft = new SoftAssert(); - String userName = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - - SMPPage page = genericLoginProcedure("SYS_ADMIN"); - SMPRestClient.createUser(userName, "SMP_ADMIN"); - logger.info("created user " + userName); - page.pageHeader.sandwichMenu.logout(); - page.pageHeader.goToLogin(); - LoginPage loginPage = new LoginPage(driver); - SearchPage searchPage = loginPage.login(userName, "QW!@qw12"); - PasswordChangepopup passDialog = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - - passDialog.waitForXMillis(1000); - - passDialog.fillDataForLoggedUser("QW!@qw12", validPass, validPass); - passDialog.clickChangedPassword(); - searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser(); - - passDialog.waitForXMillis(1000); - - soft.assertTrue(searchPage.isLoaded(), "After changing the password for a logged user the page is not redirecting to searchpage"); - SMPPage page1 = genericLoginProcedure("SYS_ADMIN"); - logger.info("Going to Users page"); - page1.sidebar.goToPage(UsersPage.class); - UsersPage usersPage = new UsersPage(driver); - soft.assertTrue(usersPage.grid().isUserListed(userName), "User is not present in the page after changing the password"); - - soft.assertAll(); - - } -} \ No newline at end of file diff --git a/smp-ui-tests/src/test/java/ui/PrivilegesTests.java b/smp-ui-tests/src/test/java/ui/PrivilegesTests.java deleted file mode 100644 index 47cc2374e..000000000 --- a/smp-ui-tests/src/test/java/ui/PrivilegesTests.java +++ /dev/null @@ -1,190 +0,0 @@ -package ui; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.baseComponents.SMPPage; -import pages.service_groups.edit.EditPage; -import pages.service_groups.edit.ServiceGroupPopup; -import pages.login.LoginPage; -import pages.service_groups.search.SearchPage; -import utils.Generator; -import utils.rest.SMPRestClient; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; - -public class PrivilegesTests extends BaseTest { - - - @AfterMethod - public void logoutAndReset(){ - genericLogoutProcedure(); - } - - @Test(description = "RGT-0") - public void anonymousUserRights(){ - logger.info("Checking rights for anonymous user"); - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - - soft.assertTrue(page.sidebar.isSearchLnkEnabled(), "Search link is visible on Search page"); - soft.assertFalse(page.sidebar.isEditLnkEnabled(), "Edit link is NOT visible on Search page"); - soft.assertFalse(page.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible on Search page"); - soft.assertFalse(page.sidebar.isUsersLnkEnabled(), "Users link is NOT visible on Search page"); - - logger.info("Going to the login page"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible on Login page"); - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled(), "Edit link is NOT visible on Login page"); - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible on Login page"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT visible on Login page"); - - soft.assertAll(); - } - - - @Test(description = "RGT-10") - public void sg_adminRights(){ - - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); - - SMPRestClient.createServiceGroup(pi, ps, - new ArrayList<>(Arrays.asList("user")), - new ArrayList<>(Arrays.asList(createdDomains.get(0))) - ); - - logger.info("Checking rights for SG_ADMIN user"); - SoftAssert soft = new SoftAssert(); - - SMPPage page = new SMPPage(driver); - logger.info("going to login"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - HashMap<String, String> user = testDataProvider.getUserWithRole("SG_ADMIN"); - - logger.info("Logging in with user " + user.get("username")); - loginPage.login(user.get("username"), user.get("password")); - - soft.assertTrue(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Check that the user is logged in"); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible after login for SG_ADMIN"); - soft.assertTrue(loginPage.sidebar.isEditLnkEnabled(), "Edit link is visible after login for SG_ADMIN"); - - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible after login for SG_ADMIN"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT visible after login for SG_ADMIN"); - -// going to check privileges on Edit page for SG_ADMIN - logger.info("Going to edit page"); - EditPage editPage = loginPage.sidebar.goToPage(EditPage.class); - soft.assertFalse(editPage.isNewButtonPresent(), "New button should not be present for SG_ADMIN"); - soft.assertFalse(editPage.isDeleteButtonPresent(), "Delete button should not be present for SG_ADMIN"); - - logger.info("opening service group popup"); - editPage.getGrid().doubleClickRow(0); - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - - soft.assertFalse(popup.isDomainsPanelEnabled(), "SG_ADMIN cannot edit a service groups DOMAINS"); - soft.assertFalse(popup.isOwnersPanelPresent(), "SG_ADMIN cannot edit a service groups OWNERS"); - popup.clickCancel(); - - logger.info("LOGOUT"); - loginPage.pageHeader.sandwichMenu.logout(); - - soft.assertFalse(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Check that the user is logged out"); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible after logout"); - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled(), "Edit link is NOT visible after logout"); - - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible after logout"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT visible after logout"); - - SMPRestClient.deleteSG(pi); - - soft.assertAll(); - } - - - @Test(description = "RGT-20") - public void sys_adminRights(){ - SoftAssert soft = new SoftAssert(); - - SMPPage page = new SMPPage(driver); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - HashMap<String, String> user = testDataProvider.getUserWithRole("SYS_ADMIN"); - loginPage.login(user.get("username"), user.get("password")); - - soft.assertTrue(loginPage.pageHeader.sandwichMenu.isLoggedIn()); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled()); - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled()); - - soft.assertTrue(loginPage.sidebar.isDomainLnkEnabled()); - soft.assertTrue(loginPage.sidebar.isUsersLnkEnabled()); - - - soft.assertAll(); - } - - - @Test(description = "RGT-30") - public void smp_adminRights(){ - logger.info("Checking rights for SMP_ADMIN user"); - SoftAssert soft = new SoftAssert(); - - SMPPage page = new SMPPage(driver); - logger.info("going to login"); - page.pageHeader.goToLogin(); - - LoginPage loginPage = new LoginPage(driver); - HashMap<String, String> user = testDataProvider.getUserWithRole("SMP_ADMIN"); - - logger.info("Logging in with user " + user.get("username")); - loginPage.login(user.get("username"), user.get("password")); - - soft.assertTrue(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Check that the user is logged in"); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible after login for SMP_ADMIN"); - soft.assertTrue(loginPage.sidebar.isEditLnkEnabled(), "Edit link is visible after login for SMP_ADMIN"); - - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible after login for SMP_ADMIN"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT visible after login for SMP_ADMIN"); - -// going to check privileges on Edit page for SMP_ADMIN - logger.info("Going to edit page"); - EditPage editPage = loginPage.sidebar.goToPage(EditPage.class); - soft.assertTrue(editPage.isNewButtonPresent(), "New button should be present for SMP_ADMIN"); - soft.assertTrue(editPage.isDeleteButtonPresent(), "Delete button should be present for SMP_ADMIN"); - - logger.info("opening service group popup"); - editPage.getGrid().doubleClickRow(0); - ServiceGroupPopup popup = new ServiceGroupPopup(driver); - - soft.assertTrue(popup.isDomainsPanelEnabled(), "SMP_ADMIN should be able to edit a service groups DOMAINS"); - soft.assertTrue(popup.isOwnersPanelEnabled(), "SMP_ADMIN should be able to edit a service groups OWNERS"); - popup.clickCancel(); - - logger.info("LOGOUT"); - loginPage.pageHeader.sandwichMenu.logout(); - - soft.assertFalse(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Check that the user is logged out"); - - soft.assertTrue(loginPage.sidebar.isSearchLnkEnabled(), "Search link is visible after logout"); - soft.assertFalse(loginPage.sidebar.isEditLnkEnabled(), "Edit link is NOT visible after logout"); - - soft.assertFalse(loginPage.sidebar.isDomainLnkEnabled(), "Domain link is NOT visible after logout"); - soft.assertFalse(loginPage.sidebar.isUsersLnkEnabled(), "Users link is NOT visible after logout"); - - soft.assertAll(); - } - - -} diff --git a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java deleted file mode 100644 index 5ac66daa0..000000000 --- a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package ui; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.baseComponents.SMPPage; -import pages.properties.PropertiesPage; -import pages.properties.PropertyPopup; -import pages.properties.PropertyRowInfo; -import pages.service_groups.edit.EditPage; -import pages.service_groups.edit.ServiceGroupPopup; -import pages.service_groups.search.SearchPage; -import utils.Generator; -import utils.enums.SMPMessages; - -public class PropertiesPgTest extends BaseTest { - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } - - - @BeforeMethod - public void loginAndGoToDomainPage() { - - SMPPage page = genericLoginProcedure("SYS_ADMIN"); - - logger.info("Going to Property page"); - page.sidebar.goToPage(PropertiesPage.class); - } - - /*@Test(description = "PROP-0")*/ - @Test(description = "PROP-0", enabled = false) - public void verifyParticipantschemeMandatoryProperty() { - - SoftAssert soft = new SoftAssert(); - String property = "identifiersBehaviour.scheme.mandatory"; - - PropertiesPage propertiesPage = new PropertiesPage(driver); - propertiesPage.propertySearch(property); - soft.assertTrue(propertiesPage.grid().rowContainPropertyName(property), "The row does not contain the searching property"); - PropertyRowInfo newRow0 = propertiesPage.grid().getRows().get(0); - - if (newRow0.getPropertyvalue().equals("true")) { - propertiesPage.grid().selectRow(0); - PropertyPopup popup = propertiesPage.clickEdit(); - propertiesPage = popup.disableCheckboxOfProperty(); - soft.assertTrue(propertiesPage.isSaveButtonEnabled(), "Save button is disbled"); - propertiesPage.clickSave().confirm(); - soft.assertTrue(propertiesPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(propertiesPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is not listed is as expected"); - } - - propertiesPage.pageHeader.sandwichMenu.logout(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - page.pageHeader.goToLogin(); - SMPPage smpPage = genericLoginProcedure("SMP_ADMIN"); - smpPage.sidebar.goToPage(EditPage.class); - EditPage editPage = new EditPage(driver); - ServiceGroupPopup servicePopup = editPage.clickNew(); - soft.assertTrue(servicePopup.isParticipantIdentifierInputEnabled(), "Participant Identifier field is disabled"); - soft.assertTrue(servicePopup.isParticipantSchemeInputEnabled(), "Participant Scheme field is disabled"); - soft.assertTrue(servicePopup.isOwnersPanelEnabled(), "Owners panel is enabled"); - soft.assertTrue(servicePopup.isDomainsPanelEnabled(), "Domain panel is enabled"); - servicePopup.fillParticipantIdentifier("sonbrat1223"); - servicePopup.chooseFirstOwner(); - servicePopup.chooseFirstDomain(); - - soft.assertTrue(servicePopup.isOKButtonEnable(), "Ok button is not enabled after creating servicegroup without scheme"); - soft.assertTrue(servicePopup.isCancelButtonEnable(), "cancel button is not enabled after creating servicegroup without scheme"); - - servicePopup.clickOK(); - - soft.assertTrue(editPage.isSaveButtonEnabled(), "Save button is not enabled after cration of servicegroup without scheme"); - soft.assertTrue(editPage.isCancelButtonEnabled(), "Cancel button is not enabled after cration of servicegroup without scheme"); - editPage.clickSave().confirm(); - ; - - soft.assertTrue(editPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is not listed is as expected"); - - soft.assertAll(); - } - - @Test(description = "PROP-10") - public void smpAlertPasswordExpiredMailSubjectAllowString() { - SoftAssert soft = new SoftAssert(); - String property = "smp.alert.password.expired.mail.subject"; - String string = Generator.randomAlphaNumeric(10); - - PropertiesPage propertiesPage = new PropertiesPage(driver); - propertiesPage.propertySearch(property); - soft.assertTrue(propertiesPage.grid().rowContainPropertyName(property), "The row does not contain the searching property"); - int index = 0; - propertiesPage.grid().selectRow(index); - PropertyPopup popup = propertiesPage.clickEdit(); - String sentence = " "; - for (int i = 0; i < 26; i++) { - sentence = sentence + string; - } - popup.editInputField(sentence); - popup.clickOK(); - soft.assertTrue(propertiesPage.getErrorMessage().equalsIgnoreCase(SMPMessages.MSG_23), "the errors message is not showing"); - popup.clickCancel(); - soft.assertAll(); - } -} diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java deleted file mode 100644 index 93f2618e8..000000000 --- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java +++ /dev/null @@ -1,391 +0,0 @@ -package ui; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.Ignore; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.baseComponents.SMPPage; -import pages.service_groups.MetadataGrid; -import pages.service_groups.MetadataRow; -import pages.service_groups.ServiceGroupRow; -import pages.service_groups.search.SearchPage; -import pages.service_groups.search.pojo.ServiceGroup; -import utils.Generator; -import utils.rest.SMPRestClient; - -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.util.Arrays; -import java.util.List; -import java.util.Set; - -public class SearchPgTest extends BaseTest { - - @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(); - - 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 enabled"); - soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty()); - soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty()); - soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains"); - - soft.assertAll(); - } - - @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(); - - 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(); - - } - - @Test(description = "SRCH-20") - public void searchGridInitialState() { - SoftAssert soft = new SoftAssert(); - - 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")); - - soft.assertAll(); - } - - @Test(description = "SRCH-30") - public void searchFilterResults() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); - -// looking for exact match - page.filters.filter(pIdentifier, pScheme, ""); - - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - - 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(); - - for (ServiceGroupRow row : rows) { - - 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.assertAll(); - } - - @Test(description = "SRCH-40") - public void openURLLink() { - SoftAssert soft = new SoftAssert(); - - 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(); - -// 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(); - } - - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - - soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(), - "Number of listed MetadataReferences in XML matches UI"); - - - soft.assertAll(); - } - - - @Test(description = "SRCH-50") - @Ignore - public void expandServiceGroupCheckMetadata() { - SoftAssert soft = new SoftAssert(); - - 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(); - -// verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - - MetadataGrid metadataGrid = row0.expandMetadata(); - - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - - 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(); - - 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); - - 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(); - } - - @Test(description = "SRCH-60") - public void collapseMetadata() { - SoftAssert soft = new SoftAssert(); - - 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); - } - } - - 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.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"); - - soft.assertAll(); - } - - @Test(description = "SRCH-70") - public void verifyOpenMetadataURL() { - SoftAssert soft = new SoftAssert(); - - 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); - } - } - - 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(); - -// verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - - MetadataGrid metadataGrid = row0.expandMetadata(); - - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - - 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(); - } - - 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(); - - metadataRow.clickURL(); - page.waitForNumberOfWindowsToBe(2); - Set<String> handleSet = driver.getWindowHandles(); - String[] handles = handleSet.toArray(new String[handleSet.size()]); - - soft.assertTrue(handles.length == 2); - - driver.switchTo().window(handles[1]); - driver.close(); - driver.switchTo().window(handles[0]); - - } - - soft.assertAll(); - } - - @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); - - 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); - - SearchPage searchPage = new SearchPage(driver); - searchPage.refreshPage(); - - 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"); - - - 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"); - - - SMPRestClient.deleteSG(participantID); - - soft.assertAll(); - } - - @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"; - - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); - - ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); - String pIdentifier = row1.getParticipantIdentifier(); - - page.filters.filter(pIdentifier, pScheme, ""); - - soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); - soft.assertAll(); - } - - @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"); - } - - } - 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"); - page.sidebar.expandingSideBar(); - 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 deleted file mode 100644 index 151763ef6..000000000 --- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java +++ /dev/null @@ -1,735 +0,0 @@ -package ui; - -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; -import pages.components.ConfirmationDialog; -import pages.components.baseComponents.SMPPage; -import pages.components.messageArea.AlertMessage; -import pages.login.LoginPage; -import pages.service_groups.search.SearchPage; -import pages.users.UserPopup; -import pages.users.UsersPage; -import utils.Generator; -import utils.TestDataProvider; -import utils.enums.SMPMessages; -import utils.rest.SMPRestClient; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class UsersPgTest extends BaseTest { - - - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } - - - @BeforeMethod - public void loginAndGoToUsersPage() { - - SMPPage page = genericLoginProcedure("SYS_ADMIN"); - - 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); - String email = "system@gmail.com"; - 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, email); - 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"); - - int index = usersPage.grid().scrollToUser(username); - - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); - - popup.clickSetOrChangePassword(); - 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)"); - - 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-10") - public void newUser() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; - - 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, email); - 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"); - 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", "smp@gmail.com"); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - - 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("#$^&*^%&$#@%@$#%$", "system@gmail.com"); - 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", "system@gmail.com"); - 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); - String email = "system@gmail.com"; - ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw", - "QWERQWERQWERQWERQWERQWERQWERQWE33")); - - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - usersPage.clickVoidSpace(); - - UserPopup popup = usersPage.clickNew(); - popup.fillDetailsForm(username, email); - 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.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass, pass, pass); - popup.clickClosePasswordDialog(); - popup.clickCancel(); - - soft.assertTrue(!popup.isChangedPasswordActive(), String.format("ChangePassword button should be disabled until valid data is filled in the popup - %s ", pass)); - } - - soft.assertAll(); - } - - @Test(description = "USR-40") - public void listedRoles() { - - ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN")); - - SoftAssert soft = new SoftAssert(); - - 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"); - - 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(); - } - - @Test(description = "USR-50") - public void deleteSYS_ADMIN() { - - 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(); - - 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.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - - - index = page.grid().scrollToUser(username); - 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.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(); - } - - @Test(description = "USR-60") - public void changeRoleSYS_ADMIN() { - - 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\""); - - soft.assertAll(); - } - - @Test(description = "USR-70") - public void changeRoleNON_SYS_ADMIN() { - - SoftAssert soft = new SoftAssert(); - - UsersPage page = new UsersPage(driver); - int index = page.grid().scrollToUserWithRole("SMP_ADMIN"); - - 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\""); - page.refreshPage(); - - int index2 = page.grid().scrollToUserWithRole("SERVICE_GROUP_ADMIN"); - - page.grid().selectRow(index2); - popup = page.clickEdit(); - - 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(); - } - - @Test(description = "USR-80") - public void deleteOWNUserRecord() { - - String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username"); - - SoftAssert soft = new SoftAssert(); - - 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"); - - soft.assertAll(); - } - - @Test(description = "USR-90") - public void deleteSMP_ADMIN() { - - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SMP_ADMIN"); - SoftAssert soft = new SoftAssert(); - - logger.info("Created username " + username); - - - 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.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - - - index = page.grid().scrollToUser(username); - 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.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(); - } - - @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(); - - UsersPage page = new UsersPage(driver); - page.refreshPage(); - page.waitForRowsToLoad(); - - 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(); - 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"); - - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - page.waitForRowsToLoad(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - - - index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - - 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.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(); - } - - @Test(description = "USR-110") - public void deleteSG_ADMINWithSG() { - - 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); - - 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); - - SoftAssert soft = new SoftAssert(); - - 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"); - - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); - - soft.assertAll(); - } - - @Test(description = "USR-120") - public void deleteSMP_ADMINWithSG() { - - 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); - - 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); - - SoftAssert soft = new SoftAssert(); - - 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"); - - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); - - soft.assertAll(); - } - - @Test(description = "USR-130") - public void duplicateUserCreation() { - SoftAssert soft = new SoftAssert(); - String userName = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; - UsersPage page = new UsersPage(driver); - - soft.assertTrue(page.isNewButtonEnabled(), "New button should be enabled"); - - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup"); - popup.fillDetailsForm(userName, email); - 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"); - - page.clickNew(); - - popup.fillDetailsForm(userName, email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - - soft.assertFalse(popup.isOKButtonActive(), "OK button is enabled 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(); - soft.assertAll(); - } - - @Test(description = "USR-140") - public void verifyPasswordDoNotMatch() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String confirmPass = "AS@!gh12fxghfnh43546"; - String email = "system@gmail.com"; - String errorMsg = "Confirm valued does not match new password!"; - String adminPass = "123456"; - SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup"); - popup.fillDetailsForm(username, email); - 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); - soft.assertTrue(!popup.isChangePasswordButtonActive(), "password change button is enabled before valid data is filled in the popup(2)"); - soft.assertTrue(!popup.isPopupChangedPasswordEnabled(), "Change password option is not disable after giving the wrong data in cofirmation password"); - soft.assertAll(); - } - - @Test(description = "USR-150") - public void verifySuspendedUserwithoutPassword() { - String username = Generator.randomAlphaNumeric(10); - String password = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; - - 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, email); - 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-160") - public void userPageUIAppearanceAndBehaviour() { - SoftAssert soft = new SoftAssert(); - - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - soft.assertTrue(page.isNewButtonEnabled(), "New button is not enabled"); - soft.assertTrue(page.isEditTruststoreButtonEnabled(), "EditTruststore Button is not enabled"); - soft.assertTrue(page.isDeleteButtonVisible(), "Delete button is not visible"); - soft.assertTrue(page.isEditButtonVisible(), "Edit button is not visible"); - soft.assertTrue(page.isSaveButtonVisible(), "Save button is not visible"); - soft.assertTrue(page.isCancelButtonVisible(), "Cancel button is not visible"); - soft.assertTrue(!page.isEditButtonEnabled(), "Edit button is enabled"); - soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is enabled"); - int index = 0; - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is not enabled after row select(2)"); - soft.assertTrue(page.isEditButtonEnabled(), "Edit button is not enabled after row select(2)"); - - - soft.assertAll(); - } - - @Test(description = "USR-170") - public void editUserUIAppearanceAndBehaviour() { - SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - String username = Generator.randomAlphaNumeric(10); - String email = "system@gmail.com"; - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username, email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled"); - - page.clickSave().confirm(); - - soft.assertTrue(!page.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - popup = page.clickEdit(); - soft.assertTrue(!popup.isUsernameFieldEnabled(), "Username field is enabled for an existing user"); - soft.assertTrue(popup.isEmailFieldEnabled(), "Email field is not enabled for an existing user"); - soft.assertTrue(popup.isRoleSelectFieldEnabled(), "Role field is not enabled for an existing user"); - soft.assertTrue(popup.isSetOrChangePassOptionBtnEnabled(), "SetOrChangePassOptionBtn field is not enabled for an existing user"); - soft.assertTrue(popup.isRegenerateAccesstokenBtnEnabled(), "Email field is not enabled for an existing user"); - soft.assertTrue(popup.isOKButtonActive(), "Ok btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isCancelButtonActive(), "Cancel btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isImportButtonActive(), "Import btn is not enabled for an existing user in user popup"); - if (page.grid().userHasCertificate(index)) { - soft.assertTrue(popup.isShowDetailsButtonActive(), "ShowDetails btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isClearButtonActive(), "Clear btn is not enabled for an existing user in user popup"); - } else { - soft.assertTrue(!popup.isShowDetailsButtonActive(), "ShowDetails btn is enabled for an existing user in user popup"); - soft.assertTrue(!popup.isClearButtonActive(), "Clear btn is enabled for an existing user in user popup"); - - } - - soft.assertAll(); - - - } - - @Test(description = "USR-180") - public void userEmailValidation() { - SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - String username = Generator.randomAlphaNumeric(10); - ArrayList<String> email = new ArrayList<>(Arrays.asList("sdfdgfdghxvfv@gmail.c", - "sdfdgfdghxvfv$gmail.com", - "hdbvsdkvdsvf")); - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - for (String emailId : email) { - popup.fillDetailsForm(username, emailId); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button is active after sending invalid email"); - soft.assertEquals(popup.userEmailValidationGetErrMsg(), SMPMessages.USER_EMAIL_VALIDATION_MESSAGE, "Message is not in the list"); - } - soft.assertAll(); - } - - -} -- GitLab