From 0784b1ea2ece9d757a4241988838126d133116a6 Mon Sep 17 00:00:00 2001
From: Catalin Comanici <Catalin.COMANICI@ext.ec.europa.eu>
Date: Mon, 17 Oct 2022 14:33:48 +0200
Subject: [PATCH] fixed some spelling issues and locators for 2 error messages

---
 .../main/java/pages/domain/DomainPopup.java   |  42 +-
 .../src/main/java/pages/users/UsersPage.java  |  16 +-
 .../src/test/java/ui/DomainPgTest.java        |   4 +-
 smp-ui-tests/src/test/java/ui/EditPgTest.java |   2 +-
 .../src/test/java/ui/LoginPgTest.java         |  32 +-
 .../src/test/java/ui/PropertiesPgTest.java    |   4 +-
 .../src/test/java/ui/SearchPgTest.java        | 562 +++++++++---------
 .../src/test/java/ui/UsersPgTest.java         |  18 +-
 8 files changed, 338 insertions(+), 342 deletions(-)

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 a992f48c7..00f424fae 100644
--- a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java
+++ b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java
@@ -28,13 +28,17 @@ public class DomainPopup extends PageComponent {
 	WebElement userClientCertHeaderToggle;
 	@FindBy(css = "#smlClientCertHeaderAuth_id-input")
 	WebElement userClientCertHeaderToggleInput;
-	@FindBy(css = "div.mat-form-field-infix > div.ng-star-inserted")
+	@FindBy(css = "#domainCode_id + div")
 	WebElement domainCodeValidationError;
+
+	@FindBy(css = "#smlSMPId_id + div")
+	WebElement smlSmpIdValidationError;
 	@FindBy(css = "#smlClientKeyAlias_id")
 	WebElement smlClientAliasSelectContainer;
 	GenericSelect smlClientAliasSelect;
 	@FindBy(css = "#MetadataTextArea")
 	private WebElement metadataTextArea;
+
 	public DomainPopup(WebDriver driver) {
 		super(driver);
 		PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
@@ -138,25 +142,6 @@ 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");
@@ -188,4 +173,21 @@ public class DomainPopup extends PageComponent {
 	}
 
 
+	public String domainCode63CharValidationGetErrMsg() {
+		try {
+			return waitForElementToBeVisible(domainCodeValidationError).getText().trim();
+		} catch (Exception e) {
+		}
+		return null;
+	}
+
+	public String getSmlSmpId63CharValidationMsg() {
+		try {
+			return waitForElementToBeVisible(smlSmpIdValidationError).getText().trim();
+		} catch (Exception e) {
+		}
+		return null;
+	}
+
+
 }
diff --git a/smp-ui-tests/src/main/java/pages/users/UsersPage.java b/smp-ui-tests/src/main/java/pages/users/UsersPage.java
index 355894c43..23632189c 100644
--- a/smp-ui-tests/src/main/java/pages/users/UsersPage.java
+++ b/smp-ui-tests/src/main/java/pages/users/UsersPage.java
@@ -53,6 +53,7 @@ public class UsersPage extends SMPPage {
         log.info("save button");
         return isEnabled(saveBtn);
     }
+
     public boolean isEditButtonEnabled() {
         log.info("save button");
         return isEnabled(editBtn);
@@ -118,7 +119,8 @@ public class UsersPage extends SMPPage {
         }
         return false;
     }
-    public boolean isEditTruststoreButtonEnabled(){
+
+    public boolean isEditTruststoreButtonEnabled() {
         try {
             return isEnabled(editTruststore);
         } catch (Exception e) {
@@ -127,7 +129,8 @@ public class UsersPage extends SMPPage {
         return false;
 
     }
-    public boolean isDeleteButtonVisibled(){
+
+    public boolean isDeleteButtonVisible() {
         try {
             return isVisible(deleteBtn);
         } catch (Exception e) {
@@ -136,7 +139,7 @@ public class UsersPage extends SMPPage {
         return false;
     }
 
-    public boolean isEditButtonVisibled(){
+    public boolean isEditButtonVisible() {
         try {
             return isVisible(editBtn);
         } catch (Exception e) {
@@ -146,18 +149,15 @@ public class UsersPage extends SMPPage {
     }
 
 
-    public boolean isCancelButtonVisibled() {
+    public boolean isCancelButtonVisible() {
 
         return isVisible(cancelBtn);
     }
 
-    public boolean isSaveButtonVisibled() {
+    public boolean isSaveButtonVisible() {
 
         return isVisible(saveBtn);
     }
 
 
-
-
-
 }
diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java
index b2e7748ee..35c656d99 100644
--- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/DomainPgTest.java
@@ -296,7 +296,7 @@ public class DomainPgTest extends BaseTest {
 		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.assertFalse(popup.isEnableOkButton(), "Ok button is enabled");
 		soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled");
 		popup.clickCancel();
 		soft.assertAll();
@@ -460,7 +460,7 @@ public class DomainPgTest extends BaseTest {
 		DomainPopup popup = page.clickNew();
 		for (String smlsmpid : smlsmpId) {
 			popup.fillDataForNewDomain(randstring, randstring, smlsmpid, randstring);
-			soft.assertTrue(!popup.isEnableOkButton(), "OK button is enable after sending the invalid smlsmpId");
+			soft.assertTrue(!popup.isEnableOkButton(), "OK button is enabled after sending the invalid smlsmpId");
 			soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list");
 
 		}
diff --git a/smp-ui-tests/src/test/java/ui/EditPgTest.java b/smp-ui-tests/src/test/java/ui/EditPgTest.java
index 093d4a9d4..d56bfc8cf 100644
--- a/smp-ui-tests/src/test/java/ui/EditPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/EditPgTest.java
@@ -496,7 +496,7 @@ public class EditPgTest extends BaseTest {
 		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");
+		soft.assertFalse(metadataWizard.isEnableOkBtn(), "OK button is enabled 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");
diff --git a/smp-ui-tests/src/test/java/ui/LoginPgTest.java b/smp-ui-tests/src/test/java/ui/LoginPgTest.java
index 1dc0d7f79..9fbf83192 100644
--- a/smp-ui-tests/src/test/java/ui/LoginPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/LoginPgTest.java
@@ -1,16 +1,14 @@
 package ui;
 
 import org.openqa.selenium.JavascriptExecutor;
-import org.testng.SkipException;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Test;
 import org.testng.asserts.SoftAssert;
+import pages.components.baseComponents.SMPPage;
 import pages.components.messageArea.AlertMessage;
+import pages.login.LoginPage;
 import pages.password.PasswordChangepopup;
 import pages.service_groups.search.SearchPage;
-import pages.components.baseComponents.SMPPage;
-import pages.login.LoginPage;
-import pages.users.UserPopup;
 import pages.users.UsersPage;
 import utils.Generator;
 import utils.enums.SMPMessages;
@@ -182,8 +180,7 @@ public class LoginPgTest extends BaseTest {
 	}
 
 	@Test(description = "LGN-80")
-	public void verifyLoginButtonEnable()
-	{
+	public void verifyLoginButtonEnable() {
 		SoftAssert soft = new SoftAssert();
 		SearchPage page = new SearchPage(driver);
 		logger.info("Going to login page");
@@ -196,8 +193,7 @@ public class LoginPgTest extends BaseTest {
 	}
 
 	@Test(description = "LGN-90")
-	public void verifyRoleAfterLogin()
-	{
+	public void verifyRoleAfterLogin() {
 		SoftAssert soft = new SoftAssert();
 
 		SMPPage page = new SMPPage(driver);
@@ -209,14 +205,13 @@ public class LoginPgTest extends BaseTest {
 		SearchPage searchPage = loginPage.login(user.get("username"), user.get("password"));
 		soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is logged in");
 		String roleName = page.pageHeader.getRoleName();
-		soft.assertEquals(roleName , "System administrator" , "the role doesn't contain System administrator");
+		soft.assertEquals(roleName, "System administrator", "the role doesn't contain System administrator");
 
 		soft.assertAll();
 	}
 
 	@Test(description = "LGN-100")
-	public void loggedUserPasswordDialogView()
-	{
+	public void loggedUserPasswordDialogView() {
 		SoftAssert soft = new SoftAssert();
 
 
@@ -236,9 +231,9 @@ public class LoginPgTest extends BaseTest {
 		soft.assertTrue(searchPage.isLoaded(), "Search page is not loaded");
 
 		PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption();
-		soft.assertTrue(passPopup.isCurrentPasswordInputEnable(),"Current password input is not enable in the password dialog for logged user");
-		soft.assertTrue(passPopup.isNewPasswordInputEnable(),"New password input is not enable in the password dialog for logged user");
-		soft.assertTrue(passPopup.isConfirmPasswordInputEnable(),"Confirm password input is not enable in the password dialog for logged user");
+		soft.assertTrue(passPopup.isCurrentPasswordInputEnable(), "Current password input is not enabled in the password dialog for logged user");
+		soft.assertTrue(passPopup.isNewPasswordInputEnable(), "New password input is not enabled in the password dialog for logged user");
+		soft.assertTrue(passPopup.isConfirmPasswordInputEnable(), "Confirm password input is not enabled in the password dialog for logged user");
 
 		searchPage = passPopup.clickClosePasswordDialog();
 
@@ -248,14 +243,13 @@ public class LoginPgTest extends BaseTest {
 
 
 	@Test(description = "LGN-100")
-	public void passwordChangeForLoggedUser()
-	{
+	public void passwordChangeForLoggedUser() {
 		SoftAssert soft = new SoftAssert();
 		String userName = Generator.randomAlphaNumeric(10);
 		String validPass = "Aabcdefghijklm1@";
 
 		SMPPage page = genericLoginProcedure("SYS_ADMIN");
-		SMPRestClient.createUser(userName,"SMP_ADMIN");
+		SMPRestClient.createUser(userName, "SMP_ADMIN");
 		logger.info("created user " + userName);
 		page.pageHeader.sandwichMenu.logout();
 		page.pageHeader.goToLogin();
@@ -271,12 +265,12 @@ public class LoginPgTest extends BaseTest {
 
 		passDialog.fillDataForLoggedUser("QW!@qw12", validPass, validPass);
 		passDialog.clickChangedPassword();
-		 searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser();
+		searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser();
 		try {
 			Thread.sleep(10000);
 		} catch (Exception e) {
 		}
-		soft.assertTrue(searchPage.isLoaded(),"After changing the password for a logged user the page is not redirecting to searchpage");
+		soft.assertTrue(searchPage.isLoaded(), "After changing the password for a logged user the page is not redirecting to searchpage");
 		SMPPage page1 = genericLoginProcedure("SYS_ADMIN");
 		logger.info("Going to Users page");
 		page1.sidebar.goToPage(UsersPage.class);
diff --git a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java
index 768dab82c..5ac66daa0 100644
--- a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java
@@ -73,8 +73,8 @@ public class PropertiesPgTest extends BaseTest {
 
 		servicePopup.clickOK();
 
-		soft.assertTrue(editPage.isSaveButtonEnabled(), "Save button is not enable after cration of servicegroup without scheme");
-		soft.assertTrue(editPage.isCancelButtonEnabled(), "Cancel button is not enable after cration of servicegroup without scheme");
+		soft.assertTrue(editPage.isSaveButtonEnabled(), "Save button is not enabled after cration of servicegroup without scheme");
+		soft.assertTrue(editPage.isCancelButtonEnabled(), "Cancel button is not enabled after cration of servicegroup without scheme");
 		editPage.clickSave().confirm();
 		;
 
diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java
index cb709ae2d..93f2618e8 100644
--- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java
@@ -21,371 +21,371 @@ import java.util.Set;
 
 public class SearchPgTest extends BaseTest {
 
-    @AfterMethod
-    public void resetFilters() {
-        SMPPage page = new SMPPage(driver);
-        page.refreshPage();
-        page.waitForXMillis(500);
-
-    }
-
-    @Test(description = "SRCH-0")
-    public void searchPgInitialState() {
-        SoftAssert soft = new SoftAssert();
-
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
-        soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible");
-        soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enable");
-        soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty());
-        soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty());
-        soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains");
-
-        soft.assertAll();
-    }
-
-    @Test(description = "SRCH-10")
-    public void domainSelectContent() {
-        SoftAssert soft = new SoftAssert();
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
-
-        List<String> uiDomains = page.filters.domainSelect.getOptionTexts();
-        List<String> restDomains = SMPRestClient.getDomainAndSubdomains();
-
-        for (String restDomain : restDomains) {
-            boolean found = false;
-            for (String uiDomain : uiDomains) {
-                if (uiDomain.equalsIgnoreCase(restDomain)) {
-                    found = true;
-                }
-            }
-            soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain);
-        }
-
-        soft.assertAll();
-
-    }
-
-    @Test(description = "SRCH-20")
-    public void searchGridInitialState() {
-        SoftAssert soft = new SoftAssert();
-
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
-
-        List<String> headers = page.getServiceGroupGrid().getHeaders();
-        soft.assertTrue(headers.contains("Participant identifier"));
-        soft.assertTrue(headers.contains("Participant scheme"));
-        soft.assertTrue(headers.contains("OASIS ServiceGroup URL"));
-        soft.assertTrue(headers.contains("Metadata size"));
-
-        soft.assertAll();
-    }
-
-    @Test(description = "SRCH-30")
-    public void searchFilterResults() {
-        SoftAssert soft = new SoftAssert();
-
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
-
-        ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
-        String pScheme = row0.getParticipantScheme();
-        String pIdentifier = row0.getParticipantIdentifier();
+	@AfterMethod
+	public void resetFilters() {
+		SMPPage page = new SMPPage(driver);
+		page.refreshPage();
+		page.waitForXMillis(500);
+
+	}
+
+	@Test(description = "SRCH-0")
+	public void searchPgInitialState() {
+		SoftAssert soft = new SoftAssert();
+
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
+		soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible");
+		soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enabled");
+		soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty());
+		soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty());
+		soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains");
+
+		soft.assertAll();
+	}
+
+	@Test(description = "SRCH-10")
+	public void domainSelectContent() {
+		SoftAssert soft = new SoftAssert();
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
+
+		List<String> uiDomains = page.filters.domainSelect.getOptionTexts();
+		List<String> restDomains = SMPRestClient.getDomainAndSubdomains();
+
+		for (String restDomain : restDomains) {
+			boolean found = false;
+			for (String uiDomain : uiDomains) {
+				if (uiDomain.equalsIgnoreCase(restDomain)) {
+					found = true;
+				}
+			}
+			soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain);
+		}
+
+		soft.assertAll();
+
+	}
+
+	@Test(description = "SRCH-20")
+	public void searchGridInitialState() {
+		SoftAssert soft = new SoftAssert();
+
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
+
+		List<String> headers = page.getServiceGroupGrid().getHeaders();
+		soft.assertTrue(headers.contains("Participant identifier"));
+		soft.assertTrue(headers.contains("Participant scheme"));
+		soft.assertTrue(headers.contains("OASIS ServiceGroup URL"));
+		soft.assertTrue(headers.contains("Metadata size"));
+
+		soft.assertAll();
+	}
+
+	@Test(description = "SRCH-30")
+	public void searchFilterResults() {
+		SoftAssert soft = new SoftAssert();
+
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
+
+		ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
+		String pScheme = row0.getParticipantScheme();
+		String pIdentifier = row0.getParticipantIdentifier();
 
 //		looking for exact match
-        page.filters.filter(pIdentifier, pScheme, "");
+		page.filters.filter(pIdentifier, pScheme, "");
 
-        List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
+		List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
 
-        for (ServiceGroupRow row : rows) {
-            soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier));
-            soft.assertTrue(row.getParticipantScheme().contains(pScheme));
-        }
+		for (ServiceGroupRow row : rows) {
+			soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier));
+			soft.assertTrue(row.getParticipantScheme().contains(pScheme));
+		}
 
 //		Search for substring
-        page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), "");
-        rows = page.getServiceGroupGrid().getRows();
+		page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), "");
+		rows = page.getServiceGroupGrid().getRows();
 
-        for (ServiceGroupRow row : rows) {
+		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));
-        }
+			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));
+		}
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-40")
-    public void openURLLink() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-40")
+	public void openURLLink() {
+		SoftAssert soft = new SoftAssert();
 
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
 
-        ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
-        String listedURL = row0.getServiceGroupURL();
-        String pScheme = row0.getParticipantScheme();
-        String pIdentifier = row0.getParticipantIdentifier();
+		ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
+		String listedURL = row0.getServiceGroupURL();
+		String pScheme = row0.getParticipantScheme();
+		String pIdentifier = row0.getParticipantIdentifier();
 
 //		verify proper URL format
-        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");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        }
+		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");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
 
-        ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
+		ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
 
-        soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(),
-                "Number of listed MetadataReferences in XML matches UI");
+		soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(),
+				"Number of listed MetadataReferences in XML matches UI");
 
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
 
-    @Test(description = "SRCH-50")
-    @Ignore
-    public void expandServiceGroupCheckMetadata() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-50")
+	@Ignore
+	public void expandServiceGroupCheckMetadata() {
+		SoftAssert soft = new SoftAssert();
 
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
 
-        ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
-        String listedURL = row0.getServiceGroupURL();
-        String pScheme = row0.getParticipantScheme();
-        String pIdentifier = row0.getParticipantIdentifier();
+		ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
+		String listedURL = row0.getServiceGroupURL();
+		String pScheme = row0.getParticipantScheme();
+		String pIdentifier = row0.getParticipantIdentifier();
 
 //		verify proper URL format
-        ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
+		ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
 
-        MetadataGrid metadataGrid = row0.expandMetadata();
+		MetadataGrid metadataGrid = row0.expandMetadata();
 
-        List<MetadataRow> metadataRows = metadataGrid.getMetadataRows();
+		List<MetadataRow> metadataRows = metadataGrid.getMetadataRows();
 
-        soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata");
+		soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata");
 
-        for (MetadataRow metadataRow : metadataRows) {
-            String docScheme = metadataRow.getDocumentIdentifierScheme();
-            String docId = metadataRow.getDocumentIdentifier();
-            String url = metadataRow.getURL();
+		for (MetadataRow metadataRow : metadataRows) {
+			String docScheme = metadataRow.getDocumentIdentifierScheme();
+			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);
+			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);
 
 
-        }
+		}
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-60")
-    public void collapseMetadata() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-60")
+	public void collapseMetadata() {
+		SoftAssert soft = new SoftAssert();
 
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
 
-        ServiceGroupRow row0 = null;
-        List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
-        for (int i = 0; i < rows.size(); i++) {
-            if (rows.get(i).getMetadataSize() > 0) {
-                row0 = rows.get(i);
-            }
-        }
+		ServiceGroupRow row0 = null;
+		List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
+		for (int i = 0; i < rows.size(); i++) {
+			if (rows.get(i).getMetadataSize() > 0) {
+				row0 = rows.get(i);
+			}
+		}
 
-        if (null == row0) {
-            row0 = rows.get(0);
-            SMPRestClient.createMetadata(row0.getParticipantIdentifier());
-            page.refreshPage();
-            logger.info("Created Metadata for row 0");
-            row0 = page.getServiceGroupGrid().getRows().get(0);
-        }
+		if (null == row0) {
+			row0 = rows.get(0);
+			SMPRestClient.createMetadata(row0.getParticipantIdentifier());
+			page.refreshPage();
+			logger.info("Created Metadata for row 0");
+			row0 = page.getServiceGroupGrid().getRows().get(0);
+		}
 
 
-        soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it");
-        row0.expandMetadata();
+		soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it");
+		row0.expandMetadata();
 
-        soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click");
+		soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click");
 
-        row0.collapseMetadata();
-        soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse");
-        soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more");
+		row0.collapseMetadata();
+		soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse");
+		soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more");
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-70")
-    public void verifyOpenMetadataURL() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-70")
+	public void verifyOpenMetadataURL() {
+		SoftAssert soft = new SoftAssert();
 
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
 
-        ServiceGroupRow row0 = null;
-        List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
-        for (int i = 0; i < rows.size(); i++) {
-            if (rows.get(i).getMetadataSize() > 0) {
-                row0 = rows.get(i);
-            }
-        }
+		ServiceGroupRow row0 = null;
+		List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
+		for (int i = 0; i < rows.size(); i++) {
+			if (rows.get(i).getMetadataSize() > 0) {
+				row0 = rows.get(i);
+			}
+		}
 
-        if (null == row0) {
-            row0 = rows.get(0);
-            SMPRestClient.createMetadata(row0.getParticipantIdentifier());
-            page.refreshPage();
-            logger.info("Created Metadata for row 0");
-            row0 = page.getServiceGroupGrid().getRows().get(0);
-        }
+		if (null == row0) {
+			row0 = rows.get(0);
+			SMPRestClient.createMetadata(row0.getParticipantIdentifier());
+			page.refreshPage();
+			logger.info("Created Metadata for row 0");
+			row0 = page.getServiceGroupGrid().getRows().get(0);
+		}
 
-        String listedURL = row0.getServiceGroupURL();
-        String pScheme = row0.getParticipantScheme();
-        String pIdentifier = row0.getParticipantIdentifier();
+		String listedURL = row0.getServiceGroupURL();
+		String pScheme = row0.getParticipantScheme();
+		String pIdentifier = row0.getParticipantIdentifier();
 
 //		verify proper URL format
-        ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
+		ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL);
 
-        MetadataGrid metadataGrid = row0.expandMetadata();
+		MetadataGrid metadataGrid = row0.expandMetadata();
 
-        List<MetadataRow> metadataRows = metadataGrid.getMetadataRows();
+		List<MetadataRow> metadataRows = metadataGrid.getMetadataRows();
 
-        soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata");
+		soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata");
 
-        for (MetadataRow metadataRow : metadataRows) {
-            String docScheme = metadataRow.getDocumentIdentifierScheme();
-            String docId = metadataRow.getDocumentIdentifier();
-            String url = null;
-            try {
-                url = URLDecoder.decode(metadataRow.getURL(), "UTF-8");
-            } catch (UnsupportedEncodingException e) {
-                e.printStackTrace();
-            }
+		for (MetadataRow metadataRow : metadataRows) {
+			String docScheme = metadataRow.getDocumentIdentifierScheme();
+			String docId = metadataRow.getDocumentIdentifier();
+			String url = null;
+			try {
+				url = URLDecoder.decode(metadataRow.getURL(), "UTF-8");
+			} catch (UnsupportedEncodingException e) {
+				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();
+			String mainWindow = driver.getWindowHandle();
 
-            metadataRow.clickURL();
-            page.waitForNumberOfWindowsToBe(2);
-            Set<String> handleSet = driver.getWindowHandles();
-            String[] handles = handleSet.toArray(new String[handleSet.size()]);
+			metadataRow.clickURL();
+			page.waitForNumberOfWindowsToBe(2);
+			Set<String> handleSet = driver.getWindowHandles();
+			String[] handles = handleSet.toArray(new String[handleSet.size()]);
 
-            soft.assertTrue(handles.length == 2);
+			soft.assertTrue(handles.length == 2);
 
-            driver.switchTo().window(handles[1]);
-            driver.close();
-            driver.switchTo().window(handles[0]);
+			driver.switchTo().window(handles[1]);
+			driver.close();
+			driver.switchTo().window(handles[0]);
 
-        }
+		}
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-80")
-    public void filterByDifferentDomains() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-80")
+	public void filterByDifferentDomains() {
+		SoftAssert soft = new SoftAssert();
 
-        String participantID = Generator.randomAlphaNumeric(5);
-        String tmp = Generator.randomAlphaNumeric(3).toLowerCase();
-        String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp);
+		String participantID = Generator.randomAlphaNumeric(5);
+		String tmp = Generator.randomAlphaNumeric(3).toLowerCase();
+		String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp);
 
-        List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1));
-        List<String> owners = Arrays.asList(createdUsers.get(0));
+		List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1));
+		List<String> owners = Arrays.asList(createdUsers.get(0));
 
-        logger.info("Creating service group with participant id: " + participantID);
-        SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains);
+		logger.info("Creating service group with participant id: " + participantID);
+		SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains);
 
-        SearchPage searchPage = new SearchPage(driver);
-        searchPage.refreshPage();
+		SearchPage searchPage = new SearchPage(driver);
+		searchPage.refreshPage();
 
-        searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0)));
-        List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows();
+		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.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(),
-                "First and only result is the one we entered and is found when filtering by first domain");
+		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");
 
 
-        searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1)));
-        results = searchPage.getServiceGroupGrid().getRows();
+		searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1)));
+		results = searchPage.getServiceGroupGrid().getRows();
 
-        soft.assertEquals(results.size(), 1, "Results size is 1 (second 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 second domain");
+		soft.assertEquals(results.size(), 1, "Results size is 1 (second 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 second domain");
 
 
-        SMPRestClient.deleteSG(participantID);
+		SMPRestClient.deleteSG(participantID);
 
-        soft.assertAll();
-    }
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-90")
-    public void verifyDifferentParticipantIdAndSchemeResult() {
-        SoftAssert soft = new SoftAssert();
+	@Test(description = "SRCH-90")
+	public void verifyDifferentParticipantIdAndSchemeResult() {
+		SoftAssert soft = new SoftAssert();
 
-        SearchPage page = new SearchPage(driver);
-        soft.assertTrue(page.isLoaded());
-        String emptyMsg = "No data to display";
+		SearchPage page = new SearchPage(driver);
+		soft.assertTrue(page.isLoaded());
+		String emptyMsg = "No data to display";
 
-        ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
-        String pScheme = row0.getParticipantScheme();
+		ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
+		String pScheme = row0.getParticipantScheme();
 
-        ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1);
-        String pIdentifier = row1.getParticipantIdentifier();
+		ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1);
+		String pIdentifier = row1.getParticipantIdentifier();
 
-        page.filters.filter(pIdentifier, pScheme, "");
+		page.filters.filter(pIdentifier, pScheme, "");
 
-        soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found");
-        soft.assertAll();
-    }
+		soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found");
+		soft.assertAll();
+	}
 
-    @Test(description = "SRCH-100")
-    public void metadataTableContent() {
-        SoftAssert soft = new SoftAssert();
+	@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");
-            }
+		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();
-    }
+		}
+		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();
-    }
+	@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 66cf03187..151763ef6 100644
--- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/UsersPgTest.java
@@ -525,7 +525,7 @@ public class UsersPgTest extends BaseTest {
 		soft.assertTrue(page.isNewButtonEnabled(), "New button should be enabled");
 
 		UserPopup popup = page.clickNew();
-		soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup");
+		soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup");
 		popup.fillDetailsForm(userName, email);
 		popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
 		popup.clickOK();
@@ -548,7 +548,7 @@ public class UsersPgTest extends BaseTest {
 		popup.fillDetailsForm(userName, email);
 		popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
 
-		soft.assertFalse(popup.isOKButtonActive(), "OK button is enable after duplicate user name is filled in the popup");
+		soft.assertFalse(popup.isOKButtonActive(), "OK button is enabled after duplicate user name is filled in the popup");
 
 		soft.assertTrue(popup.isDuplicateUserNameErrorMsgDisPlayed(), "The user page is not containing the expected error message");
 		popup.clickCancel();
@@ -566,7 +566,7 @@ public class UsersPgTest extends BaseTest {
 		SoftAssert soft = new SoftAssert();
 		UsersPage usersPage = new UsersPage(driver);
 		UserPopup popup = usersPage.clickNew();
-		soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup");
+		soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup");
 		popup.fillDetailsForm(username, email);
 		popup.rolesSelect.selectOptionWithText("SMP_ADMIN");
 		popup.clickOK();
@@ -648,12 +648,12 @@ public class UsersPgTest extends BaseTest {
 
 		UsersPage page = new UsersPage(driver);
 		soft.assertTrue(page.isLoaded());
-		soft.assertTrue(page.isNewButtonEnabled(), "New button is not enable");
+		soft.assertTrue(page.isNewButtonEnabled(), "New button is not enabled");
 		soft.assertTrue(page.isEditTruststoreButtonEnabled(), "EditTruststore Button is not enabled");
-		soft.assertTrue(page.isDeleteButtonVisibled(), "Delete button is not visibled");
-		soft.assertTrue(page.isEditButtonVisibled(), "Edit button is not visibled");
-		soft.assertTrue(page.isSaveButtonVisibled(), "Save button is not visibled");
-		soft.assertTrue(page.isCancelButtonVisibled(), "Cancel button is not visibled");
+		soft.assertTrue(page.isDeleteButtonVisible(), "Delete button is not visible");
+		soft.assertTrue(page.isEditButtonVisible(), "Edit button is not visible");
+		soft.assertTrue(page.isSaveButtonVisible(), "Save button is not visible");
+		soft.assertTrue(page.isCancelButtonVisible(), "Cancel button is not visible");
 		soft.assertTrue(!page.isEditButtonEnabled(), "Edit button is  enabled");
 		soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is  enabled");
 		soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is  enabled");
@@ -725,7 +725,7 @@ public class UsersPgTest extends BaseTest {
 		for (String emailId : email) {
 			popup.fillDetailsForm(username, emailId);
 			popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
-			soft.assertTrue(!popup.isOKButtonActive(), "OK button is active after s4ending invalid email");
+			soft.assertTrue(!popup.isOKButtonActive(), "OK button is active after sending invalid email");
 			soft.assertEquals(popup.userEmailValidationGetErrMsg(), SMPMessages.USER_EMAIL_VALIDATION_MESSAGE, "Message is not in the list");
 		}
 		soft.assertAll();
-- 
GitLab