diff --git a/smp-ui-tests/src/main/java/pages/components/Sidebar.java b/smp-ui-tests/src/main/java/pages/components/Sidebar.java index 7d2d243ec3cd69b5c139e62b8327ad22040ca569..b08531486f4b32f323de620b3fc9ac00a71c9b64 100644 --- a/smp-ui-tests/src/main/java/pages/components/Sidebar.java +++ b/smp-ui-tests/src/main/java/pages/components/Sidebar.java @@ -1,5 +1,6 @@ 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(); + } } diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java index 135527e96dc19f0fcf2a51d8c17158833a347d6b..2300cb25209c6f90a6d6a9f8ffb2f306d254d752 100644 --- a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java +++ b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java @@ -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); + } + } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java index 8975681de37848830d15ad494266b5d7eddad6b9..e6cf8249716ddd85ab386e9568d2bcc87cb05d8a 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupRow.java @@ -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(); + } + } 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 c348b76b46f47e56a463cfe8150d77deafa44037..dc08fd06a5cec309ef95c035f198b688eb455676 100644 --- a/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java +++ b/smp-ui-tests/src/main/java/utils/rest/SMPRestClient.java @@ -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; } diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java index d3a95aa73105ee88b64acdca6f43bc1d22ed683c..9b4492a9a114fd10123241664e90d71727c81076 100644 --- a/smp-ui-tests/src/test/java/ui/BaseTest.java +++ b/smp-ui-tests/src/test/java/ui/BaseTest.java @@ -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(); diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java index ec90e010a82b8affdca4629fbf119bd4dca727f7..312ed99506f666dccbe2642b4f9325648705c872 100644 --- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java +++ b/smp-ui-tests/src/test/java/ui/DomainPgTest.java @@ -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(); + } + } diff --git a/smp-ui-tests/src/test/java/ui/LoginPgTest.java b/smp-ui-tests/src/test/java/ui/LoginPgTest.java index b1fe3d7d542bdabd555aba380ba971f812853794..9bcf4004da84b36444f5377d9df786e9143376db 100644 --- a/smp-ui-tests/src/test/java/ui/LoginPgTest.java +++ b/smp-ui-tests/src/test/java/ui/LoginPgTest.java @@ -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"); diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java index bd433d56c3190e77ffbe33ed6be043a21e673b96..71fe2caf90e11ea9568f367a015c4377860ba62d 100644 --- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java +++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java @@ -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(); + } } diff --git a/smp-ui-tests/src/test/java/ui/UsersPgTest.java b/smp-ui-tests/src/test/java/ui/UsersPgTest.java index 782d8feac9fb62c76808543df87d247de5817c34..f1a2d248308d64cf4944db3d96df37f5d1922aac 100644 --- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java +++ b/smp-ui-tests/src/test/java/ui/UsersPgTest.java @@ -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();