Newer
Older
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.users.UserPopup;
import pages.users.UserRowInfo;
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 {
driver.manage().deleteAllCookies();
((JavascriptExecutor) driver).executeScript("localStorage.clear();");
SMPPage page = new SMPPage(driver);
page.refreshPage();
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
}
SMPPage page = new SMPPage(driver);
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
logger.info("Login!!");
page.pageHeader.goToLogin().login("SYS_ADMIN");
}
logger.info("Going to Users page");
page.sidebar.goToPage(UsersPage.class);
String username = Generator.randomAlphaNumeric(10);
String validPass = "QW!@qw12";
SoftAssert soft = new SoftAssert();
UsersPage usersPage = new UsersPage(driver);
// soft.assertTrue(usersPage.isNewButtonEnabled(), "New button should be enabled");
UserPopup popup = usersPage.clickNew();
soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup");
popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
popup.clickUserDetailsToggle();
popup.fillDetailsForm(username, validPass, validPass);
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(isUserListed(username), "User present in the page");
soft.assertAll();
}
@Test(description = "USR-20")
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.rolesSelect.selectOptionWithText("SMP_ADMIN");
popup.clickUserDetailsToggle();
popup.fillDetailsForm("tst", validPass, validPass);
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("#$^&*^%&$#@%@$#%$", validPass, validPass);
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", validPass, validPass);
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")
ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw",
// "QWERTYUIOP",
// "qwertyuiop",
// "321654987",
// "~!@#$%^&*()_",
// "~1Aa#",
"~1a#2d2dds"));
SoftAssert soft = new SoftAssert();
UsersPage usersPage = new UsersPage(driver);
for (String pass : passToValidate) {
// usersPage.refreshPage();
usersPage.clickVoidSpace();
UserPopup popup = usersPage.clickNew();
popup.rolesSelect.selectOptionWithText("SMP_ADMIN");
popup.clickUserDetailsToggle();
popup.fillDetailsForm("test11", pass, pass);
soft.assertTrue(!popup.isOKButtonActive(), String.format("OK button should be disabled until valid data is filled in the popup - %s ", pass));
soft.assertEquals(popup.getPassValidationError(), SMPMessages.PASS_POLICY_MESSAGE, String.format("Pass policy message is displayed - %s", pass));
}
soft.assertAll();
}
@Test(description = "USR-40")
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) {
found = true;
}
}
soft.assertTrue(found, "Role found in page " + expected);
}
soft.assertAll();
}
@Test(description = "USR-50")
String username = Generator.randomAlphaNumeric(10);
SMPRestClient.createUser(username, "SYSTEM_ADMIN");
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
int index = 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(isUserListed(username), "After canceling delete user is still listed");
index = 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(!isUserListed(username), "After saving deleted user is not listed");
soft.assertAll();
}
@Test(description = "USR-60")
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
int index = 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")
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
int index = 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\"");
soft.assertAll();
}
@Test(description = "USR-80")
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 = 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")
String username = Generator.randomAlphaNumeric(10);
SMPRestClient.createUser(username, "SMP_ADMIN");
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
int index = 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(isUserListed(username), "After canceling delete user is still listed");
index = 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(!isUserListed(username), "After saving deleted user is not listed");
soft.assertAll();
}
@Test(description = "USR-100")
String username = Generator.randomAlphaNumeric(10);
SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN");
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
int index = 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(isUserListed(username), "After canceling delete user is still listed");
index = 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 is as expected");
soft.assertTrue(!isUserListed(username), "After saving deleted user is not listed");
soft.assertAll();
}
@Test(description = "USR-110")
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)))
log.info("Created username " + username);
log.info("Created service group " + pi);
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
int index = 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")
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)))
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
int index = 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);
boolean end = false;
UsersPage page = new UsersPage(driver);
page.pagination.skipToFirstPage();
while (!end) {
page = new UsersPage(driver);
List<UserRowInfo> rows = page.grid().getRows();
for (UserRowInfo row : rows) {
}
return false;
}
UsersPage page = new UsersPage(driver);
page.pagination.skipToFirstPage();
boolean end = false;
while (!end) {
page = new UsersPage(driver);
List<UserRowInfo> rows = page.grid().getRows();
for (int i = 0; i < rows.size(); i++) {
if (rows.get(i).getUsername().equalsIgnoreCase(username)) {
UsersPage page = new UsersPage(driver);
page.pagination.skipToFirstPage();
boolean end = false;
while (!end) {
page = new UsersPage(driver);
List<UserRowInfo> rows = page.grid().getRows();
for (int i = 0; i < rows.size(); i++) {