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 a5ced38bd67063b74b9c86ccb7fc8b2260319a8d..4f6eeb4cce58acbb902a5d47d762826388888459 100644 --- a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java +++ b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java @@ -49,6 +49,9 @@ public class DomainPopup extends PageComponent { @FindBy(css = "div.mat-form-field-infix > div.ng-star-inserted") WebElement domainCodeValidationError; + @FindBy(css = "#MetadataTextArea") + private WebElement metadataTextArea; + @FindBy(css = "#smlClientKeyAlias_id") WebElement smlClientAliasSelectContainer; GenericSelect smlClientAliasSelect; @@ -65,6 +68,7 @@ public class DomainPopup extends PageComponent { waitForElementToBeGone(cancelBtn); } + public boolean isLoaded() { log.info("checking if domain popup is properly loaded"); return isVisible(okBtn) @@ -143,7 +147,29 @@ public class DomainPopup extends PageComponent { } } + public String domainCode63CharValidationGetErrMsg() { + try { + waitForElementToBeVisible(domainCodeValidationError); + return domainCodeValidationError.getAttribute("value"); + } catch (Exception e) { + } + return null; + } + public String getSmlSmpId63CharValidationMsg() { + WebElement invalidSmlSmpIdErrorMsg = driver.findElement(By.cssSelector("div.mat-form-field-infix > div.ng-star-inserted")); + try { + waitForElementToBeVisible(invalidSmlSmpIdErrorMsg); + return invalidSmlSmpIdErrorMsg.getAttribute("value"); + } catch (Exception e) { + } + return null; + } + + public String xmlFieldVALUE(){ + log.info("value is "+metadataTextArea.getAttribute("value")); + return metadataTextArea.getAttribute("value"); + } public void clearAndFillDomainCodeInput(String domainCode) { log.info("clear and fill domain code data"); clearAndFillInput(domainCodeInput, domainCode); diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java index 0b98f19153ad4469ed169d93140ec628ce2ea735..b3998e7587e09a09395220ea5335463d273d316f 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java @@ -28,7 +28,7 @@ public class ServiceMetadataPopup extends PageComponent { private WebElement clearButton; @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(2)") private WebElement generateXMLButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(3)") + @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(4)") private WebElement validateButton; @FindBy(css = "#MetadataTextArea") @@ -49,6 +49,9 @@ public class ServiceMetadataPopup extends PageComponent { @FindBy(xpath = "//span[text() ='Metadata wizard']") private WebElement metadataWizardBtn; + @FindBy(css = "mat-card-content > div > div.ng-star-inserted:nth-child(2)") + private WebElement xmlValidationMsg; + @FindBy(css = "mat-dialog-content #domain_id") private WebElement domainSelectContainer; private GenericSelect domainSelect; @@ -73,6 +76,11 @@ public class ServiceMetadataPopup extends PageComponent { } + public String xmlFieldVALUE(){ + log.info("value is "+metadataTextArea.getAttribute("value")); + return metadataTextArea.getAttribute("value"); + } + public void fillForm(String domain, String docID, String docScheme) { waitForElementToBeVisible(documentIdentifierInput); domainSelect.selectWithIndex(0); @@ -83,7 +91,26 @@ public class ServiceMetadataPopup extends PageComponent { generateXMLButton.click(); } + public String captureTextOfMetadataTextArea(){ + return metadataTextArea.getText(); + } + + public void clickValidateBtn(){ + waitForElementToBeClickable(validateButton).click(); + } + public void clickGenerateXMLBtn(){ + waitForElementToBeClickable(generateXMLButton).click(); + } + public void clickClearBtn(){ + waitForElementToBeClickable(clearButton).click(); + } + public String getXMLValidationMessage(){ + return xmlValidationMsg.getText(); + } + public void addTextToMetadataTextArea(String generator){ + metadataTextArea.sendKeys(generator); + } public String docIDFieldValue(){ return documentIdentifierInput.getAttribute("value"); 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 2e8e26222118af2ffaddc003d1c792ba28b6879f..f34c534e769ccc0105f57232800fe1c5f9ee8c58 100644 --- a/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java +++ b/smp-ui-tests/src/main/java/utils/enums/SMPMessages.java @@ -76,4 +76,15 @@ public class SMPMessages { public static final String SMLSMPID_VALIDATION_MESSAGE = "SML SMP ID should be up to 63 characters long, should only contain alphanumeric and hyphen characters, should not start with a digit nor a hyphen and should not end with a hyphen."; public static final String USER_EMAIL_VALIDATION_MESSAGE = "Email is invalid!"; public static final String DOMAINCODE_VALIDATION_MESSAGE = "Domain code must contain only chars and numbers and must be less than 63 chars long."; + public static final String VALID_XML_MESSAGE = "Servicemetadata is valid!"; + public static final String INVALID_XML_MESSAGE1 = "SAXParseException: XML document structures must start and end within the same entity."; + public static final String INVALID_XML_MESSAGE2 = "SAXParseException: Content is not allowed in prolog."; + public static final String INVALID_XML_MESSAGE3 = "SAXParseException: Content is not allowed in trailing section."; + public static final String INVALID_XML_MESSAGE4 = "SAXParseException: cvc-complex-type.2.3: Element 'ServiceMetadata' cannot have character [children], because the type's content type is element-only."; + public static final String INVALID_XML_MESSAGE5 = "SAXParseException: The end-tag for element type \"ServiceMetadata\" must end with a '>' delimiter."; + public static final String INVALID_XML_MESSAGE6 = "SAXParseException: cvc-complex-type.2.3: Element 'Process' cannot have character [children], because the type's content type is element-only."; + public static final String EMPTY_XML_WARN_MESSAGE = "Service metadata xml must not be empty"; + public static final String EMPTY_XML_MESSAGE = "Valid service metadata XML is required!"; + public static final String INVALID_XML_MESSAGE7 = "SAXParseException: The markup in the document following the root element must be well-formed."; + } diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java index 054710a9127e060ed879fc3add9c130ecbca1e43..635c3ea6d5b071dd796938034a1d3cfd49fdf2c7 100644 --- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java +++ b/smp-ui-tests/src/test/java/ui/DomainPgTest.java @@ -18,29 +18,30 @@ import utils.Generator; import utils.enums.SMPMessages; import utils.rest.SMPRestClient; +import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class DomainPgTest extends BaseTest { - + @AfterMethod - public void logoutAndReset() { + public void logoutAndReset(){ genericLogoutProcedure(); } - + @BeforeMethod - public void loginAndGoToDomainPage() { - + public void loginAndGoToDomainPage(){ + SMPPage page = genericLoginProcedure("SYS_ADMIN"); logger.info("Going to Domain page"); page.sidebar.goToPage(DomainPage.class); } - + @Test(description = "DMN-0") - public void openDomainPage() { + public void openDomainPage(){ SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -48,7 +49,7 @@ public class DomainPgTest extends BaseTest { DomainGrid grid = page.grid(); DomainRow row0 = grid.getRowsInfo().get(0); grid.doubleClickRow(0); - + DomainPopup popup = new DomainPopup(driver); soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); @@ -57,7 +58,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled"); popup.clickCancel(); - + soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row is unchanged"); soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is not enabled"); @@ -65,11 +66,11 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-10") - public void editDomain() { + public void editDomain(){ SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainGrid grid = page.grid(); DomainRow row0 = grid.getRowsInfo().get(0); @@ -109,7 +110,7 @@ public class DomainPgTest extends BaseTest { @Test(description = "DMN-20") - public void newDomain() { + public void newDomain(){ SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -141,14 +142,14 @@ public class DomainPgTest extends BaseTest { "Success message is as expected"); List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()) { + while (page.pagination.hasNextPage()){ page.pagination.goToNextPage(); rows.addAll(page.grid().getRowsInfo()); } boolean found = false; for (DomainRow row : rows) { - if (row.getDomainCode().equalsIgnoreCase(rndString)) { + if(row.getDomainCode().equalsIgnoreCase(rndString)){ found = true; break; } @@ -160,7 +161,7 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-30") - public void cancelNewDomainCreation() { + public void cancelNewDomainCreation(){ SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -176,6 +177,11 @@ public class DomainPgTest extends BaseTest { popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } popup.clickOK(); soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); @@ -184,14 +190,14 @@ public class DomainPgTest extends BaseTest { new ConfirmationDialog(driver).confirm(); List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()) { + while (page.pagination.hasNextPage()){ page.pagination.goToNextPage(); rows.addAll(page.grid().getRowsInfo()); } boolean found = false; for (DomainRow row : rows) { - if (row.getDomainCode().equalsIgnoreCase(rndString)) { + if(row.getDomainCode().equalsIgnoreCase(rndString)){ found = true; break; } @@ -203,7 +209,7 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-40") - public void deleteDomain() { + public void deleteDomain(){ String rndStr = Generator.randomAlphaNumeric(10); SMPRestClient.createDomain(rndStr); @@ -215,7 +221,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - int index = page.grid().scrollToDomain(rndStr); + int index = page.grid().scrollToDomain(rndStr); page.grid().selectRow(index); @@ -229,21 +235,21 @@ public class DomainPgTest extends BaseTest { page.clickCancel().confirm(); new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present"); + soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present"); - index = page.grid().scrollToDomain(rndStr); - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); + index = page.grid().scrollToDomain(rndStr); + page.grid().selectRow(index); + page.clickDelete(); + page.clickSave().confirm(); - soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete"); + soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete"); soft.assertAll(); } @Test(description = "DMN-50") - public void deleteDomainWithSG() { + public void deleteDomainWithSG(){ String domainName = Generator.randomAlphaNumeric(10); String pi = Generator.randomAlphaNumeric(10); @@ -252,16 +258,16 @@ public class DomainPgTest extends BaseTest { String expectedErrorMess = String.format("Delete validation error Could not delete domains used by Service groups! Domain: %s (%s ) uses by:1 SG.", domainName, domainName); SMPRestClient.createDomain(domainName); - SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")), new ArrayList<>(Arrays.asList(domainName))); + SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")),new ArrayList<>(Arrays.asList(domainName))); SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); page.refreshPage(); - int index = page.grid().scrollToDomain(domainName); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + int index = page.grid().scrollToDomain(domainName); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); page.clickDelete(); AlertMessage message = page.alertArea.getAlertMessage(); @@ -274,66 +280,66 @@ public class DomainPgTest extends BaseTest { soft.assertAll(); } - @Test(description = "DMN-60") - public void duplicateDomainCreation() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String errorMsg = "The Domain code already exists!"; - 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"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - soft.assertEquals(popup.getDuplicateDomainErrorMsgText(), errorMsg, "The message is not matching with our expected error message"); - soft.assertFalse(popup.isEnableOkButton(), "Ok button is enable"); - soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled"); - popup.clickCancel(); - soft.assertAll(); - } - - @Test(description = "DMN-70") - public void onlyDomainCodeSavingMsgVerify() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - int index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - try { - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); - } catch (Exception e) { - e.printStackTrace(); - } - } - 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); - 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"); - index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - page.grid().scrollRow(index); - } - int rowNumber = index + 1; - soft.assertAll(); - } + @Test(description = "DMN-60") + public void duplicateDomainCreation() { + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + String errorMsg = "The Domain code already exists!"; + 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"); + soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); + popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + page.clickSave().confirm(); + page.clickNew(); + soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); + soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); + soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); + popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); + soft.assertEquals(popup.getDuplicateDomainErrorMsgText(), errorMsg, "The message is not matching with our expected error message"); + soft.assertFalse(popup.isEnableOkButton(), "Ok button is enable"); + soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled"); + popup.clickCancel(); + soft.assertAll(); + } + + @Test(description = "DMN-70") + public void onlyDomainCodeSavingMsgVerify() { + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); + int index = page.grid().scrollToSmlDomain(""); + if (index >= 0) { + try { + page.grid().selectRow(index); + page.clickDelete(); + page.clickSave().confirm(); + } catch (Exception e) { + e.printStackTrace(); + } + } + 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); + 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"); + index = page.grid().scrollToSmlDomain(""); + if (index >= 0) { + page.grid().scrollRow(index); + } + int rowNumber = index + 1; + soft.assertAll(); + } @Test(description = "DMN-80") public void onlyDomainCodeAndSMLDomainSavingMsgVerify() { @@ -366,23 +372,23 @@ public class DomainPgTest extends BaseTest { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass = "test123"; + String pass="test123"; KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); keyStoreImport.fillPassword(pass); keyStoreImport.clickImportBtn(); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); keyStoreEdit = page.clickEditKeyStore(); int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); + soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); + if(keyStoreRowAfterAddition > 1){ + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); } @@ -391,43 +397,43 @@ public class DomainPgTest extends BaseTest { @Test(description = "DMN-100") public void allowDuplicateKeyStore() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass = "test123"; - KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); - KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); - keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); - keyStoreImport.fillPassword(pass); - keyStoreImport.clickImportBtn(); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); + String pass="test123"; + KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); + int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); + KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); + keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); + keyStoreImport.fillPassword(pass); + keyStoreImport.clickImportBtn(); + keyStoreEdit.clickCloseInKeystore(); + soft.assertFalse(page.alertArea.getAlertMessage().isError()); + keyStoreEdit = page.clickEditKeyStore(); + int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); + soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); keyStoreRowBeforeAddition = keyStoreRowAfterAddition; keyStoreImport = keyStoreEdit.clickImportKeystore(); keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); keyStoreImport.fillPassword(pass); keyStoreImport.clickImportBtn(); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); keyStoreEdit = page.clickEditKeyStore(); keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); + soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); + if(keyStoreRowAfterAddition > 1){ + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); keyStoreRowAfterAddition = keyStoreRowAfterDeletion; } - if (keyStoreRowAfterAddition > 1) { - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); + if(keyStoreRowAfterAddition > 1){ + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); } @@ -435,47 +441,48 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-110") - public void mandatoryDomainIdFieldVerification() { + public void mandatoryDomainIdFieldVerification() + { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - String randstring = Generator.randomAlphaNumeric(10); + String randstring =Generator.randomAlphaNumeric(10); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - popup.fillDataForNewDomain("", randstring, randstring, randstring); - soft.assertTrue(!popup.isEnableOkButton(), "Ok button is not disabled after leave domain input empty"); + popup.fillDataForNewDomain("",randstring,randstring,randstring); + soft.assertTrue(!popup.isEnableOkButton(),"Ok button is not disabled after leave domain input empty"); soft.assertAll(); } @Test(description = "DMN-120") - public void verifyInvalidSMLSMPIDField() { + public void verifyInvalidSMLSMPIDField(){ SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - String randstring = Generator.randomAlphaNumeric(10); - ArrayList<String> smlsmpId = new ArrayList<>(Arrays.asList("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopmkjh", - "abc@k", + String randstring =Generator.randomAlphaNumeric(10); + ArrayList<String> smlsmpId = new ArrayList<>(Arrays.asList("abc@k", "abcd-", "-abgxknvlk", "1qwertyuvbnm")); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - for (String smlsmpid : smlsmpId) { + for(String smlsmpid : smlsmpId) { popup.fillDataForNewDomain(randstring, randstring, smlsmpid, randstring); - soft.assertTrue(!popup.isEnableOkButton(), "OK button is enable after sending the invalid smlsmpId"); - soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list"); + soft.assertTrue(!popup.isEnableOkButton(),"OK button is enable after sending the invalid smlsmpId"); + soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE,"Error message is not in list"); } - soft.assertAll(); + soft.assertAll(); } @Test(description = "DMN-130") - public void clientCertHeaderToggleTest() { + public void clientCertHeaderToggleTest() + { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "false", "The user toggle is on"); + soft.assertEquals(popup.checkedUserClientCertHeaderToggl(),"false","The user toggle is on"); popup.clickUserClientCertHeaderToggle(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "true", "The user toggle is off"); + soft.assertEquals(popup.checkedUserClientCertHeaderToggl(),"true","The user toggle is off"); soft.assertAll(); } @@ -486,8 +493,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); ArrayList<String> domainCode = new ArrayList<>(Arrays.asList("sddfgf@", - "123%", - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345678901g")); + "123%")); DomainPopup popup = page.clickNew(); soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); @@ -499,11 +505,27 @@ public class DomainPgTest extends BaseTest { for (String domain : domainCode) { popup.fillDataForNewDomain(domain, rndString, rndString, rndString); - soft.assertTrue(!popup.isEnableOkButton(), "OK button is active after s4ending invalid domain code"); + soft.assertTrue(!popup.isEnableOkButton(),"OK button is active after s4ending invalid domain code"); soft.assertEquals(popup.domainCodeValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); } soft.assertAll(); } + @Test(description = "USR-150") + public void verifyNoOfCharcterAllowanceLimitInDomaincodeAndSMLSMPId(){ + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + String randstring =Generator.randomAlphaNumeric(10); + String string = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345678901g"; + + soft.assertTrue(page.isLoaded(), "Check that the page is not loaded"); + DomainPopup popup = page.clickNew(); + soft.assertTrue(popup.isLoaded(), "Domain popup is not loaded"); + popup.fillDataForNewDomain(string, randstring, string, randstring); + soft.assertEquals(popup.domainCode63CharValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); + soft.assertEquals(popup.getSmlSmpId63CharValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE,"Error message is not in list"); + + soft.assertAll(); + } } diff --git a/smp-ui-tests/src/test/java/ui/EditPgTest.java b/smp-ui-tests/src/test/java/ui/EditPgTest.java index 876238d33f2a9ca6e5d4a619e16a0d5a64685abf..f00178500a2cfe4075c5c22f8e5101c007dcf9d7 100644 --- a/smp-ui-tests/src/test/java/ui/EditPgTest.java +++ b/smp-ui-tests/src/test/java/ui/EditPgTest.java @@ -10,6 +10,7 @@ import pages.service_groups.ServiceGroupGrid; import pages.service_groups.ServiceGroupRow; import pages.service_groups.edit.*; import utils.Generator; +import utils.enums.SMPMessages; import utils.rest.SMPRestClient; import java.util.List; @@ -166,7 +167,7 @@ public class EditPgTest extends BaseTest { ServiceGroupPopup popup = new ServiceGroupPopup(driver); soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantSchemeValue()), "Popup opened for appropriate service group"); + soft.assertTrue(row0.getParticipantScheme().equalsIgnoreCase(popup.getParticipantSchemeValue()), "Popup opened for appropriate service group"); soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); soft.assertTrue(!popup.isParticipantIdentifierInputEnabled(), "Participant Identifier field is disabled"); @@ -435,6 +436,74 @@ public class EditPgTest extends BaseTest { soft.assertAll(); } + @Test(description = "EDT-140") + public void serviceMetadataXMLValidationRule(){ + SoftAssert soft = new SoftAssert(); + EditPage page = new EditPage(driver); + String generator = Generator.randomAlphaNumeric(10); + ServiceGroupGrid grid = page.getGrid(); + Integer index = 0; + ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); + ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); + metadataPopup.fillForm(generator,generator,generator); + metadataPopup.clickValidateBtn(); + soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.VALID_XML_MESSAGE,"The message is not in list"); + metadataPopup.clickClearBtn(); + metadataPopup.clickValidateBtn(); + soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.EMPTY_XML_WARN_MESSAGE,"The message is not in list"); + metadataPopup.clickGenerateXMLBtn(); + String xml1 = metadataPopup.captureTextOfMetadataTextArea(); + String invalidxml1 = xml1+"xcvjdvxv"; + metadataPopup.addTextToMetadataTextArea(invalidxml1); + metadataPopup.clickValidateBtn(); + soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.INVALID_XML_MESSAGE3,"The message error message is not in list"); + metadataPopup.clickClearBtn(); + metadataPopup.addTextToMetadataTextArea("xjvnkcfjblcf"); + metadataPopup.clickValidateBtn(); + soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.INVALID_XML_MESSAGE2,"The message error message is not in list"); + metadataPopup.clickClearBtn(); + + soft.assertAll(); + + } + + @Test(description = "EDT-150") + public void verifyServiceMetadataXMLClearBtn(){ + SoftAssert soft = new SoftAssert(); + EditPage page = new EditPage(driver); + String generator = Generator.randomAlphaNumeric(10); + ServiceGroupGrid grid = page.getGrid(); + Integer index = 0; + ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); + ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); + metadataPopup.fillForm(generator,generator,generator); + soft.assertNotEquals(metadataPopup.xmlFieldVALUE(),"","The xml field area is empty"); + metadataPopup.clickClearBtn(); + soft.assertEquals(metadataPopup.xmlFieldVALUE(),"","The clear button did not clear the xml field"); + soft.assertAll(); + } + + @Test(description = "EDT-160") + public void verifyServiceMetadataWizardOkBtn(){ + SoftAssert soft = new SoftAssert(); + EditPage page = new EditPage(driver); + String generator = Generator.randomAlphaNumeric(10); + ServiceGroupGrid grid = page.getGrid(); + int index = 0; + ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); + ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); + ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); + soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(),"participantId field is enabled for an existing service group in service metadata popup"); + soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(),"participantScheme field is enabled for an existing service group in service metadata popup"); + soft.assertFalse(metadataWizard.isEnableOkBtn(),"OK button is enable before providing the valid data"); + metadataWizard.fillForm(generator,generator,generator,generator,"bdxr-transport-ebms3-as4-v1p0","internal/rest/domain"); + metadataWizard.fillCerificateBox(generator); + soft.assertTrue(metadataWizard.isEnableOkBtn(),"OK button is disable after providing the valid data"); + + soft.assertAll(); + + } + private int scrollToSG(String pi) { EditPage page = new EditPage(driver);