From 81b143d17c3748933199e5e8ed382d6daf532d70 Mon Sep 17 00:00:00 2001 From: monhaso <sonali.mohanty@ext.ec.europa.eu> Date: Thu, 12 May 2022 13:25:07 +0200 Subject: [PATCH] 1)Rest endpoint changes. 2)Login failed message changed. 3)User retriving process changed during create service. 4)Null pointer exception handled during driver closing. 5)Reduce the zoom efect during initiation of driver. 6)Some modification done in ScrollToUserWithRole since it was not reaching the last page for searching. --- .../src/main/java/pages/users/UsersGrid.java | 22 +++++++------- .../src/main/java/utils/DriverManager.java | 10 ++++--- .../main/java/utils/enums/SMPMessages.java | 2 +- .../src/main/java/utils/rest/SMPPaths.java | 12 ++++---- .../main/java/utils/rest/SMPRestClient.java | 29 ++++++++----------- smp-ui-tests/src/test/java/ui/BaseTest.java | 10 +++++-- .../src/test/java/ui/DomainPgTest.java | 2 +- 7 files changed, 45 insertions(+), 42 deletions(-) diff --git a/smp-ui-tests/src/main/java/pages/users/UsersGrid.java b/smp-ui-tests/src/main/java/pages/users/UsersGrid.java index 0e4152495..f83fc1d0d 100644 --- a/smp-ui-tests/src/main/java/pages/users/UsersGrid.java +++ b/smp-ui-tests/src/main/java/pages/users/UsersGrid.java @@ -72,25 +72,25 @@ public class UsersGrid extends BasicGrid { public int scrollToUserWithRole(String role) { PaginationControls pagination = new PaginationControls(driver); pagination.skipToFirstPage(); + List<UserRowInfo> rows; + int count = 0; do { - - List<UserRowInfo> rows = getRows(); + 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++; - try { - pagination.goToNextPage(); - } catch (Exception e) { - } - - } while (pagination.hasNextPage()); - - return -1; + } while (pagination.hasNextPage()); + return -1; + } } -} + diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java index 3f29d60ea..6dc8ac2ab 100644 --- a/smp-ui-tests/src/main/java/utils/DriverManager.java +++ b/smp-ui-tests/src/main/java/utils/DriverManager.java @@ -4,6 +4,7 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxDriverLogLevel; import org.openqa.selenium.firefox.FirefoxOptions; +import org.openqa.selenium.firefox.FirefoxProfile; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -26,10 +27,11 @@ public class DriverManager { public static WebDriver getDriver(){ System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"true"); // System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt"); - - - - WebDriver driver = new FirefoxDriver(); + FirefoxOptions options = new FirefoxOptions(); + FirefoxProfile profile= new FirefoxProfile(); + profile.setPreference( "layout.css.devPixelsPerPx", "0.8" ); + options.setProfile(profile); + WebDriver driver = new FirefoxDriver(options); driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(2, TimeUnit.SECONDS); diff --git a/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java b/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java index ce4c9fbf9..ff8ab31f6 100644 --- a/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java +++ b/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java @@ -6,7 +6,7 @@ import java.util.Map; public class SMPMessages { - public static final String MSG_1 = "The username/password combination you provided are not valid. Please try again or contact your administrator."; + 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" + diff --git a/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java b/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java index 889c09181..de66f5615 100644 --- a/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java +++ b/smp-ui-tests/src/main/java/utils/rest/SMPPaths.java @@ -5,11 +5,11 @@ import utils.PROPERTIES; @SuppressWarnings("SpellCheckingInspection") public class SMPPaths { - public static final String REST_DOMAIN_LIST = "rest/domain"; - public static final String REST_POST_DOMAIN = "rest/domain"; - public static final String LOGIN_PATH = "rest/security/authentication"; - public static final String USER_LIST = "rest/user"; - public static final String SERVICE_GROUP = "rest/servicegroup"; - public static final String KEYSTORE = "rest/keystore"; + 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"; } diff --git a/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java b/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java index dc08fd06a..f70c1ed25 100644 --- a/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java +++ b/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java @@ -5,8 +5,6 @@ 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.LogMF; -import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.json.JSONArray; import org.json.JSONException; @@ -227,13 +225,17 @@ public class SMPRestClient { } public static boolean createServiceGroup(String pi, String ps, List<String> usernames, List<String> domainCodes) { - String template = "[{\"id\":null,\"participantIdentifier\":\"%s\",\"participantScheme\":\"%s\",\"serviceMetadata\":[],\"users\":%s,\"serviceGroupDomains\":%s,\"extension\":\"\",\"status\":2}]"; + 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))); + users.put(transformUserForSGPost(getUserForName(username,jsessionID,xsrf))); } JSONArray domains = new JSONArray(); @@ -243,12 +245,8 @@ public class SMPRestClient { String postStr = String.format(template, pi, ps, users.toString(), domains.toString()); + log.info("post str is :"+postStr); - 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) @@ -317,11 +315,8 @@ public class SMPRestClient { return ""; } - private static JSONObject getUserForName(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"); + private static JSONObject getUserForName(String username,String jsessionID,String xsrf) { + try{ String responseRaw = resource.path(SMPPaths.USER_LIST) .queryParam("page", "-1") @@ -431,7 +426,7 @@ public class SMPRestClient { String xsrf = map.get("XSRF-TOKEN"); String jsessionID = map.get("JSESSIONID"); try{ - String putStr = "[" + getUserForName(username).put("status", 3).toString() + "]"; + 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) @@ -472,11 +467,11 @@ public class SMPRestClient { private static JSONObject transformUserForSGPost(JSONObject user) { try { - String template = "{\"index\":%s,\"username\":\"%s\",\"role\":\"%s\",\"id\":%s,\"status\":0,\"password\":null,\"emailAddress\":null,\"authorities\":null,\"passwordChanged\":null,\"active\":true,\"certificate\":null,\"statusPassword\":0}"; + 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("id"); + String id = user.getString("userId"); return new JSONObject(String.format(template, index, username, role, id)); } catch (JSONException e) { e.printStackTrace(); diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java index 9b4492a9a..b5ec6b4c3 100644 --- a/smp-ui-tests/src/test/java/ui/BaseTest.java +++ b/smp-ui-tests/src/test/java/ui/BaseTest.java @@ -66,7 +66,9 @@ public class BaseTest { @AfterClass(alwaysRun = true) public void afterClass() { - driver.quit(); + if(null!=driver){ + driver.quit(); + } // driver.get(PROPERTIES.UI_BASE_URL); // SMPPage page = new SMPPage(driver); // page.refreshPage(); @@ -101,6 +103,7 @@ public class BaseTest { createdDomains.add(generated); } else { logger.warn("Test data creation: Domain creation failed for " + generated); + System.exit(-1); } } } @@ -115,6 +118,7 @@ public class BaseTest { createdUsers.add(generated); } else { logger.warn("Test data creation: User creation failed for " + generated); + System.exit(-1); } } } @@ -122,13 +126,15 @@ public class BaseTest { 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, generated, users, domains); + 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); } } } diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java index 044fa36a3..301a131d4 100644 --- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java +++ b/smp-ui-tests/src/test/java/ui/DomainPgTest.java @@ -390,7 +390,7 @@ public class DomainPgTest extends BaseTest { soft.assertAll(); } - @Test(description = "DMN-110") + @Test(description = "DMN-100") public void allowDuplicateKeyStore() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); -- GitLab