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

Skip to content
Snippets Groups Projects
Commit a7ac7be9 authored by Sonali MOHANTY's avatar Sonali MOHANTY
Browse files

1)Added extra log in SMPRestClient class.

2)
Added 3 new test cases in SearchPgTest and domainpgTest.
parent 1aa26c7a
No related branches found
No related tags found
No related merge requests found
package pages.components;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
......@@ -39,6 +40,12 @@ public class Sidebar extends PageComponent {
@FindBy(id = "sidebar_user_id")
private WebElement userLnk;
@FindBy(css = "mat-icon[role=img][mattooltip=Collapse]")
private WebElement collapseButton;
@FindBy(xpath = "//button[@id='sidebar_search_id']//span[text()='Search']")
private WebElement sidebarSearchText;
/* Receives the Page object class as parameter and based on the class name it navigates to the appropriate page
and returns an instance of that class */
public <T extends SMPPage> T goToPage(Class<T> expect){
......@@ -80,5 +87,13 @@ public class Sidebar extends PageComponent {
public boolean isUsersLnkEnabled(){
return isVisible(userLnk) && isEnabled(userLnk);
}
public boolean isSidebarSearchTextEnable(){
return isVisible(sidebarSearchText) && isEnabled(sidebarSearchText);
}
public void collapsingSideBar(){
collapseButton.click();
}
public void expandingSideBar(){
driver.findElement(By.cssSelector("mat-icon[role=img][mattooltip=Expand]")).click();
}
}
......@@ -124,5 +124,10 @@ public class DomainPopup extends PageComponent {
clearAndFillInput(domainCodeInput, domainCode);
}
public void clearAndFillSMLDomainInput(String SMLDomain) {
log.info("filling only domain code data for new domain");
clearAndFillInput(smlDomainInput, SMLDomain);
}
}
......@@ -22,7 +22,8 @@ public class ServiceGroupRow extends PageComponent {
@FindBy(tagName = "datatable-body-cell")
protected List<WebElement> cells;
@FindBy(css = "div.datatable-row-detail.ng-star-inserted > div.ng-star-inserted")
private WebElement emptyMetadataContent;
@FindBy(css = ".ng-star-inserted.datatable-icon-right")
private WebElement expandMetadata;
......@@ -71,5 +72,10 @@ public class ServiceGroupRow extends PageComponent {
return false;
}
public String emptyMetadataContentText()
{
return emptyMetadataContent.getText();
}
}
......@@ -5,6 +5,9 @@ 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;
import org.json.JSONObject;
......@@ -25,6 +28,7 @@ import java.util.Map;
public class SMPRestClient {
protected static Logger log = Logger.getLogger(SMPRestClient.class);
private static Client client = Client.create();
private static WebResource resource = client.resource(PROPERTIES.UI_BASE_URL);
......@@ -180,7 +184,8 @@ public class SMPRestClient {
HashMap<String, String> map = getCookies(cookies);
String xsrf = map.get("XSRF-TOKEN");
String jsessionID = map.get("JSESSIONID");
log.info("Creating domain template whose value is :"+template);
log.info("Creating the doamainpoststring" +domainPostStr);
try {
ClientResponse getResponse = resource.path(SMPPaths.REST_POST_DOMAIN)
.accept(MediaType.APPLICATION_JSON_TYPE)
......@@ -189,10 +194,12 @@ public class SMPRestClient {
.cookie(new Cookie("XSRF-TOKEN", xsrf))
.header("X-XSRF-TOKEN", xsrf)
.put(ClientResponse.class, domainPostStr);
log.info("Create domain return status code is:"+getResponse.getStatus());
return getResponse.getStatus() == 200;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
......
......@@ -31,8 +31,6 @@ public class BaseTest {
static ArrayList<String> createdUsers = new ArrayList<>();
static ArrayList<String> createdServiceGroups = new ArrayList<>();
protected Logger log = Logger.getLogger(this.getClass());
@BeforeSuite(alwaysRun = true)
/*Starts the browser and navigates to the homepage. This happens once before the test
suite and the browser window is reused for all tests in suite*/
......@@ -88,8 +86,8 @@ public class BaseTest {
@BeforeMethod(alwaysRun = true)
protected void logSeparator(Method method) throws Exception {
log.info("--------------------------- Running test number: " + methodCount);
log.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName());
logger.info("--------------------------- Running test number: " + methodCount);
logger.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName());
methodCount++;
}
......@@ -97,6 +95,7 @@ public class BaseTest {
private void createDomains() {
for (int i = 0; i < 5; i++) {
String generated = Generator.randomAlphaNumeric(10);
logger.info("creating domain whose value is :"+generated);
boolean created = SMPRestClient.createDomain(generated);
if (created) {
createdDomains.add(generated);
......@@ -160,7 +159,7 @@ public class BaseTest {
protected void genericLogoutProcedure() {
log.info("executing the generic logout procedure");
logger.info("executing the generic logout procedure");
SMPPage page = new SMPPage(driver);
page.refreshPage();
......
......@@ -336,5 +336,34 @@ public class DomainPgTest extends BaseTest {
soft.assertAll();
}
@Test(description = "DMN-80")
public void onlyDomainCodeAndSMLDomainSavingMsgVerify() {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
// String errorMsg = "The domain should have a defined signature CertAlias.";
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
String rndString = Generator.randomAlphaNumeric(10);
DomainPopup popup = page.clickNew();
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled");
popup.clearAndFillDomainCodeInput(rndString);
popup.clearAndFillSMLDomainInput(rndString);
soft.assertTrue(popup.isEnableOkButton(), "Ok button is disabled");
popup.clickOK();
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
page.clickSave().confirm();
soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18),
"Success message is as expected");
int index = page.grid().scrollToSmlDomain(rndString);
if (index >= 0) {
page.grid().scrollRow(index);
}
int rowNumber = index + 1;
page.grid().mouseHoverOnDomainCode(rowNumber);
// WebElement text = driver.findElement(By.xpath("//*[text()='The domain should have a defined signature CertAlias.']"));
// soft.assertEquals(text.getText(),errorMsg, "the message 'The domain should have a defined signature CertAlias.' is not displayed");
soft.assertAll();
}
}
......@@ -21,19 +21,19 @@ public class LoginPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset() {
log.info("deleting cookies");
logger.info("deleting cookies");
driver.manage().deleteAllCookies();
try {
log.info("clearing localstorage");
logger.info("clearing localstorage");
((JavascriptExecutor) driver).executeScript("localStorage.clear();");
} catch (Exception e) {
log.info("clearing localcstorage failed");
logger.info("clearing localcstorage failed");
}
SMPPage page = new SMPPage(driver);
log.info("refreshing page to close all popups");
logger.info("refreshing page to close all popups");
page.refreshPage();
try {
......@@ -112,13 +112,13 @@ public class LoginPgTest extends BaseTest {
String username = Generator.randomAlphaNumeric(10);
SMPRestClient.createUser(username, "SYSTEM_ADMIN");
log.info("created user " + username);
logger.info("created user " + username);
SMPPage page = new SMPPage(driver);
logger.info("Going to login page");
page.pageHeader.goToLogin();
log.info("trying to login with " + username);
logger.info("trying to login with " + username);
LoginPage loginPage = new LoginPage(driver);
SearchPage searchPage = loginPage.login(username, "QW!@qw12");
......
......@@ -23,15 +23,15 @@ import java.util.Set;
public class SearchPgTest extends BaseTest {
@AfterMethod
public void resetFilters(){
SMPPage page = new SMPPage(driver);
public void resetFilters() {
SMPPage page = new SMPPage(driver);
page.refreshPage();
page.waitForXMillis(500);
}
@Test(description = "SRCH-0")
public void searchPgInitialState(){
public void searchPgInitialState() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -46,7 +46,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-10")
public void domainSelectContent(){
public void domainSelectContent() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
......@@ -57,7 +57,7 @@ public class SearchPgTest extends BaseTest {
for (String restDomain : restDomains) {
boolean found = false;
for (String uiDomain : uiDomains) {
if(uiDomain.equalsIgnoreCase(restDomain)){
if (uiDomain.equalsIgnoreCase(restDomain)) {
found = true;
}
}
......@@ -69,7 +69,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-20")
public void searchGridInitialState(){
public void searchGridInitialState() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -85,7 +85,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-30")
public void searchFilterResults(){
public void searchFilterResults() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -111,8 +111,8 @@ public class SearchPgTest extends BaseTest {
for (ServiceGroupRow row : rows) {
String identifier =row.getParticipantIdentifier();
String scheme =row.getParticipantScheme();
String identifier = row.getParticipantIdentifier();
String scheme = row.getParticipantScheme();
soft.assertTrue(identifier.contains(pIdentifier), String.format("Identifier %s, found %s", pIdentifier, identifier));
soft.assertTrue(scheme.contains(pScheme), String.format("Scheme %s, found %s", pScheme, scheme));
......@@ -122,7 +122,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-40")
public void openURLLink(){
public void openURLLink() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -137,7 +137,7 @@ public class SearchPgTest extends BaseTest {
String tmpURLPart = null;
try {
tmpURLPart = URLDecoder.decode(listedURL, "UTF-8").split("smp/")[1].trim();
soft.assertEquals(tmpURLPart, pScheme+"::"+pIdentifier, "URL contains the proper scheme and identifier");
soft.assertEquals(tmpURLPart, pScheme + "::" + pIdentifier, "URL contains the proper scheme and identifier");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
......@@ -148,13 +148,13 @@ public class SearchPgTest extends BaseTest {
"Number of listed MetadataReferences in XML matches UI");
soft.assertAll();
}
@Test(description = "SRCH-50") @Ignore
public void expandServiceGroupCheckMetadata(){
@Test(description = "SRCH-50")
@Ignore
public void expandServiceGroupCheckMetadata() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -179,15 +179,15 @@ public class SearchPgTest extends BaseTest {
String docId = metadataRow.getDocumentIdentifier();
String url = metadataRow.getURL();
soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata "+ docId);
soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId);
String metadata = SMPRestClient.getMetadataString(url);
soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata "+ docId);
soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata "+ docId);
soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata "+ docId);
soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata "+ docId);
soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata " + docId);
soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata " + docId);
soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata " + docId);
soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata " + docId);
}
......@@ -196,7 +196,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-60")
public void collapseMetadata(){
public void collapseMetadata() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -205,12 +205,12 @@ public class SearchPgTest extends BaseTest {
ServiceGroupRow row0 = null;
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getMetadataSize() >0 ){
if (rows.get(i).getMetadataSize() > 0) {
row0 = rows.get(i);
}
}
if(null == row0){
if (null == row0) {
row0 = rows.get(0);
SMPRestClient.createMetadata(row0.getParticipantIdentifier());
page.refreshPage();
......@@ -219,7 +219,6 @@ public class SearchPgTest extends BaseTest {
}
soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it");
row0.expandMetadata();
......@@ -233,7 +232,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-70")
public void verifyOpenMetadataURL(){
public void verifyOpenMetadataURL() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
......@@ -242,12 +241,12 @@ public class SearchPgTest extends BaseTest {
ServiceGroupRow row0 = null;
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getMetadataSize() >0 ){
if (rows.get(i).getMetadataSize() > 0) {
row0 = rows.get(i);
}
}
if(null == row0){
if (null == row0) {
row0 = rows.get(0);
SMPRestClient.createMetadata(row0.getParticipantIdentifier());
page.refreshPage();
......@@ -278,7 +277,7 @@ public class SearchPgTest extends BaseTest {
e.printStackTrace();
}
soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata "+ docId);
soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId);
String mainWindow = driver.getWindowHandle();
......@@ -299,7 +298,7 @@ public class SearchPgTest extends BaseTest {
}
@Test(description = "SRCH-80")
public void filterByDifferentDomains(){
public void filterByDifferentDomains() {
SoftAssert soft = new SoftAssert();
String participantID = Generator.randomAlphaNumeric(5);
......@@ -318,7 +317,7 @@ public class SearchPgTest extends BaseTest {
searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0)));
List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows();
soft.assertEquals(results.size() , 1, "Results size is 1 (first search)");
soft.assertEquals(results.size(), 1, "Results size is 1 (first search)");
soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(),
"First and only result is the one we entered and is found when filtering by first domain");
......@@ -356,4 +355,39 @@ public class SearchPgTest extends BaseTest {
soft.assertAll();
}
@Test(description = "SRCH-100")
public void metadataTableContent() {
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = null;
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
row0 = rows.get(0);
MetadataGrid metadataGrid = row0.expandMetadata();
List<MetadataRow> metadataRows = metadataGrid.getMetadataRows();
if (row0.getMetadataSize() == 0) {
//row0.emptyMetadataContentText()
soft.assertEquals(row0.emptyMetadataContentText(), "No service metadata");
} else {
if (row0.getMetadataSize() > 0) {
soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "metadata size is not equal to no of metadata present inside the corressponding row");
}
}
soft.assertAll();
}
@Test(description = "SRCH-101")
public void verifyCollapsingSidebarPageAfterLogin()
{
SoftAssert soft = new SoftAssert();
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
page.sidebar.collapsingSideBar();
soft.assertFalse(page.sidebar.isSidebarSearchTextEnable(),"Search button is visible so sidebar page is not collpased");
page.sidebar.expandingSideBar();
soft.assertTrue(page.sidebar.isSidebarSearchTextEnable(),"Search button is not visible so sidebar page is not expanding");
soft.assertAll();
}
}
......@@ -167,7 +167,7 @@ public class UsersPgTest extends BaseTest {
SMPRestClient.createUser(username, "SYSTEM_ADMIN");
SoftAssert soft = new SoftAssert();
log.info("created user " + username);
logger.info("created user " + username);
UsersPage page = new UsersPage(driver);
page.refreshPage();
......@@ -269,7 +269,7 @@ public class UsersPgTest extends BaseTest {
SMPRestClient.createUser(username, "SMP_ADMIN");
SoftAssert soft = new SoftAssert();
log.info("Created username " + username);
logger.info("Created username " + username);
UsersPage page = new UsersPage(driver);
......@@ -313,7 +313,7 @@ public class UsersPgTest extends BaseTest {
String username = Generator.randomAlphaNumeric(10);
SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN");
log.info("Created username" + username);
logger.info("Created username" + username);
SoftAssert soft = new SoftAssert();
UsersPage page = new UsersPage(driver);
......@@ -373,8 +373,8 @@ public class UsersPgTest extends BaseTest {
new ArrayList<>(Arrays.asList(createdDomains.get(0)))
);
log.info("Created username " + username);
log.info("Created service group " + pi);
logger.info("Created username " + username);
logger.info("Created service group " + pi);
SoftAssert soft = new SoftAssert();
......@@ -411,7 +411,7 @@ public class UsersPgTest extends BaseTest {
new ArrayList<>(Arrays.asList(createdDomains.get(0)))
);
log.info("Created username "+ username);
logger.info("Created username "+ username);
SoftAssert soft = new SoftAssert();
......
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