From f9bc5b4cae05c0c67f77ff5078b5f1ec94a9f77e Mon Sep 17 00:00:00 2001 From: Mihai BOZ <Mihai.BOZ@ext.ec.europa.eu> Date: Thu, 28 Sep 2023 16:05:13 +0300 Subject: [PATCH] fixed test TRST-01 System admin is able to import certificates ADDED TRST-02 System admin is able to import duplicated certificates --- .../main/java/ddsl/CommonCertificatePage.java | 18 ++++---- .../pages/systemSettings/TruststorePage.java | 5 ++- .../{test.cer => expiredCertificate.cer} | 0 .../resources/truststore/validCertificate.cer | 19 ++++++++ .../java/domiSMPTests/ui/KeystorePgTests.java | 2 + .../java/domiSMPTests/ui/TrustorePgTests.java | 44 ++++++++++++++++--- 6 files changed, 73 insertions(+), 15 deletions(-) rename domiSMP-ui-tests/src/main/resources/truststore/{test.cer => expiredCertificate.cer} (100%) create mode 100644 domiSMP-ui-tests/src/main/resources/truststore/validCertificate.cer diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java index 3ca28b4b8..933925d0b 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java @@ -34,38 +34,38 @@ public class CommonCertificatePage extends CommonPageWithGrid { } public String getPublicKeyTypeLbl() { - return publicKeyTypeLbl.getText(); + return publicKeyTypeLbl.getAttribute("value"); } public String getAliasIdLbl() { - return aliasIdLbl.getText(); + return aliasIdLbl.getAttribute("value"); } public String getSmpCertificateIdLbl() { - return smpCertificateIdLbl.getText(); + return smpCertificateIdLbl.getAttribute("value"); } public String getSubjectNameLbl() { - return subjectNameLbl.getText(); + return subjectNameLbl.getAttribute("value"); } public String getValidFromLbl() { - return validFromLbl.getText(); + return validFromLbl.getAttribute("value"); } public String getValidToLbl() { - return validToLbl.getText(); + return validToLbl.getAttribute("value"); } public String getIssuerLbl() { - return issuerLbl.getText(); + return issuerLbl.getAttribute("value"); } public String getSerialNumberLbl() { - return serialNumberLbl.getText(); + return serialNumberLbl.getAttribute("value"); } public String getCertificateRevolcationListURLlbl() { - return certificateRevolcationListURLlbl.getText(); + return certificateRevolcationListURLlbl.getAttribute("value"); } } diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java index 9a47d96cc..76eced09d 100644 --- a/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java @@ -1,6 +1,7 @@ package pages.systemSettings; import ddsl.CommonCertificatePage; +import ddsl.dcomponents.Grid.SmallGrid; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; @@ -20,7 +21,9 @@ public class TruststorePage extends CommonCertificatePage { super(driver); } - + public SmallGrid getCertificateGrid() { + return new SmallGrid(driver, rightPanel); + } public String addCertificateAndReturnAlias(String filePath) { uploadInput.sendKeys(filePath); String certificateAlias = getAlertMessageAndClose(); diff --git a/domiSMP-ui-tests/src/main/resources/truststore/test.cer b/domiSMP-ui-tests/src/main/resources/truststore/expiredCertificate.cer similarity index 100% rename from domiSMP-ui-tests/src/main/resources/truststore/test.cer rename to domiSMP-ui-tests/src/main/resources/truststore/expiredCertificate.cer diff --git a/domiSMP-ui-tests/src/main/resources/truststore/validCertificate.cer b/domiSMP-ui-tests/src/main/resources/truststore/validCertificate.cer new file mode 100644 index 000000000..9a84d763f --- /dev/null +++ b/domiSMP-ui-tests/src/main/resources/truststore/validCertificate.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIEEQ+g2DANBgkqhkiG9w0BAQsFADAyMQ8wDQYDVQQDDAZy +ZWRfZ3cxEjAQBgNVBAoTCWVEZWxpdmVyeTELMAkGA1UEBhMCQkUwHhcNMjMwMzIz +MDg0OTIyWhcNMzMwMzIyMDg0OTIyWjAyMQ8wDQYDVQQDDAZyZWRfZ3cxEjAQBgNV +BAoTCWVEZWxpdmVyeTELMAkGA1UEBhMCQkUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCTt2UA2xulSq7S4XbazB7j2fquW+N/ybl4YI7ViwNjYbnFF9Hr +TCy5q36UVHzioInn0qjqhz16pzAyF+0zCQFGFhG0hC/zrODdYXk6YgGsxiecQr7K +Ac7OsCqAmRC6Y4hKoFmgunLEq3GwRpL4gMlZpd0nkfJaWpfgwJn6ZKebrs5u+71D +q+lMlROPH1lWyeq6vuzGeVhMR3jf1o8s77SRcpBS/ZsXWQ7AM8/Lih3etPzqmt/R +p9LAh49DOfmQF5BhANE5rETUpJkL1hc9lBTXh8f8XUcG/X0vvqZqO8CSuIqerC42 +T5AEBLjJRINEpM6tl5rI9U1c4zUnffyhkRh7AgMBAAGjITAfMB0GA1UdDgQWBBQL +X5ndwOUTSkSKKXxSbgSuyUeJPTANBgkqhkiG9w0BAQsFAAOCAQEAMS0qoxzmYmrm +kT2PiFnVoUKbx057DgaHzBa0lPNJX2tXxR05v/ZRGKImiTuij9WiCc0GRJF6llwd +19BzwC5z/hSoxH40nFaXjH9OXtANF+G6UmbiwltUcW9NSlnIR2yVDJGRwvpzLdTE +HEUiws4u80CNiz9ylVPJ58XclTlDiRLR2Glhq0zmFX+buMOjJRVT9RaLHgMZWJV0 +i506YSrKgjjNXIcL3PyR7ahBLEWw/qolgZtmAq/bgGIZe3bt/g6lF5wnpKZ3+P48 +h9v17PrxbDOyc7QDw9PEs6h4L1t06yUwK8gE96wyJBsnLZybkf4X/HyKA1yinJy9 +SXAnr3u8EA== +-----END CERTIFICATE----- diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java index ade1185ab..949f1010b 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java @@ -5,6 +5,7 @@ import ddsl.enums.Pages; import domiSMPTests.SeleniumTest; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Ignore; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; @@ -36,6 +37,7 @@ public class KeystorePgTests extends SeleniumTest { } //TODO: wait until the mat-select for certificate type is changed to select + @Ignore @Test(description = "KEYS-02 System admin is able to import PKCS 12 Keystore") public void SystemAdminIsAbleToImportPKCS12() throws Exception { String path = FileUtils.getAbsolutePath("./src/main/resources/keystore/expired_keystore_JKS.jks"); diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java index eab74a9f2..29b74ad98 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java @@ -3,6 +3,7 @@ package domiSMPTests.ui; import ddsl.DomiSMPPage; import ddsl.enums.Pages; import domiSMPTests.SeleniumTest; +import org.openqa.selenium.WebElement; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; @@ -11,7 +12,6 @@ import utils.FileUtils; public class TrustorePgTests extends SeleniumTest { - //TODO work in progress - wait for input elements to get text @Test(description = "TRST-01 System admin is able to import certificates") public void SystemAdminIsAbleToImportCertificates() throws Exception { @@ -23,16 +23,50 @@ public class TrustorePgTests extends SeleniumTest { loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); TruststorePage truststorepage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_TRUSTSTORE); - String path = FileUtils.getAbsolutePath("./src/main/resources/truststore/test.cer"); + String path = FileUtils.getAbsolutePath("./src/main/resources/truststore/validCertificate.cer"); String certificateALias = truststorepage.addCertificateAndReturnAlias(path); soft.assertNotNull(certificateALias); - // soft.assertEquals(truststorepage.getPublicKeyTypeLbl(), "RSA"); - // soft.assertEquals(truststorepage.getAliasIdLbl(), "smp_domain_02"); + soft.assertEquals(truststorepage.getPublicKeyTypeLbl(), "RSA"); + soft.assertEquals(truststorepage.getAliasIdLbl(), certificateALias); + soft.assertEquals(truststorepage.getSmpCertificateIdLbl(), "CN=red_gw,O=eDelivery,C=BE:00000000110fa0d8"); + soft.assertEquals(truststorepage.getSubjectNameLbl(), "C=BE,O=eDelivery,CN=red_gw"); + soft.assertEquals(truststorepage.getValidFromLbl(), "23-3-2023, 10:49:22"); + soft.assertEquals(truststorepage.getValidToLbl(), "22-3-2033, 10:49:22"); + soft.assertEquals(truststorepage.getIssuerLbl(), "C=BE,O=eDelivery,CN=red_gw"); + soft.assertEquals(truststorepage.getSerialNumberLbl(), "110fa0d8"); + soft.assertAll(); + + } + @Test(description = "TRST-02 System admin is able to import duplicated certificates") + public void SystemAdminIsAbleToImportDuplicatedCertificates() throws Exception { - soft.assertAll(); + SoftAssert soft = new SoftAssert(); + DomiSMPPage homePage = new DomiSMPPage(driver); + + LoginPage loginPage = homePage.goToLoginPage(); + loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); + + TruststorePage truststorepage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_TRUSTSTORE); + String path = FileUtils.getAbsolutePath("./src/main/resources/truststore/validCertificate.cer"); + String certificateALias = truststorepage.addCertificateAndReturnAlias(path); + String duplicatedCertificateALias = truststorepage.addCertificateAndReturnAlias(path); + WebElement certificate = truststorepage.getCertificateGrid().searchAndGetElementInColumn("Alias", certificateALias); + soft.assertNotNull(certificate); + truststorepage.getDataPanelGrid().searchAndGetElementInColumn("Alias", duplicatedCertificateALias); + + soft.assertNotNull(duplicatedCertificateALias); + soft.assertEquals(truststorepage.getPublicKeyTypeLbl(), "RSA"); + soft.assertEquals(truststorepage.getAliasIdLbl(), duplicatedCertificateALias); + soft.assertEquals(truststorepage.getSmpCertificateIdLbl(), "CN=red_gw,O=eDelivery,C=BE:00000000110fa0d8"); + soft.assertEquals(truststorepage.getSubjectNameLbl(), "C=BE,O=eDelivery,CN=red_gw"); + soft.assertEquals(truststorepage.getValidFromLbl(), "23-3-2023, 10:49:22"); + soft.assertEquals(truststorepage.getValidToLbl(), "22-3-2033, 10:49:22"); + soft.assertEquals(truststorepage.getIssuerLbl(), "C=BE,O=eDelivery,CN=red_gw"); + soft.assertEquals(truststorepage.getSerialNumberLbl(), "110fa0d8"); + soft.assertAll(); } -- GitLab