From 94c1d84a4948661e5f534ea98194d2fdac043dfc Mon Sep 17 00:00:00 2001 From: Mihai BOZ <Mihai.BOZ@ext.ec.europa.eu> Date: Thu, 31 Aug 2023 16:20:01 +0300 Subject: [PATCH] added KeyStore page and KeyStore tests. extracted common StorePage for similar page Keystore and Truststore renamed some methods to be more clear group pages in packages based on menulinks --- .../src/main/java/ddsl/PageWithGrid.java | 4 + .../src/main/java/ddsl/StorePage.java | 71 ++++++++++++++ .../java/ddsl/dcomponents/Grid/SmallGrid.java | 2 +- .../dcomponents/SetChangePasswordDialog.java | 2 +- .../dcomponents/SideNavigationComponent.java | 21 +++-- .../members/MembersComponent.java | 4 +- .../src/main/java/ddsl/dobjects/DSelect.java | 1 + .../main/java/ddsl/enums/KeyStoreTypes.java | 7 ++ .../EditDomainsPage.java | 2 +- .../{ => systemSettings}/TruststorePage.java | 20 +--- .../pages/{ => systemSettings}/UsersPage.java | 4 +- .../domainsPage}/DomainTab.java | 2 +- .../domainsPage}/DomainsPage.java | 2 +- .../domainsPage}/MembersTab.java | 2 +- .../domainsPage}/ResourceTab.java | 2 +- .../domainsPage}/SMLIntegrationTab.java | 2 +- .../keyStorePage/KeyStoreImportDialog.java | 57 +++++++++++ .../keyStorePage/KeystorePage.java | 17 ++++ .../propertiesPage/PropGrid.java | 2 +- .../propertiesPage/PropertiesPage.java | 2 +- .../propertiesPage/PropertyPopup.java | 29 ++++-- .../ProfilePage.java | 4 +- .../SuccesfullPasswordChangedPopup.java | 2 +- .../resources/keystore/asdasdsadasda.pkcs12 | Bin 0 -> 2087 bytes .../keystore/expired_keystore_JKS.jks | Bin 0 -> 2096 bytes .../resources/keystore/gateway_keystore.jks | Bin 0 -> 2096 bytes .../java/domiSMPTests/ui/DomainsPgTests.java | 89 +++++++++--------- .../java/domiSMPTests/ui/KeystorePgTests.java | 50 ++++++++++ .../java/domiSMPTests/ui/ProfilePgTests.java | 6 +- .../domiSMPTests/ui/PropertiesPgTests.java | 4 +- .../java/domiSMPTests/ui/TrustorePgTests.java | 16 +++- .../java/domiSMPTests/ui/UsersPgTests.java | 4 +- 32 files changed, 322 insertions(+), 108 deletions(-) create mode 100644 domiSMP-ui-tests/src/main/java/ddsl/StorePage.java create mode 100644 domiSMP-ui-tests/src/main/java/ddsl/enums/KeyStoreTypes.java rename domiSMP-ui-tests/src/main/java/pages/{editDomainsPage => administration}/EditDomainsPage.java (86%) rename domiSMP-ui-tests/src/main/java/pages/{ => systemSettings}/TruststorePage.java (63%) rename domiSMP-ui-tests/src/main/java/pages/{ => systemSettings}/UsersPage.java (98%) rename domiSMP-ui-tests/src/main/java/pages/{DomainsPage => systemSettings/domainsPage}/DomainTab.java (98%) rename domiSMP-ui-tests/src/main/java/pages/{DomainsPage => systemSettings/domainsPage}/DomainsPage.java (96%) rename domiSMP-ui-tests/src/main/java/pages/{DomainsPage => systemSettings/domainsPage}/MembersTab.java (91%) rename domiSMP-ui-tests/src/main/java/pages/{DomainsPage => systemSettings/domainsPage}/ResourceTab.java (97%) rename domiSMP-ui-tests/src/main/java/pages/{DomainsPage => systemSettings/domainsPage}/SMLIntegrationTab.java (98%) create mode 100644 domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeyStoreImportDialog.java create mode 100644 domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeystorePage.java rename domiSMP-ui-tests/src/main/java/pages/{ => systemSettings}/propertiesPage/PropGrid.java (93%) rename domiSMP-ui-tests/src/main/java/pages/{ => systemSettings}/propertiesPage/PropertiesPage.java (98%) rename domiSMP-ui-tests/src/main/java/pages/{ => systemSettings}/propertiesPage/PropertyPopup.java (80%) rename domiSMP-ui-tests/src/main/java/pages/{profilePage => userSettings}/ProfilePage.java (95%) rename domiSMP-ui-tests/src/main/java/pages/{profilePage => userSettings}/SuccesfullPasswordChangedPopup.java (97%) create mode 100644 domiSMP-ui-tests/src/main/resources/keystore/asdasdsadasda.pkcs12 create mode 100644 domiSMP-ui-tests/src/main/resources/keystore/expired_keystore_JKS.jks create mode 100644 domiSMP-ui-tests/src/main/resources/keystore/gateway_keystore.jks create mode 100644 domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java diff --git a/domiSMP-ui-tests/src/main/java/ddsl/PageWithGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/PageWithGrid.java index a4f5dad87..320cb2d3d 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/PageWithGrid.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/PageWithGrid.java @@ -33,6 +33,10 @@ public class PageWithGrid extends DomiSMPPage { PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); } + public SmallGrid getGrid() { + return new SmallGrid(driver, dataPanel); + } + public GridPagination getPagination() { return new GridPagination(driver, dataPanel); } diff --git a/domiSMP-ui-tests/src/main/java/ddsl/StorePage.java b/domiSMP-ui-tests/src/main/java/ddsl/StorePage.java new file mode 100644 index 000000000..aaf37c842 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/ddsl/StorePage.java @@ -0,0 +1,71 @@ +package ddsl; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +public class StorePage extends PageWithGrid { + /** + * Common page used for Keystore and Truststore + */ + @FindBy(id = "publicKeyType_id") + private WebElement publicKeyTypeLbl; + @FindBy(id = "alias_id") + private WebElement aliasIdLbl; + @FindBy(id = "certificateId_id") + private WebElement smpCertificateIdLbl; + @FindBy(id = "subject_id") + private WebElement subjectNameLbl; + @FindBy(css = "certificate-panel [placeholder=\"Valid from date\"]") + private WebElement validFromLbl; + @FindBy(css = "certificate-panel [placeholder=\"Valid to date\"]") + private WebElement validToLbl; + @FindBy(id = "issuer_id") + private WebElement issuerLbl; + @FindBy(id = "servialNumber_id") + private WebElement serialNumberLbl; + @FindBy(id = "clrUrl_id") + private WebElement certificateRevolcationListURLlbl; + @FindBy(css = ".smp-warning-panel span") + private WebElement smpWarningLbl; + + public StorePage(WebDriver driver) { + super(driver); + } + + public String getPublicKeyTypeLbl() { + return publicKeyTypeLbl.getText(); + } + + public String getAliasIdLbl() { + return aliasIdLbl.getText(); + } + + public String getSmpCertificateIdLbl() { + return smpCertificateIdLbl.getText(); + } + + public String getSubjectNameLbl() { + return subjectNameLbl.getText(); + } + + public String getValidFromLbl() { + return validFromLbl.getText(); + } + + public String getValidToLbl() { + return validToLbl.getText(); + } + + public String getIssuerLbl() { + return issuerLbl.getText(); + } + + public String getSerialNumberLbl() { + return serialNumberLbl.getText(); + } + + public String getCertificateRevolcationListURLlbl() { + return certificateRevolcationListURLlbl.getText(); + } +} diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java index b8487f411..c9df4660e 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java @@ -40,7 +40,7 @@ public class SmallGrid extends DComponent { return row.findElements(By.cssSelector("td")); } - public WebElement searchValueInColumn(String columnName, String value) { + public WebElement searchAndGetElementInColumn(String columnName, String value) { wait.forXMillis(100); Integer numOfPages = getGridPagination().getTotalPageNumber(); diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SetChangePasswordDialog.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SetChangePasswordDialog.java index cf2e8e841..86a677541 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SetChangePasswordDialog.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SetChangePasswordDialog.java @@ -7,7 +7,7 @@ import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import pages.profilePage.SuccesfullPasswordChangedPopup; +import pages.userSettings.SuccesfullPasswordChangedPopup; import java.util.ArrayList; import java.util.List; diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java index b05e5b7e7..9cd2d792c 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java @@ -10,12 +10,13 @@ import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import pages.DomainsPage.DomainsPage; -import pages.TruststorePage; -import pages.UsersPage; -import pages.editDomainsPage.EditDomainsPage; -import pages.profilePage.ProfilePage; -import pages.propertiesPage.PropertiesPage; +import pages.administration.EditDomainsPage; +import pages.systemSettings.TruststorePage; +import pages.systemSettings.UsersPage; +import pages.systemSettings.domainsPage.DomainsPage; +import pages.systemSettings.keyStorePage.KeystorePage; +import pages.systemSettings.propertiesPage.PropertiesPage; +import pages.userSettings.ProfilePage; import java.util.Objects; @@ -129,9 +130,11 @@ public class SideNavigationComponent extends DomiSMPPage { return (T) new DomainsPage(driver); } - // case SYSTEM_SETTINGS_KEYSTORE: - // expandSection(systemSettingsExpand); - // return new DLink(driver, keystoreLnk); + if (page == Pages.SYSTEM_SETTINGS_KEYSTORE) { + openSubmenu(systemSettingsExpand, keystoreLnk); + return (T) new KeystorePage(driver); + } + if (page == Pages.SYSTEM_SETTINGS_TRUSTSTORE) { openSubmenu(systemSettingsExpand, truststoreLnk); return (T) new TruststorePage(driver); diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/MembersComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/MembersComponent.java index 34c0292c0..3072a66ee 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/MembersComponent.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/MembersComponent.java @@ -39,14 +39,14 @@ public class MembersComponent extends DComponent { } public void removeUser(String username) throws Exception { - getMembersGrid().searchValueInColumn("Username", username).click(); + getMembersGrid().searchAndGetElementInColumn("Username", username).click(); weToDButton(removeMemberBtn).click(); ConfirmationDialog confirmationDialog = new ConfirmationDialog(driver); confirmationDialog.confirm(); } public void changeRoleOfUser(String username, String newRole) throws Exception { - getMembersGrid().searchValueInColumn("Username", username).click(); + getMembersGrid().searchAndGetElementInColumn("Username", username).click(); weToDButton(sidePanel.findElement(By.id("editButton"))).click(); getInviteMembersPopup().changeRole(newRole); diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java index 13e1bb2d6..74bc2eb6f 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dobjects/DSelect.java @@ -24,6 +24,7 @@ public class DSelect extends DObject { if (forceSelection) { select.getWrappedElement().sendKeys(Keys.ENTER); } + wait.forXMillis(10); select.selectByVisibleText(value); } diff --git a/domiSMP-ui-tests/src/main/java/ddsl/enums/KeyStoreTypes.java b/domiSMP-ui-tests/src/main/java/ddsl/enums/KeyStoreTypes.java new file mode 100644 index 000000000..1bf0d23a6 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/ddsl/enums/KeyStoreTypes.java @@ -0,0 +1,7 @@ +package ddsl.enums; + +public enum KeyStoreTypes { + PKCS12, + JKS + +} diff --git a/domiSMP-ui-tests/src/main/java/pages/editDomainsPage/EditDomainsPage.java b/domiSMP-ui-tests/src/main/java/pages/administration/EditDomainsPage.java similarity index 86% rename from domiSMP-ui-tests/src/main/java/pages/editDomainsPage/EditDomainsPage.java rename to domiSMP-ui-tests/src/main/java/pages/administration/EditDomainsPage.java index 60915be69..c59a39cbf 100644 --- a/domiSMP-ui-tests/src/main/java/pages/editDomainsPage/EditDomainsPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/EditDomainsPage.java @@ -1,4 +1,4 @@ -package pages.editDomainsPage; +package pages.administration; import ddsl.PageWithGrid; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/java/pages/TruststorePage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java similarity index 63% rename from domiSMP-ui-tests/src/main/java/pages/TruststorePage.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java index f0e2053fb..37565ccf0 100644 --- a/domiSMP-ui-tests/src/main/java/pages/TruststorePage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java @@ -1,7 +1,6 @@ -package pages; +package pages.systemSettings; -import ddsl.PageWithGrid; -import ddsl.dcomponents.Grid.SmallGrid; +import ddsl.StorePage; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -9,31 +8,18 @@ import org.openqa.selenium.support.FindBy; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class TruststorePage extends PageWithGrid { +public class TruststorePage extends StorePage { /** * Page object for the Truststorepage. This contains the locators of the page and the methods for the behaviour of the page */ - //TODO work in progress @FindBy(id = "custom-file-upload") private WebElement uploadInput; - @FindBy(id = "publicKeyType_id") - private WebElement publicKeyTypeLbl; - @FindBy(id = "alias_id") - private WebElement aliasIdLbl; - @FindBy(id = "certificateId_id") - private WebElement smpCertificateId; - @FindBy(id = "subject_id") - private WebElement subjectName; - public TruststorePage(WebDriver driver) { super(driver); } - public SmallGrid getGrid() { - return new SmallGrid(driver, dataPanel); - } public String addCertificateAndReturnAlias(String filePath) { uploadInput.sendKeys(filePath); diff --git a/domiSMP-ui-tests/src/main/java/pages/UsersPage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java similarity index 98% rename from domiSMP-ui-tests/src/main/java/pages/UsersPage.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java index d6d8ea1c9..e620cddba 100644 --- a/domiSMP-ui-tests/src/main/java/pages/UsersPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java @@ -1,4 +1,4 @@ -package pages; +package pages.systemSettings; import ddsl.PageWithGrid; import ddsl.dcomponents.commonComponents.UserDataCommonComponent; @@ -72,12 +72,10 @@ public class UsersPage extends PageWithGrid { public String getSelectedThemeValue() { return userData.getSelectedTheme(); - } public String getSelectedLocaleValue() { return userData.getSelectedLocale(); - } diff --git a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainTab.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainTab.java similarity index 98% rename from domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainTab.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainTab.java index 1253fa58e..9db932540 100644 --- a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainTab.java @@ -1,4 +1,4 @@ -package pages.DomainsPage; +package pages.systemSettings.domainsPage; import ddsl.dcomponents.DComponent; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainsPage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java similarity index 96% rename from domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainsPage.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java index 542358520..45d32effe 100644 --- a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/DomainsPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java @@ -1,4 +1,4 @@ -package pages.DomainsPage; +package pages.systemSettings.domainsPage; import ddsl.PageWithGrid; import ddsl.dobjects.DButton; diff --git a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/MembersTab.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/MembersTab.java similarity index 91% rename from domiSMP-ui-tests/src/main/java/pages/DomainsPage/MembersTab.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/MembersTab.java index 8b2bd5651..bc8b23280 100644 --- a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/MembersTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/MembersTab.java @@ -1,4 +1,4 @@ -package pages.DomainsPage; +package pages.systemSettings.domainsPage; import ddsl.dcomponents.commonComponents.members.MembersComponent; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/ResourceTab.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/ResourceTab.java similarity index 97% rename from domiSMP-ui-tests/src/main/java/pages/DomainsPage/ResourceTab.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/ResourceTab.java index 891b63733..dda2784fa 100644 --- a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/ResourceTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/ResourceTab.java @@ -1,4 +1,4 @@ -package pages.DomainsPage; +package pages.systemSettings.domainsPage; import ddsl.dcomponents.DComponent; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/SMLIntegrationTab.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/SMLIntegrationTab.java similarity index 98% rename from domiSMP-ui-tests/src/main/java/pages/DomainsPage/SMLIntegrationTab.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/SMLIntegrationTab.java index e40600c09..189097e98 100644 --- a/domiSMP-ui-tests/src/main/java/pages/DomainsPage/SMLIntegrationTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/SMLIntegrationTab.java @@ -1,4 +1,4 @@ -package pages.DomainsPage; +package pages.systemSettings.domainsPage; import ddsl.dcomponents.ConfirmationDialog; import ddsl.dcomponents.DComponent; diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeyStoreImportDialog.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeyStoreImportDialog.java new file mode 100644 index 000000000..ef14d8e8d --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeyStoreImportDialog.java @@ -0,0 +1,57 @@ +package pages.systemSettings.keyStorePage; + +import ddsl.dcomponents.DComponent; +import ddsl.enums.KeyStoreTypes; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class KeyStoreImportDialog extends DComponent { + /** + * This is the page object for the Keystore import dialog. It contains the webelements and the methods specific to the dialog. + */ + private final static Logger LOG = LoggerFactory.getLogger(KeyStoreImportDialog.class); + + @FindBy(id = "keystore-file-upload") + private WebElement importKeyStoreInput; + @FindBy(id = "keystoreFilename") + private WebElement keyStoreFileNameLbl; + @FindBy(id = "keystoretype_id") + private WebElement keyStoreTypeDdl; + @FindBy(id = "password_id") + private WebElement passwordIdInput; + @FindBy(css = "mat-dialog-actions button:first-of-type") + private WebElement importBtn; + + public KeyStoreImportDialog(WebDriver driver) { + super(driver); + PageFactory.initElements(driver, this); + + } + + public void addCertificate(String filepath, KeyStoreTypes keyStoreTypes, String password) { + try { + importKeyStoreInput.sendKeys(filepath); + weToDSelect(keyStoreTypeDdl).selectValue(keyStoreTypes.toString()); + weToDInput(passwordIdInput).fill(password); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + public void clickImport() { + try { + if (importBtn.isEnabled()) { + weToDButton(importBtn).click(); + } + } catch (Exception e) { + LOG.error("Could not press Import Keystore button", e); + throw new RuntimeException(e); + } + } +} + diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeystorePage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeystorePage.java new file mode 100644 index 000000000..fe709ba55 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/keyStorePage/KeystorePage.java @@ -0,0 +1,17 @@ +package pages.systemSettings.keyStorePage; + +import ddsl.StorePage; +import org.openqa.selenium.WebDriver; + + +public class KeystorePage extends StorePage { + + public KeystorePage(WebDriver driver) { + super(driver); + } + + public KeyStoreImportDialog clickImportkeyStoreBtn() throws Exception { + weToDButton(addBtn).click(); + return new KeyStoreImportDialog(driver); + } +} diff --git a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropGrid.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropGrid.java similarity index 93% rename from domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropGrid.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropGrid.java index 2fcbff624..68b275f5f 100644 --- a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropGrid.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropGrid.java @@ -1,4 +1,4 @@ -package pages.propertiesPage; +package pages.systemSettings.propertiesPage; import ddsl.dcomponents.Grid.BasicGrid; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertiesPage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertiesPage.java similarity index 98% rename from domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertiesPage.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertiesPage.java index 85d561f49..fc8eebe09 100644 --- a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertiesPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertiesPage.java @@ -1,4 +1,4 @@ -package pages.propertiesPage; +package pages.systemSettings.propertiesPage; import ddsl.DomiSMPPage; import ddsl.dcomponents.ConfirmationDialog; diff --git a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertyPopup.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertyPopup.java similarity index 80% rename from domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertyPopup.java rename to domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertyPopup.java index 0db1c40dd..663c2ba24 100644 --- a/domiSMP-ui-tests/src/main/java/pages/propertiesPage/PropertyPopup.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/propertiesPage/PropertyPopup.java @@ -1,7 +1,8 @@ -package pages.propertiesPage; +package pages.systemSettings.propertiesPage; import ddsl.dcomponents.DComponent; import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -52,15 +53,31 @@ public class PropertyPopup extends DComponent { } } - public PropertiesPage clickOK() throws Exception { + public void clickOK() throws Exception { LOG.info("click OK"); wait.forElementToBeClickable(popupOkBtn); weToDButton(popupOkBtn).click(); - if (!errorMessageLbl.isDisplayed()) { - wait.forElementToBeGone(popupOkBtn); - return new PropertiesPage(driver); + try { + if (!errorMessageLbl.isDisplayed()) { + wait.forElementToBeGone(popupOkBtn); + } + } catch (RuntimeException e) { + LOG.debug("No error are present"); + } + } + + public void clickOK2() throws Exception { + LOG.info("click OK"); + wait.forElementToBeClickable(popupOkBtn); + weToDButton(popupOkBtn).click(); + try { + if (!errorMessageLbl.isDisplayed()) { + wait.forElementToBeGone(popupOkBtn); + } + } catch (NoSuchElementException e) { + throw new RuntimeException(e); } - return null; + } public PropertiesPage clickCancel() { diff --git a/domiSMP-ui-tests/src/main/java/pages/profilePage/ProfilePage.java b/domiSMP-ui-tests/src/main/java/pages/userSettings/ProfilePage.java similarity index 95% rename from domiSMP-ui-tests/src/main/java/pages/profilePage/ProfilePage.java rename to domiSMP-ui-tests/src/main/java/pages/userSettings/ProfilePage.java index 918e72fa5..51572c697 100644 --- a/domiSMP-ui-tests/src/main/java/pages/profilePage/ProfilePage.java +++ b/domiSMP-ui-tests/src/main/java/pages/userSettings/ProfilePage.java @@ -1,4 +1,4 @@ -package pages.profilePage; +package pages.userSettings; import ddsl.PageWithGrid; import ddsl.dcomponents.commonComponents.UserDataCommonComponent; @@ -12,8 +12,6 @@ public class ProfilePage extends PageWithGrid { */ private final static Logger LOG = LoggerFactory.getLogger(ProfilePage.class); public UserDataCommonComponent userData; - - public ProfilePage(WebDriver driver) { super(driver); userData = new UserDataCommonComponent(driver); diff --git a/domiSMP-ui-tests/src/main/java/pages/profilePage/SuccesfullPasswordChangedPopup.java b/domiSMP-ui-tests/src/main/java/pages/userSettings/SuccesfullPasswordChangedPopup.java similarity index 97% rename from domiSMP-ui-tests/src/main/java/pages/profilePage/SuccesfullPasswordChangedPopup.java rename to domiSMP-ui-tests/src/main/java/pages/userSettings/SuccesfullPasswordChangedPopup.java index 0d88b9571..b619886ca 100644 --- a/domiSMP-ui-tests/src/main/java/pages/profilePage/SuccesfullPasswordChangedPopup.java +++ b/domiSMP-ui-tests/src/main/java/pages/userSettings/SuccesfullPasswordChangedPopup.java @@ -1,4 +1,4 @@ -package pages.profilePage; +package pages.userSettings; import ddsl.dcomponents.DComponent; import org.openqa.selenium.WebDriver; diff --git a/domiSMP-ui-tests/src/main/resources/keystore/asdasdsadasda.pkcs12 b/domiSMP-ui-tests/src/main/resources/keystore/asdasdsadasda.pkcs12 new file mode 100644 index 0000000000000000000000000000000000000000..54b16d78eac3d42387776857b95287a01effc620 GIT binary patch literal 2087 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 literal 0 HcmV?d00001 diff --git a/domiSMP-ui-tests/src/main/resources/keystore/expired_keystore_JKS.jks b/domiSMP-ui-tests/src/main/resources/keystore/expired_keystore_JKS.jks new file mode 100644 index 0000000000000000000000000000000000000000..67238a542de8c6cc42b8ee0862a0e85e16732f18 GIT binary patch literal 2096 zcmbW1X*3iH8^>qHb}eH`wsH-Vu_iMZ6qn*!BUfm~ZbDPcD6$NWGDBlz$>lYu46+W& zB)cXRjeV`5QMQm>OhVDP-h1wQ&i(v;cs~4|56}6Z|8vfdx5iro005xF0scKgmvIq+ zzSyWkPTH$!Q2_u1KyVU24=ye!qAdvI2Wo+&fItBNKZ$=i)m!aXakPm4Fl~*=s+5~O zX00>TXJWza6!j}cvSmWmXL@I--t9iGstS6L7@^H+4qiz+vV0we*%aHT4TC1QHD9@C z54?7hLtB@X`0^r~Kgf$K99`h6nO+>=ZHiu54HVS!D+LH^yPpLK^@SugQlDMNw0wvu zVP{cQ{SSmuSJzd-P8*uPU7j~F7;R05M#?;?!t?sqRP7(LrlgyMh<Z-S9Iqv%_|;lv zh^yF^Jkh|_H*eYSqIw-h^&uZ4ZpMlo4u9g}d|%VuY!^$2@3T__NLx=@yna#I>XKjU zTW2}m=Is4)mDb8AeWP=QYH_DjO*u%hR;e@FMj`k@O)(oOcPer?-pBu?Fxj$D_+cVo zcfLFIm80EQOXVO=WBMv>gIUIU%V_9^qm}o_a+8<FNUA0HsgKGB3YGYq_k!Xw3Bdus z^RSoq*5|y~CtZwmr}xk8I)4ToFoz+}TB75sp+v9-POa&v^t%N29q?kda5vNS0+Y1Z z6pkCGCCFSkvo)GjVZm}8nwP5dY*IFK)#_L?HNAfFRtH1<xe6JTKhwtbitB9LewryV zHhd*@ef!OOk5sW=ZqGrr&3($`-6epj`@6*wX^`Zl9K)Nya?hMJs<Gr|3~f~la!=82 zwl~=-rMf)qe336Ecg-+!6zXr*{~TR|i+Wv#NVr*2;4^4ip>35wsYR>tV{^UB>8LDH z#Pbv=!~CaLg_F<%%fPr*#Kb&5q+Rd>J>%1b_YFUWM+$@6BJ#7_A}2gDzkFJ8z)tIF zxpaYkHNmQ_Q+8fMz-$?tx#OZ7&pZeD3D%c&-PwZBm3k!nDlOC9c8FFsx6C(SHIasU zoCND{r?(yhbl==R__O)gOb%NY-_GzXYa7;w)K2(F=xx3?y5k4l=OCMDKPfq{w(8Oz zw<$z*U^nM90@Z8Nxd(+^OEqX}P>-VH$O(qikvV0;-~>$E@=utGFoo=vS(0AxEvFci zdhN0NZhpX*1F}bWzA8F}!2ia<J&Dn&^UlM%_7Rk2`$LzXZhC?VWfP3KcLy8#b>p_% zH49lDGKp^-&h;;O%XmV=Lp)E(Du(4omoUa%`HiNBF7AXAr!%+UEfMNdd7_m`eR9dy zC6015KiK??Xlr<<!U+ly*K6(;PQd%0&)aYB-Ku=yBl(mJam$wFJ{a;0t+UR6Bm`Gs zlgKqvcGi1gd}Y!B$e2{cC-a=EI-Il#rw1Os?bfk1in0w;l-#O{&(->J^{%8QK9d7u zGngZ@b&$v~;H{CAgOQE*LCEbqzm<?7WVV^f><>h_7V-PfK6>HU9L2o&qn|^;RG+Qm zgHXR<w1!d&+Y*J5RlFoGm44>M0bZ;k@iNpD|5WBAhRX@I*T&y>u}GxkYfA`t<p)*C zW#kMvm;0-oX?Su>s(+V|l`x&WN71P<b5k|R%0tL4z2B}<G};S~CH%mod?VQY&b?0e zZLt|<%o0q~x;1pZc`bCr%f${5O*PM=JU_Hr)%jx6W7#FKW|@DC|7ZNPHwx#ev0LXK zMC}iMN3<%C^a>zFtAAIxfdfRl8HZ+rHs(uSu@IU)?3WtNa`~!}NcVfxQ#R@DjpuS1 z8?D^9_(dP94a>Hlf_a}8qCO9tZ)|qbo00TTd=vvNSTMVT9t8ibMgjCGB>eQDEI-3Z zpigiTu&0m@1O$Qj1KfeVaIm1T7TK1(0|o*`1psh;geY8Ckk5@@P#R=mg*XD2{4a=z z2?quQ;;uyohD9SJ51o3r;}iRzbKy#IU_E^}5^jtzfE&W~J^n$&KluM0B>|!T4tMBo zJ`zv@aF|~NL;?Z<<#uTIxAv=VL6=m*C;5J4T2ix!wmSAkf{vZ>4<#3k21HisiFs#H z@l#)|k@H<7(+q1TX2Qbc&~MPa%5%{-qDSamlS}VdmiLz*$Y!j|6^PiX$8JP@@8OyU z;zVz|+DMLw7ganO`5K;kbb^SgeZF#GVPVie>E2hjxFKd+&*g-p+b4rHf~#3O;4e`o z>s`$^G?QH~OP6}eCo<uw^y6<N`_JJyHEXb$hG$?CB}G^%N_^0xfc!B2C``ySDYR<T z0u$f*?IGNzdH^eyyEx&CkGmD_vPjJz6XPw9>G#$RbvJc!S$6ur9a%U@qnTr-#ws?e zaPqxK!s}{H5FZc#{C7i#?>lS=2*`Gu2zKr~H96~DW}VQnit!V)Z<63L-P}zcIo{nZ zzO|RArcDkk8U@jdp7VSuD?!w#Xb9y#qW5J)_ApIXyR41$$9^@vG{62s<6=yw{Rzg% z@gvdw#ixTtH5#xZ;s(Zjx{Q<%XXd!nZ9LWCWz}~|fNgQ|^j%q05kwTUa2C6va&@eu zgr-2sc&bh-Z#_^W1=>=8>%6S$RUVA+i|A&h+U%u!Q3`KA-s(<o8Iin|CtaoVUahgc zo9m4lTGOAo7AldFVZ;lV4Xlqss9f5aJQKXXD-*Nt{kjM(;Fgq835~D^<v2o~Wi*_q ppEaI@DZnfj_7yTL(QC#>9${RpHp`>r>04($YOuuiT<K?p{sOSs#r^;Q literal 0 HcmV?d00001 diff --git a/domiSMP-ui-tests/src/main/resources/keystore/gateway_keystore.jks b/domiSMP-ui-tests/src/main/resources/keystore/gateway_keystore.jks new file mode 100644 index 0000000000000000000000000000000000000000..7bc7aa87a8ca3973ea7c7c65016211dd164a05bc GIT binary patch literal 2096 zcmbW1X*AS}8^`B2V}>!-p)946u}xuyF@tHfOk*h~SwglfSuP?oF`^j>xsk1eQs@$j zB#p9fX)IY9LYA>)UqW1By8idv|2g;deet~bJTIQ}J>Tb?4{w3D00M!)y94|^{I0&i z?oOVxU5*yf>Kp@spkNG>kB1R~2_As~d;l6O4ggRPACqqufta|NojI@4`p0Q@Xe%*L zv8mksTjI;xDdlW0>FxNf5q1MTOhp@v1I%v(z>_%BcA2y;-V0jJEaqEYxNbL;0!J)A zI{7Q*jUYXwV%b<YK#%C$qU00Fsh@vJPKmS=N44OokgbBg%1P{*u%@#lG8K>aPJxsY z(_!`pZN3fdylT%6C#N+*U0gIor|p_QitTf(5m2bUZDHNi$-45vNRrlti_HJy!svj> z<<FH;dCE0Yo~NS^GnyywuW?v&p$w0SUc%X#B0_uSyvNlZNQgnn7C{mparjP*fiqWa zZo_iFa^S*hwirU=xL_7)@rJ)$uh{v!!Qz`)8r|yL%Wsn`PxmQDx5=!CN_MOp8ODUn zR+LG<S>h}}x8?j=6AI{EI%!mitj+iLI1`lhvo8d=&&d8}(0K`bd}EPz@rxw-UXhKw zyb-eml~ra>)HUr74;#M>d^PUq^$zSBO~UT5RKF1N;_+6#aUZW=t+<(r)E~|mD+xz! zijJzrRnj|B9$$@?*c$71B0Ba9I+k+-Yk#_1MJoi?14#c?Z;vd`U-q1QzwKOk(ue}S z#JC$b$C4?ByscuCn{4k{dOO1(M>Ncrl)0i@WPf(OURsKcj7{aShb(pyT9_UqKUSpB zIk;ZJp~8^g@fQs)?KC&)bRE=<d9&`*phQUM!CZwpq<^h=*@?H+E*q(eoY0j^5lE%5 z7MEOg#0Nn{&Lj2sSYxAwU(T^Li@>F(d+1hcouxwFz52-I6VKpcT+_iKS<MZp(lY{| zpPar+kb0()F;AjoqY$sm^Ud%g(aX}K<_XprC_S5AC8Do#`uRl6qqG!31w)u=wv8#= zZSRXaWqSsfF5alvCL5~Z8tXEyN4i8LKbRQxjo*JAJiW*T{N+YIIf|$1<5K7uYg>WP zeZBGn<LO!cZ@9%ro)*yG#SZ~n!)l%^V=LPo$~dT3gWYVOrWxK{qiEx=`W)F79p%MH zTD>JKF!;(W5<xUmDYgH6H1UMdG&!}LkW`yv5p}dVw;-IpH#NB%-V)=Y+>VxOtU?|N zuUpFbVrqEdwcBbBYpc(-{h`~2EQzj|9LEKUox>(uXV1$DOs8!PS)Z*q!^}*s0zr44 zm$M>C<|1oT$x3x;>FVAQX$BhnN_g7$w!Sk9Z6f5{)?ch2m}~2Wa%&EiV^#dW(TnxX zdQJ3PRrU7eAczeJ6yLzMCR0LTs=fFL)wHldx-Oq|`K7tSfJ*F|y(o4jW6BW_zH%-w z%nEy-f0^=N&|%~wFVBiKULDh_hTur47svUsCJ%)zS>V)0;rl0B)cw(Kewqf<=UH!K zT^zAxt(wMEe2b*dWWX_{dm36)#MtU*aSLQmT5fQqjHuCvHJ&4N7Cn6YlB-;oFX<L( zn?rfMDFuAVu**94q%u9#QC)W~h+*aHhEhVW-T<ly-v#x*@LgCjS==+T0?}6Xx!hog zmVos;DENd88lt$Cx$fD~qX|7#G9+-#!!DQLAH~)uWe-<BZmjZh8ad}qA=F}AT5}*m z<o9v!7-ARfB{N@M`Z^pmR$OQcvW#*%Ae5I^d+uiGxKm-rQs690GYT_Y{mDs>=F!fu z3<<!F?@RVOc7I*{>%htRI;bc6)X2+yx-lAKhp4nNRDl0hy+y-g#@}j$+Nx_~ba!R> z4Z{SFVVD5>2?Pv)!F+D}@j@737#w|@e0xI}01!|RMhlC;z+n(8K9~ep-w2Dui2V-) zh2ZXP?!I1B_rMUW*sfD|cMzffI~Q|6N?211qot{Z#cE=3IJ<uk_YeNJqfFrNzr*di z8^Q!cLA&_{!At-E&Fp{AkdY_V`t&c|l>pSBYFrm_X)Car)MlS5yq#Y!ZtxQO237nU z%;!Z)Vfcrih{W^6L^=1*s^Eg=V~gwLun2h_`8W-~+@Gh+XVkSmm4B)P59tX#jUXpU zx|)#`Z~f^JluqRIuYzoc=jjg=>x4_n!5zs?-5ZUi@TwUKHDcw=kr*!tF7l=UWJPf3 za8wrY9U~m8w)tMSEvgjze9DvVkWnMQ9`T927@{S(&=<~jmi3tL$-MI1awXPcod~k{ z5nG#=vG-`n+Ts@PqHQ(+yW3>)G!ah9Y&y^nHnQ`xnNs@L+1t<`vvANa?tMX#S#XZP z<O$TzRP^;hFa!Vr|88jaeY*_-AX$$ilU~UeXOj8XobGfB`{oV~uM~=Yw3C$_3t${V z>lno9{idkt-QvHO7MYahms5{4J29$vH%M&T%60DAySe6CbLWc*K|0oo!X$8za(~Hm zVUo*Y4P{H12XgXj9CGo#<5(8mM?cjsJ{N_$uIu*>#B$Ut2%GlFEC%C7Rf3|Se6$IK z^D0(J1EPD)OJKPnGw#&$KbznWDDpHnL~f$0bMV8^VGD5+-f~;i*UX)aahvH-sy_}6 z<Gj9NW9b7pnd8G{z6U_UY@M}qL8Yu)p{dn~*IopBcvA|k!;MDQ??)QtI&@kWq0)|z nR~LC1tVUXGAbo7@L@h&^s@U^oWc?1953bXfwOV^*vM=c`WZ18% literal 0 HcmV?d00001 diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java index 696d5b092..d56c1473b 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java @@ -4,12 +4,13 @@ import ddsl.DomiSMPPage; import ddsl.enums.Pages; import domiSMPTests.SeleniumTest; import org.openqa.selenium.WebElement; -import org.testng.Assert; +import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import pages.DomainsPage.DomainsPage; +import org.testng.asserts.SoftAssert; import pages.LoginPage; import pages.SmlPage; -import pages.editDomainsPage.EditDomainsPage; +import pages.administration.EditDomainsPage; +import pages.systemSettings.domainsPage.DomainsPage; import rest.models.DomainModel; import rest.models.UserModel; @@ -18,98 +19,99 @@ public class DomainsPgTests extends SeleniumTest { /** * This class has the tests against Domains Page */ + DomiSMPPage homePage; + LoginPage loginPage; + DomainsPage domainsPage; + SoftAssert soft; + + @BeforeMethod(alwaysRun = true) + public void beforeTest() throws Exception { + soft = new SoftAssert(); + homePage = new DomiSMPPage(driver); + loginPage = homePage.goToLoginPage(); + loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); + domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); + } + @Test(description = "DOM-01 System admin is able to create Domains") public void SystemAdminIsAbleToCreateDomains() throws Exception { DomainModel domainModel = DomainModel.generatePublicDomainModelWithoutSML(); - DomiSMPPage homePage = new DomiSMPPage(driver); - - LoginPage loginPage = homePage.goToLoginPage(); - loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); - DomainsPage domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); domainsPage.getCreateDomainBtn().click(); domainsPage.getDomainTab().fillDomainData(domainModel); domainsPage.getDomainTab().saveChanges(); String alert = domainsPage.getAlertMessageAndClose(); - Assert.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); + soft.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); - domainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click(); - Assert.assertEquals(domainModel.getSignatureKeyAlias(), domainsPage.getDomainTab().getResponseSignatureCertificateSelectedValue()); - Assert.assertEquals(domainModel.getVisibility(), domainsPage.getDomainTab().getVisibilityOfDomainSelectedValue()); - Assert.assertEquals("To complete domain configuration, please select at least one resource type from the Resource Types tab", domainsPage.getDomainWarningMessage()); + domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + soft.assertEquals(domainModel.getSignatureKeyAlias(), domainsPage.getDomainTab().getResponseSignatureCertificateSelectedValue()); + soft.assertEquals(domainModel.getVisibility(), domainsPage.getDomainTab().getVisibilityOfDomainSelectedValue()); + soft.assertEquals("To complete domain configuration, please select at least one resource type from the Resource Types tab", domainsPage.getDomainWarningMessage()); + soft.assertAll(); } @Test(description = "DOM-02 System admin can integrates domain with SMP") public void SystemAdminCanIntegrateDomainWithSMP() throws Exception { DomainModel domainModel = DomainModel.generatePublicDomainModelWithSML(); - DomiSMPPage homePage = new DomiSMPPage(driver); - LoginPage loginPage = homePage.goToLoginPage(); - loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); - DomainsPage domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); domainsPage.getCreateDomainBtn().click(); domainsPage.getDomainTab().fillDomainData(domainModel); domainsPage.getDomainTab().saveChanges(); String alert = domainsPage.getAlertMessageAndClose(); - Assert.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); + soft.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); - domainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("SML integration"); domainsPage.getSMLIntegrationTab().fillSMLIntegrationTab(domainModel); domainsPage.getSMLIntegrationTab().saveChanges(); domainsPage.getSMLIntegrationTab().registerToSML(); alert = domainsPage.getAlertMessageAndClose(); - Assert.assertEquals(alert, "Domain [" + domainModel.getDomainCode() + "] registered to sml!"); + soft.assertEquals(alert, "Domain [" + domainModel.getDomainCode() + "] registered to sml!"); //Go to SML driver.get(data.getSMLUrl()); SmlPage smlPage = new SmlPage(driver); - Assert.assertTrue(smlPage.isDomainRegistered(domainModel), "Domain is not present in SML"); + soft.assertTrue(smlPage.isDomainRegistered(domainModel), "Domain is not present in SML"); + soft.assertAll(); } @Test(description = "DOM-03 System admin is able to Invite/Remove users from domains") public void SystemAdminIsAbleToInviteRemoveUsersFromDomains() throws Exception { UserModel normalUser = UserModel.generateUserWithUSERrole(); - - rest.users().createUser(normalUser); - DomainModel domainModel = DomainModel.generatePublicDomainModelWithoutSML(); - DomiSMPPage homePage = new DomiSMPPage(driver); - LoginPage loginPage = homePage.goToLoginPage(); - loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); + rest.users().createUser(normalUser); - DomainsPage domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); domainsPage.getCreateDomainBtn().click(); domainsPage.getDomainTab().fillDomainData(domainModel); domainsPage.getDomainTab().saveChanges(); String alert = domainsPage.getAlertMessageAndClose(); - Assert.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); + soft.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); //Invite user as VIEW and check if he has admin rights for domain domainsPage.goToTab("Members"); domainsPage.getMembersTab().getInviteMemberBtn().click(); domainsPage.getMembersTab().getInviteMembersPopup().selectMember(normalUser.getUsername(), "VIEWER"); - WebElement userMemberElement = domainsPage.getMembersTab().getMembersGrid().searchValueInColumn("Username", normalUser.getUsername()); - Assert.assertNotNull(userMemberElement, "Invited user not found"); + WebElement userMemberElement = domainsPage.getMembersTab().getMembersGrid().searchAndGetElementInColumn("Username", normalUser.getUsername()); + soft.assertNotNull(userMemberElement, "Invited user not found"); //check if user has admin rights to domain as VIEWER homePage.logout(); homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); EditDomainsPage editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - WebElement domainElement = editDomainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()); - Assert.assertNull(domainElement, "Domain found for user which doesn't have rights"); + WebElement domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); homePage.logout(); loginPage = homePage.goToLoginPage(); loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); - domainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("Members"); domainsPage.getMembersTab().changeRoleOfUser(normalUser.getUsername(), "ADMIN"); @@ -118,8 +120,8 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()); - Assert.assertNotNull(domainElement, "Domain found for user which doesn't have rights"); + domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + soft.assertNotNull(domainElement, "Domain found for user which doesn't have rights"); //Remove member user and check if he has access to the domain @@ -127,25 +129,22 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); - domainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("Members"); domainsPage.getMembersTab().removeUser(normalUser.getUsername()); - userMemberElement = domainsPage.getMembersTab().getMembersGrid().searchValueInColumn("Username", normalUser.getUsername()); - Assert.assertNull(userMemberElement, "Domain found for user which doesn't have rights"); + userMemberElement = domainsPage.getMembersTab().getMembersGrid().searchAndGetElementInColumn("Username", normalUser.getUsername()); + soft.assertNull(userMemberElement, "Domain found for user which doesn't have rights"); homePage.logout(); homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()); - Assert.assertNull(domainElement, "Domain found for user which doesn't have rights"); + domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); + soft.assertAll(); } - @Test(description = "DOM-03 System admin is able to Invite/Remove users from domains") - public void EditRsource() throws Exception { - - } } \ No newline at end of file diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java new file mode 100644 index 000000000..ade1185ab --- /dev/null +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java @@ -0,0 +1,50 @@ +package domiSMPTests.ui; + +import ddsl.DomiSMPPage; +import ddsl.enums.Pages; +import domiSMPTests.SeleniumTest; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import org.testng.asserts.SoftAssert; +import pages.LoginPage; +import pages.systemSettings.keyStorePage.KeyStoreImportDialog; +import pages.systemSettings.keyStorePage.KeystorePage; +import rest.models.UserModel; +import utils.FileUtils; + +public class KeystorePgTests extends SeleniumTest { + + DomiSMPPage homePage; + UserModel adminUser; + KeystorePage keystorePage; + SoftAssert soft; + + @BeforeClass(alwaysRun = true) + public void beforeClass() { + adminUser = UserModel.generateUserWithADMINrole(); + rest.users().createUser(adminUser); + } + + @BeforeMethod(alwaysRun = true) + public void beforeTest() throws Exception { + soft = new SoftAssert(); + homePage = new DomiSMPPage(driver); + LoginPage loginPage = homePage.goToLoginPage(); + loginPage.login(adminUser.getUsername(), data.getNewPassword()); + keystorePage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_KEYSTORE); + } + + //TODO: wait until the mat-select for certificate type is changed to select + @Test(description = "KEYS-02 System admin is able to import PKCS 12 Keystore") + public void SystemAdminIsAbleToImportPKCS12() throws Exception { + String path = FileUtils.getAbsolutePath("./src/main/resources/keystore/expired_keystore_JKS.jks"); + + KeyStoreImportDialog keyStoreImportDialog = keystorePage.clickImportkeyStoreBtn(); + //keyStoreImportDialog.addCertificate(path, KeyStoreTypes.JKS, "test123"); + //keyStoreImportDialog.clickImport(); + + + } + +} diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java index 6a2a64793..4cf0a1fb1 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java @@ -6,9 +6,9 @@ import domiSMPTests.SeleniumTest; import org.testng.Assert; import org.testng.annotations.Test; import pages.LoginPage; -import pages.profilePage.ProfilePage; -import pages.propertiesPage.PropertiesPage; -import pages.propertiesPage.PropertyPopup; +import pages.systemSettings.propertiesPage.PropertiesPage; +import pages.systemSettings.propertiesPage.PropertyPopup; +import pages.userSettings.ProfilePage; import rest.models.UserModel; import utils.Generator; diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java index fdb0429bf..ac82632da 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java @@ -8,8 +8,8 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; -import pages.propertiesPage.PropertiesPage; -import pages.propertiesPage.PropertyPopup; +import pages.systemSettings.propertiesPage.PropertiesPage; +import pages.systemSettings.propertiesPage.PropertyPopup; import rest.models.UserModel; import utils.Generator; diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java index 27bb41cc5..eab74a9f2 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java @@ -3,20 +3,20 @@ package domiSMPTests.ui; import ddsl.DomiSMPPage; import ddsl.enums.Pages; import domiSMPTests.SeleniumTest; -import org.testng.Assert; import org.testng.annotations.Test; +import org.testng.asserts.SoftAssert; import pages.LoginPage; -import pages.TruststorePage; +import pages.systemSettings.TruststorePage; import utils.FileUtils; public class TrustorePgTests extends SeleniumTest { - //TODO work in progress + //TODO work in progress - wait for input elements to get text @Test(description = "TRST-01 System admin is able to import certificates") public void SystemAdminIsAbleToImportCertificates() throws Exception { - + SoftAssert soft = new SoftAssert(); DomiSMPPage homePage = new DomiSMPPage(driver); LoginPage loginPage = homePage.goToLoginPage(); @@ -26,7 +26,13 @@ public class TrustorePgTests extends SeleniumTest { String path = FileUtils.getAbsolutePath("./src/main/resources/truststore/test.cer"); String certificateALias = truststorepage.addCertificateAndReturnAlias(path); - Assert.assertNotNull(certificateALias); + soft.assertNotNull(certificateALias); + // soft.assertEquals(truststorepage.getPublicKeyTypeLbl(), "RSA"); + // soft.assertEquals(truststorepage.getAliasIdLbl(), "smp_domain_02"); + + + soft.assertAll(); + } diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java index 013bfef98..3eb0429a5 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java @@ -7,7 +7,7 @@ import org.openqa.selenium.WebElement; import org.testng.Assert; import org.testng.annotations.Test; import pages.LoginPage; -import pages.UsersPage; +import pages.systemSettings.UsersPage; import rest.models.UserModel; public class UsersPgTests extends SeleniumTest { @@ -25,7 +25,7 @@ public class UsersPgTests extends SeleniumTest { usersPage.refreshPage(); // usersPage.filter(adminNewUserData.getUsername()); - WebElement newUser = usersPage.getDataPanelGrid().searchValueInColumn("Username", adminNewUserData.getUsername()); + WebElement newUser = usersPage.getDataPanelGrid().searchAndGetElementInColumn("Username", adminNewUserData.getUsername()); Assert.assertNotNull(newUser); newUser.click(); -- GitLab