Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 3fc22270 authored by Mihai BOZ's avatar Mihai BOZ
Browse files

Pull request #29: EDELIVERY-11836 Progress on the automation of the DomiSMP UI tests Part 3

Merge in EDELIVERY/smp from EDELIVERY-11836-Progress-on-the-automation-of-the-DomiSMP-UI-tests-Part-3 to development

* commit '08bf3f92':
  fix comments
  added method to generate random value from enum, resolved other PR comments
  Added TrustorePage and TrustorePGtests - work in progress Added FileUtils class.
  Added EditDomainPage, automated DOM-03 System admin is able to Invite/Remove users from domains
  Added MembersTab for DomainPage, changed Pagination and Smallgrid to take into consideration the parent.
  Added ResourceTab, SMLIntegration tab, removed unused code, change the locators for pagination,
parents 1b529ed5 08bf3f92
No related branches found
No related tags found
No related merge requests found
Pipeline #83606 passed with warnings
Showing
with 341 additions and 39 deletions
......@@ -51,7 +51,7 @@ public class LoginPage extends DomiSMPPage {
} catch (Exception e) {
LOG.debug("Password expiration popup is not present");
throw new RuntimeException(e);
throw new RuntimeException("Password expiration popup is not present", e);
}
......
package pages;
import ddsl.dcomponents.DComponent;
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 rest.models.DomainModel;
import java.util.List;
public class SmlPage extends DComponent {
@FindBy(css = "body>pre")
private List<WebElement> dnsRecords;
public SmlPage(WebDriver driver) {
super(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this);
}
public boolean isDomainRegistered(DomainModel domainModel) {
String dnsRecord = domainModel.getSmlSmpId();
for (WebElement element : dnsRecords) {
String elementRecords = element.getText();
if (elementRecords.contains(dnsRecord)) {
return true;
}
}
return false;
}
}
package pages;
import ddsl.PageWithGrid;
import ddsl.dcomponents.Grid.SmallGrid;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TruststorePage extends PageWithGrid {
/**
* 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);
String certificateAlias = getAlertMessageAndClose();
Pattern pattern = Pattern.compile("(?<=alias \\[)(.*?)(?=\\])");
Matcher matcher = pattern.matcher(certificateAlias);
if (matcher.find()) {
String result = matcher.group(1);
return result;
}
return null;
}
}
package pages;
import ddsl.PageWithGrid;
import ddsl.dcomponents.UserDataCommonComponent;
import ddsl.dcomponents.commonComponents.UserDataCommonComponent;
import ddsl.dobjects.DButton;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
......@@ -32,7 +32,7 @@ public class UsersPage extends PageWithGrid {
}
public DButton getCreateUserBtn() {
return new DButton(driver, AddBtn);
return new DButton(driver, addBtn);
}
public String fillNewUserDataAndSave(UserModel newUserData) {
......
package pages.editDomainsPage;
import ddsl.PageWithGrid;
import org.openqa.selenium.WebDriver;
public class EditDomainsPage extends PageWithGrid {
public EditDomainsPage(WebDriver driver) {
super(driver);
}
}
package pages.ProfilePage;
package pages.profilePage;
import ddsl.PageWithGrid;
import ddsl.dcomponents.UserDataCommonComponent;
import ddsl.dcomponents.commonComponents.UserDataCommonComponent;
import org.openqa.selenium.WebDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -17,6 +17,6 @@ public class ProfilePage extends PageWithGrid {
public ProfilePage(WebDriver driver) {
super(driver);
userData = new UserDataCommonComponent(driver);
LOG.debug("Profile page has loaded");
}
}
\ No newline at end of file
package pages.ProfilePage;
package pages.profilePage;
import ddsl.dcomponents.DComponent;
import org.openqa.selenium.WebDriver;
......@@ -12,9 +12,9 @@ public class SuccesfullPasswordChangedPopup extends DComponent {
* This class is used to map the succesfull password changed dialog.
*/
@FindBy(css = "#mat-mdc-dialog-2 > div > div > app-information-dialog > div > div.panel")
WebElement message;
private WebElement message;
@FindBy(id = "closebuttondialog_id")
WebElement closeBtn;
private WebElement closeBtn;
public SuccesfullPasswordChangedPopup(WebDriver driver) {
super(driver);
......
package pages.PropertiesPage;
package pages.propertiesPage;
import ddsl.dcomponents.Grid.BasicGrid;
import org.openqa.selenium.WebDriver;
......
package pages.PropertiesPage;
package pages.propertiesPage;
import ddsl.DomiSMPPage;
import ddsl.dcomponents.ConfirmationDialog;
......@@ -19,12 +19,8 @@ public class PropertiesPage extends DomiSMPPage {
@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")
......
package pages.PropertiesPage;
package pages.propertiesPage;
import ddsl.dcomponents.DComponent;
import org.openqa.selenium.JavascriptExecutor;
......
......@@ -2,6 +2,10 @@ package rest.models;
import ddsl.enums.ResponseCertificates;
import utils.Generator;
import utils.Utils;
import static ddsl.enums.ResponseCertificates.SMP_DOMAIN_01;
import static ddsl.enums.ResponseCertificates.SMP_DOMAIN_02;
public class DomainModel {
......@@ -22,13 +26,24 @@ public class DomainModel {
public static DomainModel generatePublicDomainModelWithoutSML() {
DomainModel domainModel = new DomainModel();
domainModel.domainCode = "AUTDom" + Generator.randomAlphaNumeric(6);
domainModel.signatureKeyAlias = ResponseCertificates.getRandomCertificate();
domainModel.signatureKeyAlias = Utils.randomEnum(ResponseCertificates.values()).getName();
domainModel.visibility = "PUBLIC";
return domainModel;
}
public static DomainModel generatePublicDomainModelWithSML() {
DomainModel domainModel = new DomainModel();
domainModel.domainCode = "AUTDom" + Generator.randomAlphaNumeric(6);
domainModel.signatureKeyAlias = Utils.randomEnum(new ResponseCertificates[]{SMP_DOMAIN_01, SMP_DOMAIN_02}).getName();
domainModel.visibility = "PUBLIC";
domainModel.smlClientCertAuth = true;
domainModel.smlSubdomain = "AUTDomSML" + Generator.randomAlphaNumeric(6);
domainModel.smlSmpId = "AUTSMLSMP" + Generator.randomAlphaNumeric(4);
domainModel.smlClientKeyAlias = Utils.randomEnum(new ResponseCertificates[]{SMP_DOMAIN_01, SMP_DOMAIN_02}).getName();
return domainModel;
}
public String getSmlSmpId() {
return smlSmpId;
}
......@@ -42,7 +57,7 @@ public class DomainModel {
}
public String getVisibility() {
return visibility;
return visibility.toUpperCase();
}
public String getSmlClientKeyAlias() {
......
package utils;
import java.io.File;
public class FileUtils {
public static String getAbsolutePath(String relativePath) {
return new File(relativePath).getAbsolutePath();
}
}
......@@ -12,4 +12,6 @@ public class Generator {
return builder.toString();
}
}
......@@ -71,6 +71,12 @@ public class TestRunData {
return url;
}
public String getSMLUrl() {
String url = prop.getProperty("SML_URL");
log.debug("Opening SML " + url);
return url;
}
public Integer getTIMEOUT() {
return Integer.valueOf(prop.getProperty("SHORT_TIMEOUT_SECONDS"));
}
......
package utils;
import java.util.Random;
public class Utils {
public static <T extends Enum<?>> T randomEnum(T[] values) {
int x = new Random().nextInt(values.length);
return values[x];
}
}
......@@ -10,6 +10,7 @@ headless=false
# Test system properties
UI_BASE_URL=http://eulogin.protected.smp.local:8982/smp/ui
#UI_BASE_URL=http://localhost:8080/smp/ui
SML_URL=http://localhost:8982/edelivery-sml/listDNS
SYSTEM_ADMIN.username=system
SYSTEM_ADMIN.password=123456
ROLE_ADMIN.username=admin
......
-----BEGIN CERTIFICATE-----
MIICyjCCAbKgAwIBAgIEX3SoITANBgkqhkiG9w0BAQsFADAnMQswCQYDVQQGEwJC
RTELMAkGA1UECwwCU1QxCzAJBgNVBAMMAlRFMB4XDTIwMDkzMDE1NDUzN1oXDTIx
MDkzMDE1NDUzN1owJzELMAkGA1UEBhMCQkUxCzAJBgNVBAsMAlNUMQswCQYDVQQD
DAJURTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKPhUN8vXynyj41Y
W8S+KIYqz+9TOyaVW2blAEqc3jiN83baPBnjEqPQjnTuWGTBE4jV4rR9FGjp48z9
evhEvhoKjntzmN6UnsWELMFC6l3JgP6fci7WdEgS3gw7lgYxfbU4VNXtC4cSRbkD
vV5ccZa3EW3FzRk9PWRCL18xdh3BC/vwZ+FZ85Vv80F1PdO7gu+jPihT4lkWrZ0j
8dVUoMtwul5yXXrTR/cePJjG7jo+lamy7bIiBYxHFYq79ZbVaYfpjuhIsd83LR8u
LV3DrSFcSJ7SUPBWzEwLWh57SfnnEfy+CApufWioYgEkRoV0v6gvEO3cBRwyMenH
V4FuhncCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAHCnhGR9VlKSDmQw2j/tSwdOc
nfhctdOZNvlLzUBIPC4S4w49WtegwQEdxSN2+X/icJTJGUnnxeC3GPamH/2bOG5j
hw+5BYDYj3PfRHwvvhA/W2HwRXWdR4/WqVZhNKYI4qp1+zKV5B5oKmpy/K08aele
tlMSP4e8Pu9cABa3mhMj8oEC/DEkV44yTGphnNnKyBlCaL9vRzRJzHEzLV/RC8H2
RpJrS3m8DTUaIsp+Ysm3j+hyYlUrd4+Yt/LDuyI2ZwsyRq/leaHJe13BguUniu73
XXHsZEj9hLkTpclz7q0g38XqYiMr4bizHi02sDujpzpACo/iec8PUeB3aAsrhA==
-----END CERTIFICATE-----
package domiSMPTests.ui;
import ddsl.DomiSMPPage;
import ddsl.enums.Pages;
import ddsl.enums.ResourceTypes;
import domiSMPTests.SeleniumTest;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.Test;
import pages.DomainsPage.DomainsPage;
import pages.LoginPage;
import pages.SmlPage;
import pages.editDomainsPage.EditDomainsPage;
import rest.models.DomainModel;
import rest.models.UserModel;
public class DomainsPgTests extends SeleniumTest {
/**
* This class has the tests against Domains Page
*/
@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!");
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());
}
@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().navigateTo2(Pages.SYSTEM_SETTINGS_DOMAINS);
DomainsPage domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS);
domainsPage.getCreateDomainBtn().click();
domainsPage.fillDomainData(domainModel);
String alert = domainsPage.saveChangesAndGetMessage();
domainsPage.getDomainTab().fillDomainData(domainModel);
domainsPage.getDomainTab().saveChanges();
String alert = domainsPage.getAlertMessageAndClose();
Assert.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!");
domainsPage.getGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click();
domainsPage.getDataPanelGrid().searchValueInColumn("Domain code", domainModel.getDomainCode()).click();
domainsPage.goToTab("SML integration");
domainsPage.getSMLIntegrationTab().fillSMLIntegrationTab(domainModel);
domainsPage.getSMLIntegrationTab().saveChanges();
domainsPage.getSMLIntegrationTab().registerToSML();
domainsPage.goToTab("Resource Types");
domainsPage.getResourceTab().checkResource(ResourceTypes.getRandomResourceType());
domainsPage.getResourceTab().saveChanges();
alert = domainsPage.getAlertMessageAndClose();
Assert.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");
}
}
@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"));
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!");
//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");
//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");
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.goToTab("Members");
domainsPage.getMembersTab().changeRoleOfUser(normalUser.getUsername(), "ADMIN");
//check if user has admin rights to domain as Admin
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.assertNotNull(domainElement, "Domain found for user which doesn't have rights");
//Remove member user and check if he has access to the domain
homePage.logout();
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.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");
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");
}
@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
......@@ -6,8 +6,8 @@ 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.profilePage.ProfilePage;
import pages.propertiesPage.PropertiesPage;
import rest.models.UserModel;
import utils.Generator;
......@@ -64,7 +64,7 @@ public class ProfilePgTests extends SeleniumTest {
loginPage.login(normalUser.getUsername(), data.getNewPassword());
//Navigate to page
ProfilePage profilePage = (ProfilePage) homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
ProfilePage profilePage = homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
UserModel userNewProfileData = UserModel.generateUserProfileData();
profilePage.userData.fillUserProfileData(userNewProfileData.getEmailAddress(), userNewProfileData.getFullName(), userNewProfileData.getSmpTheme(), userNewProfileData.getSmpLocale());
......@@ -89,7 +89,7 @@ public class ProfilePgTests extends SeleniumTest {
loginPage.login(adminUser.getUsername(), data.getNewPassword());
//Navigate to page
profilePage = (ProfilePage) homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
profilePage = homePage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
UserModel adminNewProfileData = UserModel.generateUserProfileData();
profilePage.userData.fillUserProfileData(adminNewProfileData.getEmailAddress(), adminNewProfileData.getFullName(), adminNewProfileData.getSmpTheme(), adminNewProfileData.getSmpLocale());
......@@ -117,16 +117,16 @@ public class ProfilePgTests extends SeleniumTest {
LoginPage loginPage = homePage.goToLoginPage();
loginPage.login(adminUser.getUsername(), data.getNewPassword());
PropertiesPage propertiesPage = (PropertiesPage) homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_PROPERTIES);
PropertiesPage propertiesPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_PROPERTIES);
propertiesPage.propertySearch(propertyValue);
if (!propertiesPage.getPropertyValue(propertyValue).equals(newPropertyValue)) {
propertiesPage.setPropertyValue("smp.passwordPolicy.validationRegex", "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[~`!@#$%^&+=\\-_<>.,?:;*/()|\\[\\]{}'\"\\\\]).{16,35}$");
propertiesPage.save();
}
ProfilePage profilePage = (ProfilePage) propertiesPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
ProfilePage profilePage = propertiesPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
profilePage.userData.setChangePasswordBtn.click();
Assert.assertEquals(0, profilePage.userData.setChangePasswordDialog().setNewPassword(data.getNewPassword(), "Edeltest!23456789Edeltest!234567890").size(), "Could not change the password of the user");
Assert.assertEquals(0, profilePage.userData.getChangePasswordDialog().setNewPassword(data.getNewPassword(), "Edeltest!23456789Edeltest!234567890").size(), "Could not change the password of the user");
}
......@@ -135,21 +135,23 @@ public class ProfilePgTests extends SeleniumTest {
public void UserShouldBeAbleToChangeHisPassword() throws Exception {
UserModel adminUser = UserModel.generateUserWithADMINrole();
rest.users().createUser(adminUser);
DomiSMPPage homePage = new DomiSMPPage(driver);
LoginPage loginPage = homePage.goToLoginPage();
loginPage.login(adminUser.getUsername(), data.getNewPassword());
ProfilePage profilePage = (ProfilePage) loginPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
ProfilePage profilePage = loginPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
String oldLastSet = profilePage.userData.getLastSetValue();
String oldPasswordExpiresOn = profilePage.userData.getPasswordExpiresOnValue();
profilePage.userData.setChangePasswordBtn.click();
String newPass = "Edeltest!23456789Edelt" + Generator.randomAlphaNumeric(4);
Assert.assertEquals(profilePage.userData.setChangePasswordDialog().setNewPassword(data.getNewPassword(), newPass).size(), 0, "Could not change the password of the user");
Assert.assertEquals(profilePage.userData.getChangePasswordDialog().setNewPassword(data.getNewPassword(), newPass).size(), 0, "Could not change the password of the user");
loginPage.login(adminUser.getUsername(), newPass);
profilePage = (ProfilePage) loginPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
profilePage = loginPage.getSidebar().navigateTo(Pages.USER_SETTINGS_PROFILE);
//TODO wait until the lastvalue and old password fields show value as text
// Assert.assertNotSame(profilePage2.getLastSetValue(), oldLastSet, "Last set value is not reseted");
//Assert.assertNotSame(profilePage2.getPasswordExpiresOnValue(), oldPasswordExpiresOn, "Password expires on value is not reseted");
......
package domiSMPTests.ui;
import ddsl.DomiSMPPage;
import ddsl.enums.Pages;
import domiSMPTests.SeleniumTest;
import org.testng.Assert;
import org.testng.annotations.Test;
import pages.LoginPage;
import pages.TruststorePage;
import utils.FileUtils;
public class TrustorePgTests extends SeleniumTest {
//TODO work in progress
@Test(description = "TRST-01 System admin is able to import certificates")
public void SystemAdminIsAbleToImportCertificates() throws Exception {
DomiSMPPage homePage = new DomiSMPPage(driver);
LoginPage loginPage = homePage.goToLoginPage();
loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password"));
TruststorePage truststorepage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_TRUSTSTORE);
String path = FileUtils.getAbsolutePath("./src/main/resources/truststore/test.cer");
String certificateALias = truststorepage.addCertificateAndReturnAlias(path);
Assert.assertNotNull(certificateALias);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment