diff --git a/pom.xml b/pom.xml
index 5a083764c1610aa5119e4af4d90724e11c2e57da..cd4629a8a4d1c60b757ac3b5a821a05f22b37049 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,8 @@
   ~ See the Licence for the specific language governing permissions and limitations under the Licence.
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>eu.europa.ec.edelivery</groupId>
     <artifactId>smp-modules</artifactId>
@@ -94,19 +95,22 @@
         <!-- plugins -->
         <frontend-maven-plugin.version>1.9.1</frontend-maven-plugin.version>
         <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
+        <surefire.jvm.args></surefire.jvm.args>
+        <failsafe.jvm.args></failsafe.jvm.args>
 
         <sonar.jacoco.remotePort>${jacocoRemotePort}</sonar.jacoco.remotePort>
         <sonar.jacoco.remoteAddress>${jacocoRemoteAddress}</sonar.jacoco.remoteAddress>
 
         <sonar.host.url>http://localhost:9000/sonar/</sonar.host.url>
         <sonar.language>java</sonar.language>
-
+        <jacoco.append>true</jacoco.append>
         <sonar.binaries>target/classes</sonar.binaries>
-        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml
-        </sonar.coverage.jacoco.xmlReportPaths>
-        <jacoco.maven.plugin.version>0.8.6</jacoco.maven.plugin.version>
+        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+        <sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
+
+        <jacoco.maven.plugin.version>0.8.9</jacoco.maven.plugin.version>
         <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
-        <maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
+        <maven-failsafe-plugin.version>3.1.2</maven-failsafe-plugin.version>
         <sonar.exclusions>
             **/target/**,
             **/smp-angular/node_modules/**,
@@ -123,7 +127,8 @@
         </sonar.coverage.exclusions>
         <!-- latest version compatible with SonarQube 5.6 is: 3.3.0.603-->
         <sonar.maven.plugin.version>3.5.0.1254</sonar.maven.plugin.version>
-        <release.arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true</release.arguments>
+        <release.arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true
+        </release.arguments>
         <project.scm.id>edelivery-scm</project.scm.id>
     </properties>
 
@@ -752,9 +757,36 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
+                    <!-- make sure methods are  always run in same order -->
                     <runOrder>alphabetical</runOrder>
+                    <argLine>-ea ${argLine}</argLine>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <configuration>
+                    <!-- ... fool Sonar to show test success for both unit and integration tests together by
+                    instructing Failsafe to store its test reports to the same directory as Surefire instead of
+                    the default failsafe-reports.
+
+                    See https://jira.sonarsource.com/browse/SONAR-7526 -->
+
+                    <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
+                    <includes>
+                        <include>**/*IT.java</include>
+                    </includes>
+                    <runOrder>alphabetical</runOrder>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>integration-test</goal>
+                            <goal>verify</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
             <!-- jacoco start -->
             <plugin>
                 <groupId>org.jacoco</groupId>
@@ -773,6 +805,16 @@
                             <goal>report</goal>
                         </goals>
                     </execution>
+                    <execution>
+                        <id>jacoco-agent-it</id>
+                        <goals>
+                            <goal>prepare-agent-integration</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${jacoco.report.it}</destFile>
+                            <propertyName>failsafeArgLine</propertyName>
+                        </configuration>
+                    </execution>
                 </executions>
             </plugin>
             <plugin>
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
index f09e6960c9a071480e84729f2cd050926c5f477a..0ce0c73c7bd53c0ee9029a6105bdf8b099ed644a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
@@ -353,7 +353,7 @@ public class UITruststoreService extends BasicKeystoreService {
      *
      * @param cert
      * @throws CertificateException
-     */
+     *
     public void checkFullCertificateValidityLegacy(CertificateRO cert) throws CertificateException {
         // trust data in database
         if (cert.getValidFrom() != null && OffsetDateTime.now().isBefore(cert.getValidFrom())) {
@@ -391,7 +391,7 @@ public class UITruststoreService extends BasicKeystoreService {
             }
         }
     }
-
+*/
     boolean isTruststoreChanged() {
         File file = getTruststoreFile();
         return !Objects.equals(lastUpdateTrustStoreFile, file) ||
diff --git a/smp-webapp/pom.xml b/smp-webapp/pom.xml
index b3ca0c223bb7311f102c559ec3240a7a4b43a1a2..02c12664255d1fe55b53c1ff5a114ed8753d082b 100644
--- a/smp-webapp/pom.xml
+++ b/smp-webapp/pom.xml
@@ -165,9 +165,10 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <runOrder>alphabetical</runOrder>
-                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
similarity index 94%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
index 206cc1e7ea0591f8dbfea94f6726fd200c49d866..70c27371e7410841ffcde369ee7d94db7131b73a 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java
@@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.ui;
 
 import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
 import eu.europa.ec.edelivery.smp.data.dao.CredentialDao;
-import eu.europa.ec.edelivery.smp.data.model.user.DBCredential;
 import eu.europa.ec.edelivery.smp.services.ui.UIKeystoreService;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils;
@@ -22,8 +21,6 @@ import org.springframework.web.context.WebApplicationContext;
 
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
-import java.util.List;
-import java.util.Optional;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -39,9 +36,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
         "classpath:/cleanup-database.sql",
         "classpath:/webapp_integration_test_data.sql"},
         executionPhase = BEFORE_TEST_METHOD)
-public class AuthenticationResourceIntegrationTest {
+public class AuthenticationResourceIT {
 
-    private static final Logger LOG = LoggerFactory.getLogger(AuthenticationResourceIntegrationTest.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AuthenticationResourceIT.class);
 
     private static final String PATH = ResourceConstants.CONTEXT_PATH_PUBLIC_SECURITY + "/authentication";
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIT.java
similarity index 99%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIT.java
index 292face0b48e4d5ee2570f0acff076d85ae4b39e..af9ef4a9076c31f223fbcb7cd8d6b084901a7592 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DocumentEditControllerIT.java
@@ -26,7 +26,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
-class DocumentEditControllerIntegrationTest extends AbstractControllerTest {
+class DocumentEditControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_EDIT_DOCUMENT;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIT.java
similarity index 98%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIT.java
index 878d899234502ed9fc26b052fed18ff2b5fbf64f..986ecc67208eae7e5464d0d92025a6cbb3c71bb6 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/DomainEditControllerIT.java
@@ -28,7 +28,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 
-public class DomainEditControllerIntegrationTest extends AbstractControllerTest {
+public class DomainEditControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_EDIT_DOMAIN;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
similarity index 99%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
index 6fc5705dfd1475e41893fa50ee2c3a28741ef5e5..03c9372950313eac49fcb7913944ae4a7fced226 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java
@@ -30,7 +30,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  * For the test configuration see the webapp_integration_test_data.sql file.
  * The system admin user is admin member of domain '1' and group '1'.
  */
-public class GroupEditControllerIntegrationTest extends AbstractControllerTest {
+public class GroupEditControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_EDIT_GROUP;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIT.java
similarity index 99%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIT.java
index 1cf6a766ebd088e0783545fdc9088686b59e6f5f..bce4a5ae2f21d5709bc3df2ecc9d7e04f9fa3f8e 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/ResourceEditControllerIT.java
@@ -29,7 +29,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  * For the test configuration see the webapp_integration_test_data.sql file.
  * The system admin user is admin member of domain '1' and group '1'.
  */
-public class ResourceEditControllerIntegrationTest extends AbstractControllerTest {
+public class ResourceEditControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_EDIT_RESOURCE;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
similarity index 99%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
index e1cd09f676da349af5fe29314ac5ed6531773a18..5bfc52c0081c6ee3e3ae0b9ed9de30fa7a27df12 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java
@@ -48,7 +48,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
         "smp.artifact.version=TestApplicationVersion",
         "smp.artifact.build.time=2018-11-27 00:00:00",
 })
-public class ApplicationResourceIntegrationTest {
+public class ApplicationResourceIT {
     private static final String PATH = ResourceConstants.CONTEXT_PATH_PUBLIC_APPLICATION;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIT.java
similarity index 98%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIT.java
index fe034ae9f7f44290ac514cfb2d36804b77c4b3b9..aeb2c25d5d451f7e699909a354d67e86b62a2c71 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/DomainResourceIT.java
@@ -36,7 +36,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @Sql(scripts = {
         "/cleanup-database.sql",
         "/webapp_integration_test_data.sql"})
-public class DomainResourceIntegrationTest {
+public class DomainResourceIT {
     private static final String PATH = ResourceConstants.CONTEXT_PATH_PUBLIC_DOMAIN;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIT.java
similarity index 98%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIT.java
index 07ac51282f24e41c87817f23052ad15e7072cd7e..d73c5f4a675a2b20234624a953ae034583285050 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/SearchResourceIT.java
@@ -41,7 +41,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
         "classpath:/cleanup-database.sql",
         "classpath:/webapp_integration_test_data.sql"},
         executionPhase = BEFORE_TEST_METHOD)
-public class SearchResourceIntegrationTest {
+public class SearchResourceIT {
 
     @Autowired
     private WebApplicationContext webAppContext;
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
similarity index 98%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
index d6a89a82d9f512294bcc6cc6eb288a068652e115..77c32e502e062b34af272f6d4313e5a82f738d94 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserControllerIT.java
@@ -24,7 +24,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 
-public class UserControllerTest extends AbstractControllerTest {
+public class UserControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_PUBLIC_USER;
 
     @Autowired
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
similarity index 97%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
index c51451d93eff8115ed9394ead905f4c3061349c9..abde55fe8c84e93f73111daad462461b9c203b66 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java
@@ -3,7 +3,6 @@ package eu.europa.ec.edelivery.smp.ui.external;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.json.JsonMapper;
 import eu.europa.ec.edelivery.smp.data.ui.AccessTokenRO;
-import eu.europa.ec.edelivery.smp.data.ui.CertificateRO;
 import eu.europa.ec.edelivery.smp.data.ui.PasswordChangeRO;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
@@ -23,7 +22,6 @@ import org.springframework.test.web.servlet.MvcResult;
 import org.springframework.web.context.WebApplicationContext;
 
 import javax.ws.rs.core.MediaType;
-import java.util.UUID;
 
 import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*;
 import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.CONTEXT_PATH_PUBLIC_SECURITY_USER;
@@ -44,7 +42,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
         "classpath:/cleanup-database.sql",
         "classpath:/webapp_integration_test_data.sql"},
         executionPhase = BEFORE_TEST_METHOD)
-public class UserResourceIntegrationTest {
+public class UserResourceIT {
 
     private static final String PATH_PUBLIC = ResourceConstants.CONTEXT_PATH_PUBLIC_USER;
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIT.java
similarity index 89%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIT.java
index 0c4cda544909750f507a33d37172298034b9d8d1..adcda948e18a626ad4fac15672f35e8344a3494c 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResourceIT.java
@@ -1,27 +1,19 @@
 package eu.europa.ec.edelivery.smp.ui.internal;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import eu.europa.ec.edelivery.smp.data.dao.DomainDao;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
-import eu.europa.ec.edelivery.smp.data.ui.DeleteEntityValidation;
 import eu.europa.ec.edelivery.smp.data.ui.DomainRO;
 import eu.europa.ec.edelivery.smp.data.ui.UserRO;
 import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus;
-import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils;
+import eu.europa.ec.edelivery.smp.ui.AbstractControllerTest;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import org.apache.commons.lang3.StringUtils;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mock.web.MockHttpSession;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.jdbc.Sql;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.MvcResult;
 import org.springframework.web.context.WebApplicationContext;
@@ -29,24 +21,14 @@ import org.springframework.web.context.WebApplicationContext;
 import java.util.List;
 
 import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*;
-import static org.hamcrest.Matchers.stringContainsInOrder;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_METHOD;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 
-@RunWith(SpringRunner.class)
-@WebAppConfiguration
-@DirtiesContext
-@ContextConfiguration(classes = {SmpTestWebAppConfig.class})
-@Sql(scripts = {
-        "classpath:/cleanup-database.sql",
-        "classpath:/webapp_integration_test_data.sql"},
-        executionPhase = BEFORE_TEST_METHOD)
-public class DomainAdminResourceIntegrationTest {
+public class DomainAdminResourceIT extends AbstractControllerTest {
     private static final String PATH = ResourceConstants.CONTEXT_PATH_INTERNAL_DOMAIN;
 
     @Autowired
@@ -57,13 +39,14 @@ public class DomainAdminResourceIntegrationTest {
 
     private MockMvc mvc;
 
-    @Before
+    @BeforeEach
     public void setup() {
         mvc = MockMvcUtils.initializeMockMvc(webAppContext);
     }
 
     @Test
     public void testGetAllDomains() throws Exception {
+
         List<DBDomain> domain = domainDao.getAllDomains();
         MockHttpSession session = loginWithSystemAdmin(mvc);
         UserRO userRO = MockMvcUtils.getLoggedUserData(mvc, session);
@@ -125,7 +108,7 @@ public class DomainAdminResourceIntegrationTest {
     public void updateDomainSmlIntegrationData() throws Exception {
         String domainCode = "domainTwo";
         MockHttpSession session = loginWithSystemAdmin(mvc);
-        UserRO userRO = (UserRO)session.getAttribute(MOCK_LOGGED_USER);
+        UserRO userRO = (UserRO) session.getAttribute(MOCK_LOGGED_USER);
 
         DomainRO domainToUpdate = getDomain(domainCode, userRO, session);
         domainToUpdate.setSmlSubdomain("NewCode");
@@ -145,7 +128,7 @@ public class DomainAdminResourceIntegrationTest {
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void updateDomainDataAddNewResourceDef() throws Exception {
         // set the webapp_integration_test_data.sql for resourceDefID
         String resourceDefID = "edelivery-oasis-cppa";
@@ -194,7 +177,7 @@ public class DomainAdminResourceIntegrationTest {
                         .content("[2]")) // delete domain with id 2
                 .andExpect(status().isOk()).andReturn();
 
-        //them
+        //then
         ObjectMapper mapper = new ObjectMapper();
         DeleteEntityValidation res = mapper.readValue(result.getResponse().getContentAsString(), DeleteEntityValidation.class);
 
@@ -290,8 +273,8 @@ public class DomainAdminResourceIntegrationTest {
 
     }
 
-    private String entitiToString(Object object ) throws Exception {
-            return serializeObject(object);
+    private String entitiToString(Object object) throws Exception {
+        return serializeObject(object);
 
 
     }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreAdminControllerIT.java
similarity index 98%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreAdminControllerIT.java
index 4d8c2b2e4c6914a0069bb8932fb78125fd5ef83a..b4d3c7caf5d9fd78e0fa3d44758e13604fa2853f 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreAdminControllerIT.java
@@ -27,7 +27,7 @@ import static org.springframework.security.test.web.servlet.request.SecurityMock
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
-public class KeystoreResourceIntegrationTest extends AbstractControllerTest {
+public class KeystoreAdminControllerIT extends AbstractControllerTest {
     private static final String PATH = CONTEXT_PATH_INTERNAL_KEYSTORE;
     Path keystore = Paths.get("src", "test", "resources", "keystores", "smp-keystore.jks");
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminControllerIT.java
similarity index 94%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResourceIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminControllerIT.java
index a5177f664f9e1b27baecb0e286232ca7a9b49ced..d8e9c06a5f3097a11ae7777db2badcfbb35c64e3 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminControllerIT.java
@@ -9,7 +9,7 @@ import eu.europa.ec.edelivery.smp.services.ui.UITruststoreService;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.test.testutils.X509CertificateTestUtils;
 import eu.europa.ec.edelivery.smp.ui.AbstractControllerTest;
-import eu.europa.ec.edelivery.smp.ui.external.UserResourceIntegrationTest;
+import eu.europa.ec.edelivery.smp.ui.external.UserResourceIT;
 import org.apache.commons.io.IOUtils;
 import org.hamcrest.CoreMatchers;
 import org.junit.Ignore;
@@ -36,7 +36,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 @ContextConfiguration(classes = {SmpTestWebAppConfig.class, UITruststoreService.class})
-public class TruststoreAdminResourceIntegrationTest extends AbstractControllerTest {
+public class TruststoreAdminControllerIT extends AbstractControllerTest {
     private static final String PATH_INTERNAL = CONTEXT_PATH_INTERNAL_TRUSTSTORE;
     private static final String PATH_PUBLIC = CONTEXT_PATH_PUBLIC_TRUSTSTORE;
 
@@ -77,7 +77,7 @@ public class TruststoreAdminResourceIntegrationTest extends AbstractControllerTe
 
     @Test
     public void validateCertificateSystemAdmin() throws Exception {
-        byte[] buff = IOUtils.toByteArray(UserResourceIntegrationTest.class.getResourceAsStream("/SMPtest.crt"));
+        byte[] buff = IOUtils.toByteArray(UserResourceIT.class.getResourceAsStream("/SMPtest.crt"));
         // login
         MockHttpSession session = loginWithSystemAdmin(mvc);
         // when update data
@@ -129,7 +129,7 @@ public class TruststoreAdminResourceIntegrationTest extends AbstractControllerTe
 
     @Test
     public void uploadCertificateInvalidUser() throws Exception {
-        byte[] buff = IOUtils.toByteArray(UserResourceIntegrationTest.class.getResourceAsStream("/SMPtest.crt"));
+        byte[] buff = IOUtils.toByteArray(UserResourceIT.class.getResourceAsStream("/SMPtest.crt"));
         // id and logged user not match
         // given when
         mvc.perform(post(PATH_PUBLIC + "/34556655/validate-certificate")
@@ -176,7 +176,7 @@ public class TruststoreAdminResourceIntegrationTest extends AbstractControllerTe
         MockHttpSession session = loginWithSystemAdmin(mvc);
         UserRO userRO = getLoggedUserData(mvc, session);
 
-        byte[] buff = IOUtils.toByteArray(UserResourceIntegrationTest.class.getResourceAsStream("/SMPtest.crt"));
+        byte[] buff = IOUtils.toByteArray(UserResourceIT.class.getResourceAsStream("/SMPtest.crt"));
 
         int countStart = uiTruststoreService.getNormalizedTrustedList().size();
         MvcResult prepRes = mvc.perform(post(PATH_INTERNAL + "/" + userRO.getUserId() + "/upload-certificate")
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
similarity index 99%
rename from smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIntegrationTest.java
rename to smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
index 277e19ab00fbe2ca83d31819379130370f88cab9..e5109dca73eff3091fd1f1f5f1d7a2eebfcb7e9e 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java
@@ -21,7 +21,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 
-public class UserAdminControllerIntegrationTest extends AbstractControllerTest {
+public class UserAdminControllerIT extends AbstractControllerTest {
 
     private static final String PATH_INTERNAL = ResourceConstants.CONTEXT_PATH_INTERNAL_USER;
 
@@ -74,7 +74,6 @@ public class UserAdminControllerIntegrationTest extends AbstractControllerTest {
 
         assertFalse(dev.getListIds().isEmpty());
         assertFalse(dev.getListDeleteNotPermitedIds().isEmpty());
-
     }
 
     @Test