You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ie...@apache.org on 2020/06/25 16:31:39 UTC

[james-project] 14/17: JAMES-3260 Builds up to ':james-server:james-server-data-jmap:compileTestJava'

This is an automated email from the ASF dual-hosted git repository.

ieugen pushed a commit to branch JAMES-3260-gradle-poc
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 2edba3b6dfc7adfa2cd11b2c9f13414264d20177
Author: Eugen Stan <ie...@apache.org>
AuthorDate: Wed Jun 24 00:45:18 2020 +0300

    JAMES-3260 Builds up to ':james-server:james-server-data-jmap:compileTestJava'
    
    * Migrated more projects
    * Using `api` gradle configuration for more dependencies
---
 backends-common/cassandra/build.gradle             |  2 +-
 backends-common/elasticsearch/build.gradle         |  2 +-
 backends-common/jpa/build.gradle                   |  2 +-
 backends-common/rabbitmq/build.gradle              |  2 +-
 event-sourcing/event-store-cassandra/build.gradle  |  2 +-
 javax-mail-extension/build.gradle                  |  2 +-
 json/build.gradle                                  |  2 +-
 mailbox/api/build.gradle                           |  6 +-
 mailbox/backup/build.gradle                        |  5 +-
 mailbox/cassandra/build.gradle                     | 14 ++---
 mailbox/elasticsearch/build.gradle                 |  9 +--
 mailbox/event/event-cassandra/build.gradle         |  5 +-
 mailbox/event/event-memory/build.gradle            |  8 ++-
 mailbox/event/event-rabbitmq/build.gradle          |  9 +--
 mailbox/event/json/build.gradle                    |  2 +-
 mailbox/jpa/build.gradle                           |  8 +--
 mailbox/lucene/build.gradle                        |  6 +-
 mailbox/maildir/build.gradle                       |  7 ++-
 mailbox/memory/build.gradle                        |  4 +-
 mailbox/plugin/quota-mailing/build.gradle          | 14 ++---
 .../plugin/quota-search-elasticsearch/build.gradle |  2 +-
 mailbox/plugin/quota-search-scanning/build.gradle  |  2 +-
 mailbox/plugin/quota-search/build.gradle           |  4 +-
 mailbox/plugin/spamassassin/build.gradle           |  2 +-
 mailbox/scanning-search/build.gradle               | 11 +++-
 mailbox/spring/build.gradle                        |  2 +-
 mailbox/store/build.gradle                         |  7 ++-
 mailbox/tika/build.gradle                          | 11 ++--
 mailbox/tools/copier/build.gradle                  |  5 +-
 mailbox/tools/indexer/build.gradle                 | 10 ++--
 mailbox/tools/quota-recompute/build.gradle         | 12 ++--
 mailet/test/build.gradle                           |  3 +-
 metrics/metrics-api/build.gradle                   |  2 +-
 metrics/metrics-tests/build.gradle                 |  2 +-
 mpt/impl/imap-mailbox/jpa/build.gradle             |  2 +-
 mpt/impl/imap-mailbox/lucenesearch/build.gradle    |  2 +-
 mpt/impl/imap-mailbox/maildir/build.gradle         |  2 +-
 mpt/impl/imap-mailbox/rabbitmq/build.gradle        |  2 +-
 mpt/impl/managesieve/file/build.gradle             |  2 +-
 .../cassandra-rabbitmq-object-storage/build.gradle |  2 +-
 mpt/impl/smtp/cassandra/build.gradle               |  2 +-
 mpt/impl/smtp/core/build.gradle                    |  2 +-
 server/blob/blob-api/build.gradle                  |  2 +-
 server/blob/blob-cassandra/build.gradle            | 21 ++++++-
 server/blob/blob-common/build.gradle               | 17 +++++-
 server/blob/blob-deduplicating/build.gradle        | 20 ++++++-
 server/blob/blob-export-api/build.gradle           |  3 +-
 server/blob/blob-export-file/build.gradle          | 11 ++--
 server/blob/blob-memory/build.gradle               | 19 ++++++-
 server/blob/blob-objectstorage/build.gradle        |  2 +-
 server/blob/blob-union/build.gradle                | 21 ++++++-
 server/blob/mail-store/build.gradle                | 21 ++++++-
 server/container/cli-integration/build.gradle      | 28 +++++++++-
 server/container/core/build.gradle                 |  7 ++-
 server/container/filesystem-api/build.gradle       |  1 +
 server/container/guice/activemq/build.gradle       | 16 +++++-
 server/container/guice/blob-api-guice/build.gradle | 19 ++++++-
 .../container/guice/blob-export-guice/build.gradle | 39 +++++++++++--
 .../container/guice/blob-memory-guice/build.gradle | 20 ++++++-
 .../guice/blob-objectstorage-guice/build.gradle    | 21 ++++++-
 .../container/guice/cassandra-guice/build.gradle   | 20 ++++++-
 .../guice/cassandra-ldap-guice/build.gradle        | 19 ++++++-
 .../guice/cassandra-rabbitmq-guice/build.gradle    | 18 +++++-
 .../cassandra-rabbitmq-ldap-guice/build.gradle     | 17 +++++-
 server/container/guice/configuration/build.gradle  | 25 ++++++---
 .../guice/es-metric-reporter/build.gradle          | 21 ++++++-
 server/container/guice/guice-common/build.gradle   | 49 +++++++++--------
 server/container/guice/guice-utils/build.gradle    |  3 +-
 server/container/guice/jmx/build.gradle            | 24 +++++++-
 .../container/guice/jpa-common-guice/build.gradle  | 17 +++++-
 server/container/guice/jpa-guice/build.gradle      | 19 ++++++-
 .../container/guice/jpa-smtp-common/build.gradle   | 16 ++++++
 .../container/guice/jpa-smtp-mariadb/build.gradle  | 19 ++++++-
 server/container/guice/jpa-smtp/build.gradle       | 20 ++++++-
 .../build.gradle                                   | 26 +++++++--
 .../guice/mailbox-plugin-spamassassin/build.gradle | 23 +++++++-
 server/container/guice/mailbox/build.gradle        | 23 ++++----
 server/container/guice/mailet/build.gradle         | 16 +++---
 server/container/guice/memory-guice/build.gradle   | 43 ++++++++++++---
 server/container/guice/onami/build.gradle          | 16 +++++-
 server/container/guice/protocols/imap/build.gradle | 22 +++++++-
 server/container/guice/protocols/jmap/build.gradle | 31 ++++++-----
 server/container/guice/protocols/lmtp/build.gradle | 22 +++++++-
 .../guice/protocols/managedsieve/build.gradle      | 27 +++++++--
 .../container/guice/protocols/netty/build.gradle   |  2 +-
 server/container/guice/protocols/pop/build.gradle  | 21 ++++++-
 server/container/guice/protocols/smtp/build.gradle | 22 +++++++-
 .../guice/protocols/webadmin-data/build.gradle     | 21 ++++++-
 .../guice/protocols/webadmin-jmap/build.gradle     | 22 +++++++-
 .../guice/protocols/webadmin-mailbox/build.gradle  | 25 ++++++++-
 .../protocols/webadmin-mailqueue/build.gradle      | 23 +++++++-
 .../protocols/webadmin-mailrepository/build.gradle | 21 ++++++-
 .../guice/protocols/webadmin-swagger/build.gradle  | 21 ++++++-
 .../guice/protocols/webadmin/build.gradle          | 25 +++++++--
 server/container/guice/rabbitmq/build.gradle       | 17 +++++-
 server/container/guice/sieve-file/build.gradle     | 16 ++++++
 server/container/guice/sieve-jpa/build.gradle      | 18 ++++++
 .../custom-mailets-implementation/build.gradle     | 16 ++++++
 .../guice/testing/custom-mailets/build.gradle      | 16 ++++++
 server/container/lifecycle-api/build.gradle        |  2 +-
 server/container/mailbox-adapter/build.gradle      |  1 -
 .../metrics/metrics-es-reporter/build.gradle       |  2 +-
 server/container/util/build.gradle                 | 18 +++++-
 server/data/data-api/build.gradle                  |  2 +-
 server/data/data-cassandra/build.gradle            | 44 ++++++++-------
 server/data/data-file/build.gradle                 | 16 +++---
 server/data/data-jdbc/build.gradle                 | 16 +++---
 server/data/data-jmap-cassandra/build.gradle       |  2 +-
 server/data/data-jmap/build.gradle                 | 13 ++---
 server/data/data-jpa/build.gradle                  | 14 ++---
 server/data/data-ldap/build.gradle                 |  9 ++-
 server/data/data-library/build.gradle              |  2 +-
 server/data/data-memory/build.gradle               |  4 +-
 server/dns-service/dnsservice-library/build.gradle |  2 +-
 server/mailet/integration-testing/build.gradle     |  2 +-
 .../mailrepository/mailrepository-api/build.gradle | 10 +++-
 .../build.gradle                                   |  2 +-
 server/protocols/jwt/build.gradle                  |  2 +-
 server/protocols/protocols-imap4/build.gradle      |  8 +--
 server/protocols/protocols-library/build.gradle    | 32 +++++++++--
 server/protocols/protocols-lmtp/build.gradle       | 21 ++++---
 .../protocols/protocols-managesieve/build.gradle   |  9 ++-
 server/protocols/protocols-pop3/build.gradle       | 13 ++---
 server/protocols/protocols-smtp/build.gradle       | 29 +++++-----
 .../build.gradle                                   | 16 ++++++
 .../memory-webadmin-integration-test/build.gradle  | 15 +++++
 .../webadmin-integration-test-common/build.gradle  | 18 +++++-
 .../webadmin/webadmin-cassandra-data/build.gradle  | 16 ++++++
 .../webadmin/webadmin-cassandra/build.gradle       | 19 ++++++-
 .../protocols/webadmin/webadmin-core/build.gradle  | 64 ++++++++++++++++++----
 .../james/webadmin/authentication/JwtFilter.java   |  3 +-
 .../protocols/webadmin/webadmin-data/build.gradle  | 29 ++++++++--
 .../protocols/webadmin/webadmin-jmap/build.gradle  | 33 +++++++++--
 .../build.gradle                                   | 39 +++++++++++--
 .../webadmin/webadmin-mailbox/build.gradle         | 40 +++++++++++---
 .../webadmin/webadmin-mailqueue/build.gradle       | 31 ++++++++++-
 .../webadmin/webadmin-mailrepository/build.gradle  | 35 ++++++++++--
 .../webadmin/webadmin-swagger/build.gradle         | 18 +++++-
 server/task/task-api/build.gradle                  | 16 +++++-
 server/task/task-distributed/build.gradle          |  2 +-
 server/task/task-memory/build.gradle               |  2 +-
 third-party/linshare/build.gradle                  |  8 +++
 third-party/spamassassin/build.gradle              |  2 +-
 143 files changed, 1556 insertions(+), 437 deletions(-)

diff --git a/backends-common/cassandra/build.gradle b/backends-common/cassandra/build.gradle
index 3375fb0..ce69198 100644
--- a/backends-common/cassandra/build.gradle
+++ b/backends-common/cassandra/build.gradle
@@ -33,7 +33,7 @@ dependencies {
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
 
     testImplementation project(':james-server:james-server-task-memory')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
     testImplementation 'commons-beanutils:commons-beanutils:1.9.4'
diff --git a/backends-common/elasticsearch/build.gradle b/backends-common/elasticsearch/build.gradle
index aa4fc23..f7751f0 100644
--- a/backends-common/elasticsearch/build.gradle
+++ b/backends-common/elasticsearch/build.gradle
@@ -27,7 +27,7 @@ dependencies {
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
diff --git a/backends-common/jpa/build.gradle b/backends-common/jpa/build.gradle
index e2704a4..c6a64b2 100644
--- a/backends-common/jpa/build.gradle
+++ b/backends-common/jpa/build.gradle
@@ -16,7 +16,7 @@ dependencies {
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.apache.derby:derby:10.14.2.0'
 }
 
diff --git a/backends-common/rabbitmq/build.gradle b/backends-common/rabbitmq/build.gradle
index d30298a..f074bc8 100644
--- a/backends-common/rabbitmq/build.gradle
+++ b/backends-common/rabbitmq/build.gradle
@@ -27,7 +27,7 @@ dependencies {
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
 
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
     testImplementation 'org.apache.httpcomponents:httpclient:4.5.10'
diff --git a/event-sourcing/event-store-cassandra/build.gradle b/event-sourcing/event-store-cassandra/build.gradle
index 73f9c6d..125f054 100644
--- a/event-sourcing/event-store-cassandra/build.gradle
+++ b/event-sourcing/event-store-cassandra/build.gradle
@@ -36,7 +36,7 @@ dependencies {
     testImplementation project(':event-sourcing:event-sourcing-core')
     testImplementation project(path: ':event-sourcing:event-sourcing-core', configuration: 'tests')
     testImplementation project(path: ':event-sourcing:event-sourcing-pojo', configuration: 'tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
diff --git a/javax-mail-extension/build.gradle b/javax-mail-extension/build.gradle
index 3076f06..f2fcab3 100644
--- a/javax-mail-extension/build.gradle
+++ b/javax-mail-extension/build.gradle
@@ -7,7 +7,7 @@ dependencies {
     implementation 'com.sun.mail:javax.mail:1.6.2'
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'javax.activation:javax.activation-api:1.2.0'
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James :: Java Mail Extension'
diff --git a/json/build.gradle b/json/build.gradle
index a40d15d..8094b9f 100644
--- a/json/build.gradle
+++ b/json/build.gradle
@@ -14,7 +14,7 @@ dependencies {
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    // testImplementation project(':testing-base')
+
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
diff --git a/mailbox/api/build.gradle b/mailbox/api/build.gradle
index ab43616..01017ee 100644
--- a/mailbox/api/build.gradle
+++ b/mailbox/api/build.gradle
@@ -10,8 +10,8 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-task-api')
+    api project(':james-core')
+    api project(':james-server:james-server-task-api')
 
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
@@ -28,7 +28,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation project(":james-server:james-server-util")
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
diff --git a/mailbox/backup/build.gradle b/mailbox/backup/build.gradle
index 9bcb7f1..ef23d89 100644
--- a/mailbox/backup/build.gradle
+++ b/mailbox/backup/build.gradle
@@ -10,8 +10,9 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
+
     implementation project(':james-server:james-server-util')
 
     implementation 'org.reactivestreams:reactive-streams:1.0.3'
@@ -35,7 +36,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.apache.james:apache-mime4j-dom:0.8.3'
 
diff --git a/mailbox/cassandra/build.gradle b/mailbox/cassandra/build.gradle
index d661883..d5fde7b 100644
--- a/mailbox/cassandra/build.gradle
+++ b/mailbox/cassandra/build.gradle
@@ -10,14 +10,14 @@ configurations {
 }
 
 dependencies {
-    implementation project(":james-core")
-    implementation project(":james-json")
-
-    implementation project(':james-backends-common:apache-james-backends-cassandra')
+    api project(":james-core")
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
     api project(':james-server:james-server-task-api')
+    api project(':james-server:james-server-blob:blob-api')
+
+    implementation project(":james-json")
+    implementation project(':james-backends-common:apache-james-backends-cassandra')
     implementation project(':james-server:james-server-task-json')
     implementation project(':james-server:james-server-util')
 
@@ -51,7 +51,7 @@ dependencies {
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':metrics:metrics-api')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation project(":james-server:james-server-util")
 
     testImplementation 'org.apache.james:apache-mime4j-dom:0.8.3'
diff --git a/mailbox/elasticsearch/build.gradle b/mailbox/elasticsearch/build.gradle
index bb4fcce..7b99f12 100644
--- a/mailbox/elasticsearch/build.gradle
+++ b/mailbox/elasticsearch/build.gradle
@@ -6,11 +6,12 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+
     implementation project(':james-server:james-server-util')
     implementation project(':james-backends-common:apache-james-backends-es')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation 'org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.3'
     implementation 'org.apache.commons:commons-configuration2:2.7'
@@ -42,7 +43,7 @@ dependencies {
     testImplementation project(':james-server:james-server-util')
     testImplementation project(':metrics:metrics-api')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
diff --git a/mailbox/event/event-cassandra/build.gradle b/mailbox/event/event-cassandra/build.gradle
index 47e7a5f..3b4408b 100644
--- a/mailbox/event/event-cassandra/build.gradle
+++ b/mailbox/event/event-cassandra/build.gradle
@@ -10,10 +10,11 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-backends-common:apache-james-backends-cassandra')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
     api project(':apache-james-mailbox:apache-james-mailbox-event-json')
 
+    implementation project(':james-backends-common:apache-james-backends-cassandra')
+
     implementation 'com.typesafe.play:play-json_2.13:2.8.1'
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
     implementation 'com.datastax.cassandra:cassandra-driver-core:3.7.2'
@@ -25,7 +26,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-api', configuration: 'tests')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-store')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/event/event-memory/build.gradle b/mailbox/event/event-memory/build.gradle
index df4a6e8..e69852d 100644
--- a/mailbox/event/event-memory/build.gradle
+++ b/mailbox/event/event-memory/build.gradle
@@ -6,16 +6,18 @@ plugins {
 }
 
 dependencies {
-    implementation project(":james-core")
+    api project(":james-core")
     api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':metrics:metrics-api')
+
     implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
 
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-api', configuration: 'tests')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
 
diff --git a/mailbox/event/event-rabbitmq/build.gradle b/mailbox/event/event-rabbitmq/build.gradle
index 78d4021..10adcb4 100644
--- a/mailbox/event/event-rabbitmq/build.gradle
+++ b/mailbox/event/event-rabbitmq/build.gradle
@@ -6,13 +6,14 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':james-server:james-server-lifecycle-api')
+    api project(':metrics:metrics-api')
+
     implementation project(':james-server:james-server-util')
     implementation project(':james-backends-common:apache-james-backends-rabbitmq')
-    api project(':apache-james-mailbox:apache-james-mailbox-api')
     implementation project(':apache-james-mailbox:apache-james-mailbox-event-json')
-    implementation project(':james-server:james-server-lifecycle-api')
-    implementation project(':metrics:metrics-api')
 
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
     implementation 'io.projectreactor.rabbitmq:reactor-rabbitmq:1.4.1.RELEASE'
diff --git a/mailbox/event/json/build.gradle b/mailbox/event/json/build.gradle
index 605e4e5..97346a2 100644
--- a/mailbox/event/json/build.gradle
+++ b/mailbox/event/json/build.gradle
@@ -7,7 +7,7 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
 
     implementation 'com.beachape:enumeratum_2.13:1.5.13'
diff --git a/mailbox/jpa/build.gradle b/mailbox/jpa/build.gradle
index a92b890..ee4e4a3 100644
--- a/mailbox/jpa/build.gradle
+++ b/mailbox/jpa/build.gradle
@@ -19,11 +19,11 @@ plugins {
 apply plugin: 'openjpa'
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation project(':james-backends-common:apache-james-backends-jpa')
-    api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
     implementation project(':james-server:james-server-util')
 
     implementation 'org.apache.openjpa:openjpa:3.1.0'
@@ -54,7 +54,7 @@ dependencies {
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-tools-quota-recompute', configuration: 'tests')
     testImplementation project(':james-server:james-server-data-jpa')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.apache.derby:derby:10.14.2.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
diff --git a/mailbox/lucene/build.gradle b/mailbox/lucene/build.gradle
index 164cce2..887fd33 100644
--- a/mailbox/lucene/build.gradle
+++ b/mailbox/lucene/build.gradle
@@ -6,9 +6,9 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation 'org.apache.james:apache-mime4j-core:0.8.3'
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
@@ -33,7 +33,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-store')
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-store', configuration: 'tests')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/maildir/build.gradle b/mailbox/maildir/build.gradle
index 5d55f58..132c66d 100644
--- a/mailbox/maildir/build.gradle
+++ b/mailbox/maildir/build.gradle
@@ -6,9 +6,10 @@ plugins {
 }
 
 dependencies {
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+
     implementation project(':james-core')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation 'org.apache.james:apache-mime4j-core:0.8.3'
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
@@ -26,7 +27,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-event-memory')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/memory/build.gradle b/mailbox/memory/build.gradle
index d07afdd..c23d712 100644
--- a/mailbox/memory/build.gradle
+++ b/mailbox/memory/build.gradle
@@ -10,10 +10,10 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
 
-    implementation project(':james-core')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
     implementation project(':james-server:james-server-util')
 
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
diff --git a/mailbox/plugin/quota-mailing/build.gradle b/mailbox/plugin/quota-mailing/build.gradle
index 6ff5bbd..494ea96 100644
--- a/mailbox/plugin/quota-mailing/build.gradle
+++ b/mailbox/plugin/quota-mailing/build.gradle
@@ -10,18 +10,16 @@ configurations {
 }
 
 dependencies {
-    implementation project(":james-core")
-
+    api project(":james-core")
+    api project(':apache-mailet:apache-mailet-api')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-filesystem-api')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-mailet:apache-mailet-api')
+    api project(':event-sourcing:event-sourcing-event-store-api')
 
+    implementation project(':james-server:james-server-util')
     implementation project(':event-sourcing:event-sourcing-pojo')
     implementation project(':event-sourcing:event-sourcing-core')
-    implementation project(':event-sourcing:event-sourcing-event-store-api')
-
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-filesystem-api')
-    implementation project(':james-server:james-server-util')
 
     implementation 'com.github.spullara.mustache.java:compiler:0.9.6'
     implementation 'javax.inject:javax.inject:1'
diff --git a/mailbox/plugin/quota-search-elasticsearch/build.gradle b/mailbox/plugin/quota-search-elasticsearch/build.gradle
index 6792225..4a16668 100644
--- a/mailbox/plugin/quota-search-elasticsearch/build.gradle
+++ b/mailbox/plugin/quota-search-elasticsearch/build.gradle
@@ -42,7 +42,7 @@ dependencies {
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-util')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
diff --git a/mailbox/plugin/quota-search-scanning/build.gradle b/mailbox/plugin/quota-search-scanning/build.gradle
index d96e7f3..88fbac9 100644
--- a/mailbox/plugin/quota-search-scanning/build.gradle
+++ b/mailbox/plugin/quota-search-scanning/build.gradle
@@ -28,7 +28,7 @@ dependencies {
     testImplementation project(path: ':james-core', configuration: 'tests')
     testImplementation project(':james-server:james-server-data-memory')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/plugin/quota-search/build.gradle b/mailbox/plugin/quota-search/build.gradle
index a7d5ef0..3ef6035 100644
--- a/mailbox/plugin/quota-search/build.gradle
+++ b/mailbox/plugin/quota-search/build.gradle
@@ -11,7 +11,7 @@ configurations {
 
 dependencies {
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':james-core')
+    api project(':james-core')
 
     implementation 'com.google.guava:guava:25.1-jre'
 
@@ -19,7 +19,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-memory')
     testImplementation project(path: ':james-core', configuration: 'tests')
     testImplementation project(':james-server:james-server-data-api')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.apache.james:apache-mime4j-dom:0.8.3'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/plugin/spamassassin/build.gradle b/mailbox/plugin/spamassassin/build.gradle
index 869e2b5..e7268a0 100644
--- a/mailbox/plugin/spamassassin/build.gradle
+++ b/mailbox/plugin/spamassassin/build.gradle
@@ -28,7 +28,7 @@ dependencies {
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-memory', configuration: 'tests')
     testImplementation project(':third-party:apache-james-spamassassin')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.assertj:assertj-core:3.12.2'
diff --git a/mailbox/scanning-search/build.gradle b/mailbox/scanning-search/build.gradle
index 892631c..6912bfd 100644
--- a/mailbox/scanning-search/build.gradle
+++ b/mailbox/scanning-search/build.gradle
@@ -5,9 +5,13 @@ plugins {
     id 'java-library'
 }
 
+configurations {
+    tests
+}
+
 dependencies {
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     implementation 'org.slf4j:slf4j-api:1.7.27'
@@ -21,7 +25,6 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-store')
     testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-store', configuration: 'tests')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
 
     testImplementation 'org.apache.pdfbox:pdfbox:2.0.16'
     testImplementation 'org.awaitility:awaitility:3.1.6'
@@ -45,4 +48,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/mailbox/spring/build.gradle b/mailbox/spring/build.gradle
index acf488e..3f80a5b 100644
--- a/mailbox/spring/build.gradle
+++ b/mailbox/spring/build.gradle
@@ -7,7 +7,7 @@ plugins {
 
 dependencies {
     implementation project(':james-core')
-    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
     implementation project(':apache-james-mailbox:apache-james-mailbox-event-memory')
     implementation project(':apache-james-mailbox:apache-james-mailbox-jpa')
     implementation project(':apache-james-mailbox:apache-james-mailbox-lucene')
diff --git a/mailbox/store/build.gradle b/mailbox/store/build.gradle
index 95907a5..63ed5cd 100644
--- a/mailbox/store/build.gradle
+++ b/mailbox/store/build.gradle
@@ -10,11 +10,12 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':metrics:metrics-api')
+
     implementation project(':apache-james-mailbox:apache-james-mailbox-event-memory')
-    implementation project(':james-core')
     implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
 
     implementation 'org.apache.james:apache-mime4j-core:0.8.3'
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
@@ -37,7 +38,7 @@ dependencies {
     testImplementation project(':james-mdn')
     testImplementation project(':james-json')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
diff --git a/mailbox/tika/build.gradle b/mailbox/tika/build.gradle
index 89d9949..14ec4b5 100644
--- a/mailbox/tika/build.gradle
+++ b/mailbox/tika/build.gradle
@@ -10,11 +10,12 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-util')
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
-    implementation project(':metrics:metrics-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':metrics:metrics-api')
+
+    implementation project(':james-server:james-server-util')
 
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
@@ -29,7 +30,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
diff --git a/mailbox/tools/copier/build.gradle b/mailbox/tools/copier/build.gradle
index 1977478..9f9bbf4 100644
--- a/mailbox/tools/copier/build.gradle
+++ b/mailbox/tools/copier/build.gradle
@@ -6,10 +6,9 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
-
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
 
     implementation 'com.sun.mail:javax.mail:1.6.2'
     implementation 'org.slf4j:slf4j-api:1.7.27'
diff --git a/mailbox/tools/indexer/build.gradle b/mailbox/tools/indexer/build.gradle
index 13242a3..8df1118 100644
--- a/mailbox/tools/indexer/build.gradle
+++ b/mailbox/tools/indexer/build.gradle
@@ -6,11 +6,11 @@ plugins {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-json')
-
+    api project(':james-core')
+    api project(':james-json')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+
     implementation project(':james-server:james-server-task-json')
     implementation project(':james-server:james-server-util')
 
@@ -33,7 +33,7 @@ dependencies {
     testImplementation project(':james-server:james-server-blob:blob-cassandra')
     testImplementation project(path: ':james-json', configuration: 'tests')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.apache.james:apache-mime4j-dom:0.8.3'
     testImplementation 'com.datastax.cassandra:cassandra-driver-core:3.7.2'
diff --git a/mailbox/tools/quota-recompute/build.gradle b/mailbox/tools/quota-recompute/build.gradle
index ad19602..562abcd 100644
--- a/mailbox/tools/quota-recompute/build.gradle
+++ b/mailbox/tools/quota-recompute/build.gradle
@@ -10,15 +10,15 @@ configurations {
 }
 
 dependencies {
-    implementation project(":james-core")
-    implementation project(":james-json")
+    api project(":james-core")
 
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-task-api')
 
+    implementation project(":james-json")
     implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-task-api')
     implementation project(':james-server:james-server-task-json')
 
     implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9'
diff --git a/mailet/test/build.gradle b/mailet/test/build.gradle
index 89c08df..7ecd173 100644
--- a/mailet/test/build.gradle
+++ b/mailet/test/build.gradle
@@ -23,9 +23,10 @@ dependencies {
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
     testImplementation project(path: ':apache-mailet:apache-mailet-api', configuration: 'tests')
-    testImplementation project(':testing-base')
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/metrics/metrics-api/build.gradle b/metrics/metrics-api/build.gradle
index b7566d8..d586be4 100644
--- a/metrics/metrics-api/build.gradle
+++ b/metrics/metrics-api/build.gradle
@@ -10,7 +10,7 @@ dependencies {
     implementation 'org.apache.commons:commons-lang3:3.9'
     implementation 'org.reactivestreams:reactive-streams:1.0.3'
 
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/metrics/metrics-tests/build.gradle b/metrics/metrics-tests/build.gradle
index 46f4a97..ac7b5ea 100644
--- a/metrics/metrics-tests/build.gradle
+++ b/metrics/metrics-tests/build.gradle
@@ -14,7 +14,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-util')
     testImplementation project(':metrics:metrics-api')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
 
diff --git a/mpt/impl/imap-mailbox/jpa/build.gradle b/mpt/impl/imap-mailbox/jpa/build.gradle
index ef4664b..e466c9f 100644
--- a/mpt/impl/imap-mailbox/jpa/build.gradle
+++ b/mpt/impl/imap-mailbox/jpa/build.gradle
@@ -11,7 +11,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-store')
     testImplementation project(':apache-james-mpt:apache-james-mpt-imapmailbox:apache-james-mpt-imapmailbox-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.apache.derby:derby:10.14.2.0'
 }
 
diff --git a/mpt/impl/imap-mailbox/lucenesearch/build.gradle b/mpt/impl/imap-mailbox/lucenesearch/build.gradle
index 17b8ff4..b99169b 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/build.gradle
+++ b/mpt/impl/imap-mailbox/lucenesearch/build.gradle
@@ -13,7 +13,7 @@ dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-store')
     testImplementation project(':apache-james-mpt:apache-james-mpt-imapmailbox:apache-james-mpt-imapmailbox-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT Imap Mailbox - LuceneSearch'
diff --git a/mpt/impl/imap-mailbox/maildir/build.gradle b/mpt/impl/imap-mailbox/maildir/build.gradle
index e3baa24..f011f1c 100644
--- a/mpt/impl/imap-mailbox/maildir/build.gradle
+++ b/mpt/impl/imap-mailbox/maildir/build.gradle
@@ -8,7 +8,7 @@ dependencies {
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-maildir')
     testImplementation project(':apache-james-mpt:apache-james-mpt-imapmailbox:apache-james-mpt-imapmailbox-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT Imap Mailbox - Maildir'
diff --git a/mpt/impl/imap-mailbox/rabbitmq/build.gradle b/mpt/impl/imap-mailbox/rabbitmq/build.gradle
index c263767..bbc361a 100644
--- a/mpt/impl/imap-mailbox/rabbitmq/build.gradle
+++ b/mpt/impl/imap-mailbox/rabbitmq/build.gradle
@@ -13,7 +13,7 @@ dependencies {
     testImplementation project(':apache-james-mpt:apache-james-mpt-imapmailbox:apache-james-mpt-imapmailbox-core')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
 }
 
diff --git a/mpt/impl/managesieve/file/build.gradle b/mpt/impl/managesieve/file/build.gradle
index e1079f5..0c520c6 100644
--- a/mpt/impl/managesieve/file/build.gradle
+++ b/mpt/impl/managesieve/file/build.gradle
@@ -6,7 +6,7 @@ dependencies {
     implementation project(':apache-james-mpt:apache-james-mpt-managesieve:apache-james-mpt-managesieve-core')
     implementation project(':james-server:james-server-data-file')
     implementation project(':james-server:james-server-data-memory')
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT ManageSieve File'
diff --git a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/build.gradle b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/build.gradle
index cd61161..685e319 100644
--- a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/build.gradle
+++ b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/build.gradle
@@ -16,7 +16,7 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-util')
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT SMTP Cassandra RabbitMQ Object Storage'
diff --git a/mpt/impl/smtp/cassandra/build.gradle b/mpt/impl/smtp/cassandra/build.gradle
index 81f4893..69a52e7 100644
--- a/mpt/impl/smtp/cassandra/build.gradle
+++ b/mpt/impl/smtp/cassandra/build.gradle
@@ -11,7 +11,7 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-util')
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT SMTP Cassandra'
diff --git a/mpt/impl/smtp/core/build.gradle b/mpt/impl/smtp/core/build.gradle
index b4821c2..c220959 100644
--- a/mpt/impl/smtp/core/build.gradle
+++ b/mpt/impl/smtp/core/build.gradle
@@ -11,7 +11,7 @@ dependencies {
     implementation project(':james-server:james-server-testing')
     implementation 'io.rest-assured:rest-assured:4.0.0'
     implementation 'org.testcontainers:testcontainers:1.12.0'
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James MPT SMTP Core'
diff --git a/server/blob/blob-api/build.gradle b/server/blob/blob-api/build.gradle
index 07243cc..d908563 100644
--- a/server/blob/blob-api/build.gradle
+++ b/server/blob/blob-api/build.gradle
@@ -11,7 +11,7 @@ configurations {
 
 dependencies {
     implementation project(':metrics:metrics-api')
-    
+
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.apache.commons:commons-lang3:3.9'
diff --git a/server/blob/blob-cassandra/build.gradle b/server/blob/blob-cassandra/build.gradle
index 5360245..cfdaad1 100644
--- a/server/blob/blob-cassandra/build.gradle
+++ b/server/blob/blob-cassandra/build.gradle
@@ -1,14 +1,21 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
+    api project(':james-server:james-server-blob:blob-api')
+    api project(':metrics:metrics-api')
+
     implementation project(':james-backends-common:apache-james-backends-cassandra')
-    implementation project(':james-server:james-server-blob:blob-api')
     implementation project(':james-server:james-server-util')
 
-    implementation project(':metrics:metrics-api')
-
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'com.datastax.cassandra:cassandra-driver-core:3.7.2'
@@ -26,6 +33,14 @@ dependencies {
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob :: Cassandra'
diff --git a/server/blob/blob-common/build.gradle b/server/blob/blob-common/build.gradle
index 2c5bc9b..036315a 100644
--- a/server/blob/blob-common/build.gradle
+++ b/server/blob/blob-common/build.gradle
@@ -1,10 +1,25 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob :: Common'
diff --git a/server/blob/blob-deduplicating/build.gradle b/server/blob/blob-deduplicating/build.gradle
index d743509..51b8536 100644
--- a/server/blob/blob-deduplicating/build.gradle
+++ b/server/blob/blob-deduplicating/build.gradle
@@ -1,21 +1,39 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-blob:blob-api')
     implementation project(':james-server:james-server-util')
+
     implementation 'org.scala-lang:scala-library:2.13.1'
     implementation 'org.scala-lang.modules:scala-java8-compat_2.13:0.9.0'
+
     testImplementation project(':james-server:james-server-blob:blob-api')
     testImplementation project(':james-server:james-server-blob:blob-memory')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':testing-base')
+
     testImplementation 'org.scalacheck:scalacheck_2.13:1.14.3'
     testImplementation 'org.scalactic:scalactic_2.13:3.1.1'
     testImplementation 'org.scalatest:scalatest_2.13:3.1.1'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Blob :: Deduplicating Blob Storage'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/blob/blob-export-api/build.gradle b/server/blob/blob-export-api/build.gradle
index a1f431f..327c5c3 100644
--- a/server/blob/blob-export-api/build.gradle
+++ b/server/blob/blob-export-api/build.gradle
@@ -10,8 +10,9 @@ configurations {
 }
 
 dependencies {
+    api project(':james-server:james-server-blob:blob-api')
+
     implementation project(':james-core')
-    implementation project(':james-server:james-server-blob:blob-api')
 
     implementation 'org.apache.commons:commons-lang3:3.9'
     implementation 'com.google.guava:guava:25.1-jre'
diff --git a/server/blob/blob-export-file/build.gradle b/server/blob/blob-export-file/build.gradle
index ee186dd..450f4a1 100644
--- a/server/blob/blob-export-file/build.gradle
+++ b/server/blob/blob-export-file/build.gradle
@@ -10,14 +10,17 @@ configurations {
 }
 
 dependencies {
+    api project(':james-server:james-server-blob:blob-export-api')
+    api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-filesystem-api')
+
     implementation project(':james-core')
-    implementation project(':james-server:james-server-blob:server-blob-api')
-    implementation project(':james-server:james-server-blob:blob-export-api')
     implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-dnsservice-api')
-    implementation project(':james-server:james-server-filesystem-api')
 
     implementation 'com.google.guava:guava:25.1-jre'
+    implementation 'commons-io:commons-io:2.6'
+    implementation 'org.apache.commons:commons-configuration2:2.7'
+    implementation 'com.sun.mail:javax.mail:1.6.2'
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
diff --git a/server/blob/blob-memory/build.gradle b/server/blob/blob-memory/build.gradle
index ba7f157..fe3303f 100644
--- a/server/blob/blob-memory/build.gradle
+++ b/server/blob/blob-memory/build.gradle
@@ -1,9 +1,16 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
 
     implementation 'commons-io:commons-io:2.6'
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
@@ -13,12 +20,20 @@ dependencies {
     testImplementation project(':james-server:james-server-blob:blob-api')
     testImplementation project(':james-server:james-server-util')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Blob :: Memory'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/blob/blob-objectstorage/build.gradle b/server/blob/blob-objectstorage/build.gradle
index c95a236..c5b2828 100644
--- a/server/blob/blob-objectstorage/build.gradle
+++ b/server/blob/blob-objectstorage/build.gradle
@@ -16,7 +16,7 @@ dependencies {
     testImplementation project(':james-server:james-server-blob:blob-api')
     testImplementation project(':metrics:metrics-tests')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
diff --git a/server/blob/blob-union/build.gradle b/server/blob/blob-union/build.gradle
index 60468a3..2715fda 100644
--- a/server/blob/blob-union/build.gradle
+++ b/server/blob/blob-union/build.gradle
@@ -1,17 +1,34 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
     implementation project(':james-server:james-server-util')
+
     implementation 'org.apache.commons:commons-configuration2:2.7'
+
     testImplementation project(':james-server:james-server-blob:blob-api')
     testImplementation project(':james-server:james-server-blob:blob-memory')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Blob :: Union Blob Storage'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/blob/mail-store/build.gradle b/server/blob/mail-store/build.gradle
index a77d32b..0b991d2 100644
--- a/server/blob/mail-store/build.gradle
+++ b/server/blob/mail-store/build.gradle
@@ -1,16 +1,33 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
     implementation project(':james-server:james-server-blob:blob-common')
     implementation project(':james-server:james-server-util')
+
     implementation 'com.google.guava:guava:25.1-jre'
+
     testImplementation project(':james-server:james-server-blob:blob-memory')
     testImplementation project(':james-core')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob :: Mail store'
diff --git a/server/container/cli-integration/build.gradle b/server/container/cli-integration/build.gradle
index c0e2880..175bb25 100644
--- a/server/container/cli-integration/build.gradle
+++ b/server/container/cli-integration/build.gradle
@@ -1,17 +1,39 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation 'org.mockito:mockito-core:3.0.0'
+
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-scanning-search')
     testImplementation project(':james-server:james-server-cli')
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
+    testImplementation project(':james-server:james-server-guice:james-server-guice-jmx')
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-guice:james-server-memory-guice')
-    testImplementation project(':james-server:james-server-guice:james-server-memory-guice')
-    testImplementation project(':james-server:james-server-task-api')
-    // testImplementation project(':testing-base')
+    testImplementation project(':james-server:james-server-guice:james-server-guice-managedsieve')
+    testImplementation project(path: ':james-server:james-server-guice:james-server-memory-guice', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-task-api', configuration: 'tests')
+
+    testImplementation 'com.google.inject:guice:4.2.2'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+    testCompileOnly 'junit:junit:4.13'
+    testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Cli :: Integration'
diff --git a/server/container/core/build.gradle b/server/container/core/build.gradle
index 735fd94..472fe7c 100644
--- a/server/container/core/build.gradle
+++ b/server/container/core/build.gradle
@@ -33,13 +33,14 @@ dependencies {
     implementation 'commons-io:commons-io:2.6'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
-    testImplementation project(':apache-mailet:apache-mailet-api')
+    testImplementation project(path: ':apache-mailet:apache-mailet-api', configuration: 'tests')
     testImplementation project(':apache-mailet:apache-mailet-test')
-    testImplementation project(':james-server:james-server-filesystem-api')
-    // testImplementation project(':testing-base')
+    testImplementation project(path: ':james-server:james-server-filesystem-api', configuration: 'tests')
 
     testImplementation 'com.sparkjava:spark-core:2.9.1'
     testImplementation 'pl.pragmatists:JUnitParams:1.1.1'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/container/filesystem-api/build.gradle b/server/container/filesystem-api/build.gradle
index 9658176..69bab03 100644
--- a/server/container/filesystem-api/build.gradle
+++ b/server/container/filesystem-api/build.gradle
@@ -14,6 +14,7 @@ dependencies {
 
     testImplementation 'com.sparkjava:spark-core:2.9.1'
     testImplementation 'pl.pragmatists:JUnitParams:1.1.1'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/container/guice/activemq/build.gradle b/server/container/guice/activemq/build.gradle
index c11f05f..1f49b9e 100644
--- a/server/container/guice/activemq/build.gradle
+++ b/server/container/guice/activemq/build.gradle
@@ -1,11 +1,25 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-queue-activemq')
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: ActiveMQ'
diff --git a/server/container/guice/blob-api-guice/build.gradle b/server/container/guice/blob-api-guice/build.gradle
index 649cba6..8746072 100644
--- a/server/container/guice/blob-api-guice/build.gradle
+++ b/server/container/guice/blob-api-guice/build.gradle
@@ -1,11 +1,26 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob Store API - guice injection'
diff --git a/server/container/guice/blob-export-guice/build.gradle b/server/container/guice/blob-export-guice/build.gradle
index a881358..d71f449 100644
--- a/server/container/guice/blob-export-guice/build.gradle
+++ b/server/container/guice/blob-export-guice/build.gradle
@@ -1,19 +1,44 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
+    api project(':james-server:james-server-guice:blob-api-guice')
+    api project(':james-server:james-server-blob:blob-export-api')
+
     implementation project(':third-party:apache-james-linshare')
-    implementation project(':james-server:james-server-guice:blob-api-guice')
-    implementation project(':james-server:james-server-blob:blob-export-api')
     implementation project(':james-server:james-server-blob:blob-export-file')
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    testImplementation project(':third-party:apache-james-linshare')
-    testImplementation project(':james-server:james-server-guice:james-server-guice-common')
-    // testImplementation project(':testing-base')
+
+    implementation 'org.apache.commons:commons-configuration2:2.7'
+    implementation 'com.github.steveash.guavate:guavate:1.0.0'
+    implementation 'com.google.guava:guava:25.1-jre'
+    implementation 'com.google.inject:guice:4.2.2'
+    implementation 'javax.inject:javax.inject:1'
+    implementation 'org.slf4j:slf4j-api:1.7.27'
+
+    testImplementation project(path: ':third-party:apache-james-linshare', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-guice:james-server-guice-common', configuration: 'tests')
+
     testImplementation 'org.mockito:mockito-core:3.0.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
 description = 'Apache James :: Server :: Blob Exporting Mechanisms - guice injection'
 
 tasks.register('testsJar', Jar) {
@@ -21,4 +46,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/server/container/guice/blob-memory-guice/build.gradle b/server/container/guice/blob-memory-guice/build.gradle
index 19b1ae5..60aee86 100644
--- a/server/container/guice/blob-memory-guice/build.gradle
+++ b/server/container/guice/blob-memory-guice/build.gradle
@@ -1,12 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-api')
+
     implementation project(':james-server:james-server-blob:blob-memory')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob Memory - guice injection'
diff --git a/server/container/guice/blob-objectstorage-guice/build.gradle b/server/container/guice/blob-objectstorage-guice/build.gradle
index e47eae4..3eb954b 100644
--- a/server/container/guice/blob-objectstorage-guice/build.gradle
+++ b/server/container/guice/blob-objectstorage-guice/build.gradle
@@ -1,16 +1,33 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:blob-api-guice')
+    api project(':james-server:james-server-guice:blob-api-guice')
+
     implementation project(':james-server:james-server-blob:blob-objectstorage')
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
+
     testImplementation project(':james-server:james-server-blob:blob-objectstorage')
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':testing-base')
+
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Blob Store in object storage - guice injection'
diff --git a/server/container/guice/cassandra-guice/build.gradle b/server/container/guice/cassandra-guice/build.gradle
index 57c7710..434382b 100644
--- a/server/container/guice/cassandra-guice/build.gradle
+++ b/server/container/guice/cassandra-guice/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-cassandra')
@@ -46,9 +53,11 @@ dependencies {
     implementation project(':james-server:james-server-util')
     implementation project(':james-server:metrics-es-reporter')
     implementation project(':apache-james-mailbox:quota-mailing-cassandra')
+
     implementation 'ch.qos.logback:logback-classic:1.2.3'
     implementation 'com.linagora:logback-elasticsearch-appender:1.8.0'
     implementation 'org.awaitility:awaitility:3.1.6'
+
     testImplementation project(':james-backends-common:apache-james-backends-cassandra')
     testImplementation project(':james-backends-common:apache-james-backends-es')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-cassandra')
@@ -62,11 +71,20 @@ dependencies {
     testImplementation project(':james-server:jmap-draft-integration-testing:james-server-jmap-draft-integration-testing')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-webadmin-core')
-    testImplementation project(':testing-base')
+
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.apache.pdfbox:pdfbox:2.0.16'
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Cassandra - guice injection'
diff --git a/server/container/guice/cassandra-ldap-guice/build.gradle b/server/container/guice/cassandra-ldap-guice/build.gradle
index 4d3cced..356b05d 100644
--- a/server/container/guice/cassandra-ldap-guice/build.gradle
+++ b/server/container/guice/cassandra-ldap-guice/build.gradle
@@ -1,12 +1,20 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-cassandra')
     implementation project(':james-server:james-server-guice:james-server-cassandra-guice')
     implementation project(':james-server:james-server-data-ldap')
     implementation project(':james-server:james-server-guice:james-server-guice-common')
+
     testImplementation project(':james-backends-common:apache-james-backends-cassandra')
     testImplementation project(':james-backends-common:apache-james-backends-es')
     testImplementation project(':james-server:james-server-guice:james-server-cassandra-guice')
@@ -15,12 +23,21 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-util')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Cassandra/Ldap - guice injection'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/cassandra-rabbitmq-guice/build.gradle b/server/container/guice/cassandra-rabbitmq-guice/build.gradle
index 73aa3d8..fd09b51 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/build.gradle
+++ b/server/container/guice/cassandra-rabbitmq-guice/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-event-rabbitmq')
@@ -9,6 +16,7 @@ dependencies {
     implementation project(':james-server:james-server-blob:blob-union')
     implementation project(':james-server:james-server-guice:james-server-cassandra-guice')
     implementation project(':james-server:james-server-task-distributed')
+
     testImplementation project(':james-backends-common:apache-james-backends-cassandra')
     testImplementation project(':james-backends-common:apache-james-backends-es')
     testImplementation project(':james-backends-common:apache-james-backends-rabbitmq')
@@ -25,11 +33,19 @@ dependencies {
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-util')
     testImplementation project(':james-server:james-server-webadmin-core')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.apache.pdfbox:pdfbox:2.0.16'
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Cassandra with RabbitMQ - guice injection'
diff --git a/server/container/guice/cassandra-rabbitmq-ldap-guice/build.gradle b/server/container/guice/cassandra-rabbitmq-ldap-guice/build.gradle
index cd55925..60e0184 100644
--- a/server/container/guice/cassandra-rabbitmq-ldap-guice/build.gradle
+++ b/server/container/guice/cassandra-rabbitmq-ldap-guice/build.gradle
@@ -1,11 +1,19 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-guice:james-server-cassandra-ldap-guice')
     implementation project(':james-server:james-server-guice:james-server-cassandra-rabbitmq-guice')
     implementation project(':james-server:james-server-guice:james-server-guice-rabbitmq')
+
     testImplementation project(':james-backends-common:apache-james-backends-cassandra')
     testImplementation project(':james-backends-common:apache-james-backends-es')
     testImplementation project(':james-backends-common:apache-james-backends-rabbitmq')
@@ -18,7 +26,14 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Cassandra/Ldap with RabbitMQ - guice injection'
diff --git a/server/container/guice/configuration/build.gradle b/server/container/guice/configuration/build.gradle
index 999cd99..87f88b1 100644
--- a/server/container/guice/configuration/build.gradle
+++ b/server/container/guice/configuration/build.gradle
@@ -10,15 +10,22 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-filesystem-api')
-    implementation project(':james-server:james-server-lifecycle-api')
-
-    implementation 'com.github.steveash.guavate:guavate:1.0.0'
-    implementation 'com.google.guava:guava:25.1-jre'
-    implementation 'org.apache.commons:commons-configuration2:2.7'
-    implementation 'javax.inject:javax.inject:1'
-    implementation 'org.slf4j:slf4j-api:1.7.27'
+    api project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-lifecycle-api')
+
+    // TODO: @ieugen: this should probably be implementation
+    api project(':james-server:james-server-core')
+
+
+    api 'com.github.steveash.guavate:guavate:1.0.0'
+
+    api 'com.google.guava:guava:25.1-jre'
+
+    api 'org.apache.commons:commons-configuration2:2.7'
+
+    api 'javax.inject:javax.inject:1'
+
+    api 'org.slf4j:slf4j-api:1.7.27'
 
     testImplementation 'com.github.stefanbirkner:system-rules:1.19.0'
 
diff --git a/server/container/guice/es-metric-reporter/build.gradle b/server/container/guice/es-metric-reporter/build.gradle
index 9194998..ee4fd26 100644
--- a/server/container/guice/es-metric-reporter/build.gradle
+++ b/server/container/guice/es-metric-reporter/build.gradle
@@ -1,18 +1,35 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
+    api project(':james-server:james-server-lifecycle-api')
+
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-lifecycle-api')
     implementation project(':james-server:metrics-es-reporter')
+
     implementation 'com.google.inject:guice:4.2.2'
     implementation 'org.apache.commons:commons-configuration2:2.7'
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Guice :: ES metric reporter'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/guice-common/build.gradle b/server/container/guice/guice-common/build.gradle
index 6e21373..18c0324 100644
--- a/server/container/guice/guice-common/build.gradle
+++ b/server/container/guice/guice-common/build.gradle
@@ -10,28 +10,28 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-json')
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-data-memory')
-    implementation project(':james-server:james-server-dnsservice-api')
-    implementation project(':james-server:james-server-dnsservice-dnsjava')
-    implementation project(':james-server:james-server-filesystem-api')
-    implementation project(':james-server:james-server-guice:james-server-guice-utils')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-guice:james-server-guice-mailet')
-    implementation project(':james-server:james-server-guice:james-server-guice-netty')
-    implementation project(':james-server:james-server-mailrepository-memory')
-    implementation project(':james-server:james-server-guice:james-server-onami')
-    implementation project(':james-server:james-server-protocols-library')
-    implementation project(':james-server:james-server-queue-api')
-    implementation project(':james-server:james-server-task-json')
-    implementation project(':james-server:james-server-task-memory')
-    implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
-    implementation project(':metrics:metrics-dropwizard')
-    implementation project(':protocols:protocols-api')
+    api project(':james-core')
+    api project(':james-json')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-queue-api')
+    api project(':james-server:james-server-core')
+    api project(':james-server:james-server-data-memory')
+    api project(':james-server:james-server-dnsservice-dnsjava')
+    api project(':james-server:james-server-guice:james-server-guice-utils')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-guice:james-server-guice-mailet')
+    api project(':james-server:james-server-guice:james-server-guice-netty')
+    api project(':james-server:james-server-mailrepository-memory')
+    api project(':james-server:james-server-guice:james-server-onami')
+    api project(':james-server:james-server-protocols-library')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-task-memory')
+    api project(':james-server:james-server-util')
+    api project(':protocols:protocols-api')
+    api project(':metrics:metrics-api')
+    api project(':metrics:metrics-dropwizard')
 
     implementation 'io.dropwizard.metrics:metrics-core:4.1.0'
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
@@ -52,10 +52,15 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-smtp')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-util')
+    testImplementation project(':apache-mailet:apache-mailet-test')
 
     testImplementation 'com.github.stefanbirkner:system-rules:1.19.0'
     testImplementation 'io.projectreactor:reactor-test:3.3.4.RELEASE'
+    testImplementation 'ch.qos.logback:logback-classic:1.2.3'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+    testImplementation 'org.awaitility:awaitility:3.1.6'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/container/guice/guice-utils/build.gradle b/server/container/guice/guice-utils/build.gradle
index 5afd83c..0f95e88 100644
--- a/server/container/guice/guice-utils/build.gradle
+++ b/server/container/guice/guice-utils/build.gradle
@@ -10,7 +10,8 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-filesystem-api')
+
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
     implementation project(':james-server:james-server-util')
 
diff --git a/server/container/guice/jmx/build.gradle b/server/container/guice/jmx/build.gradle
index 961562e..a38bb4f 100644
--- a/server/container/guice/jmx/build.gradle
+++ b/server/container/guice/jmx/build.gradle
@@ -1,22 +1,40 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-mailetcontainer-api')
+
+    implementation project(':james-core')
     implementation project(':apache-james-mailbox:apache-james-mailbox-tools-copier')
     implementation project(':apache-james-mailbox:apache-james-mailbox-tools-indexer')
-    implementation project(':james-server:james-server-data-api')
     implementation project(':james-server:james-server-data-library')
     implementation project(':james-server:james-server-guice:james-server-guice-common')
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
     implementation project(':james-server:james-server-mailbox-jmx')
-    implementation project(':james-server:james-server-mailetcontainer-api')
     implementation project(':james-server:james-server-mailetcontainer-camel')
     implementation project(':james-server:james-server-util')
+
+    implementation 'javax.annotation:javax.annotation-api:1.3.2'
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'com.google.inject:guice:4.2.2'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: JMX'
diff --git a/server/container/guice/jpa-common-guice/build.gradle b/server/container/guice/jpa-common-guice/build.gradle
index 03d448d..a345ad8 100644
--- a/server/container/guice/jpa-common-guice/build.gradle
+++ b/server/container/guice/jpa-common-guice/build.gradle
@@ -1,13 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-data-file')
     implementation project(':james-server:james-server-data-jpa')
     implementation project(':james-server:james-server-guice:james-server-guice-common')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.apache.derby:derby:10.14.2.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: JPA - guice common'
diff --git a/server/container/guice/jpa-guice/build.gradle b/server/container/guice/jpa-guice/build.gradle
index 865cf89..ff96f21 100644
--- a/server/container/guice/jpa-guice/build.gradle
+++ b/server/container/guice/jpa-guice/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-jpa')
@@ -28,17 +35,27 @@ dependencies {
     implementation project(':james-server:james-server-guice:james-server-jpa-common-guice')
     implementation project(':james-server:james-server-mailbox-adapter')
     implementation project(':james-server:james-server-mailets')
+
     implementation 'ch.qos.logback:logback-classic:1.2.3'
     implementation 'com.linagora:logback-elasticsearch-appender:1.8.0'
     implementation 'org.apache.derby:derby:10.14.2.0'
     implementation 'org.awaitility:awaitility:3.1.6'
+
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-jpa')
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-guice:james-server-jpa-common-guice')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: JPA - guice injection'
diff --git a/server/container/guice/jpa-smtp-common/build.gradle b/server/container/guice/jpa-smtp-common/build.gradle
index 14b0e1c..0c3833a 100644
--- a/server/container/guice/jpa-smtp-common/build.gradle
+++ b/server/container/guice/jpa-smtp-common/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-data-jpa')
@@ -13,7 +20,16 @@ dependencies {
     implementation project(':james-server:james-server-guice:james-server-guice-webadmin-mailqueue')
     implementation project(':james-server:james-server-guice:james-server-guice-webadmin-mailrepository')
     implementation project(':james-server:james-server-guice:james-server-jpa-common-guice')
+
     implementation 'com.linagora:logback-elasticsearch-appender:1.8.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: JPA + SMTP - common guice injection'
diff --git a/server/container/guice/jpa-smtp-mariadb/build.gradle b/server/container/guice/jpa-smtp-mariadb/build.gradle
index 6781ace..387262c 100644
--- a/server/container/guice/jpa-smtp-mariadb/build.gradle
+++ b/server/container/guice/jpa-smtp-mariadb/build.gradle
@@ -1,16 +1,33 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-guice:james-server-jpa-smtp-common-guice')
     implementation project(':james-server:james-server-mailets')
+
     implementation 'org.mariadb.jdbc:mariadb-java-client:2.4.3'
+
     testImplementation project(':james-backends-common:apache-james-backends-jpa')
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
-    // testImplementation project(':testing-base')
+
     testImplementation 'org.apache.derby:derby:10.14.2.0'
     testImplementation 'org.testcontainers:mariadb:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: JPA + SMTP + mariaDB client - guice injection'
diff --git a/server/container/guice/jpa-smtp/build.gradle b/server/container/guice/jpa-smtp/build.gradle
index 0019226..0fa7ac9 100644
--- a/server/container/guice/jpa-smtp/build.gradle
+++ b/server/container/guice/jpa-smtp/build.gradle
@@ -1,21 +1,39 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-guice:james-server-jpa-smtp-common-guice')
     implementation project(':james-server:james-server-guice:james-server-guice-activemq')
     implementation project(':james-server:james-server-mailets')
+
     implementation 'org.apache.derby:derby:10.14.2.0'
+
     testImplementation project(':james-backends-common:apache-james-backends-jpa')
     testImplementation project(':james-server:james-server-guice:james-server-jpa-common-guice')
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: JPA + SMTP - guice injection'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/build.gradle b/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/build.gradle
index 507356e..bae0325 100644
--- a/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/build.gradle
+++ b/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/build.gradle
@@ -1,15 +1,31 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':apache-james-mailbox:apache-james-mailbox-deleted-messages-vault')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-mailbox-deleted-message-vault')
+    api project(':apache-james-mailbox:apache-james-mailbox-deleted-messages-vault')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-mailbox-deleted-message-vault')
+
     implementation 'com.google.inject:guice:4.2.2'
+
     testImplementation project(':james-server:james-server-guice:james-server-guice-mailbox')
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Mailbox :: Plugin :: Deleted messages vault'
diff --git a/server/container/guice/mailbox-plugin-spamassassin/build.gradle b/server/container/guice/mailbox-plugin-spamassassin/build.gradle
index 021e437..cd86e1b 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/build.gradle
+++ b/server/container/guice/mailbox-plugin-spamassassin/build.gradle
@@ -1,17 +1,34 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':apache-james-mailbox:apache-james-mailbox-spamassassin')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-core')
+    api project(':apache-james-mailbox:apache-james-mailbox-spamassassin')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+
     implementation 'com.google.inject:guice:4.2.2'
     implementation 'org.apache.commons:commons-configuration2:2.7'
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Guice :: Mailbox :: Plugin :: SpamAssassin'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/mailbox/build.gradle b/server/container/guice/mailbox/build.gradle
index 73a7d66..c73d12c 100644
--- a/server/container/guice/mailbox/build.gradle
+++ b/server/container/guice/mailbox/build.gradle
@@ -10,19 +10,18 @@ configurations {
 }
 
 dependencies {
-    api project(':james-server:james-server-lifecycle-api')
+    api project(':james-core')
+    api project(':james-json')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-
-    implementation project(':james-core')
-    implementation project(':james-json')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-event-memory')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-store')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-tools-indexer')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-guice:james-server-guice-utils')
-    implementation project(':james-server:james-server-task-json')
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-spring')
+    api project(':apache-james-mailbox:apache-james-mailbox-event-memory')
+    api project(':apache-james-mailbox:apache-james-mailbox-store')
+    api project(':apache-james-mailbox:apache-james-mailbox-tools-indexer')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-guice:james-server-guice-utils')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-core')
+    api project(':james-server:james-server-spring')
+    api project(':james-server:james-server-lifecycle-api')
 
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'org.apache.commons:commons-configuration2:2.7'
diff --git a/server/container/guice/mailet/build.gradle b/server/container/guice/mailet/build.gradle
index 239e4eb..8dea8e1 100644
--- a/server/container/guice/mailet/build.gradle
+++ b/server/container/guice/mailet/build.gradle
@@ -10,14 +10,14 @@ configurations {
 }
 
 dependencies {
-    implementation project(':apache-mailet:apache-mailet-base')
-    implementation project(':apache-mailet:apache-mailet-standard')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-guice:james-server-guice-utils')
-    implementation project(':james-server:james-server-mailet-dkim')
-    implementation project(':james-server:james-server-mailetcontainer-api')
-    implementation project(':james-server:james-server-mailetcontainer-camel')
-    implementation project(':james-server:james-server-core')
+    api project(':apache-mailet:apache-mailet-base')
+    api project(':apache-mailet:apache-mailet-standard')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-guice:james-server-guice-utils')
+    api project(':james-server:james-server-mailet-dkim')
+    api project(':james-server:james-server-mailetcontainer-api')
+    api project(':james-server:james-server-mailetcontainer-camel')
+    api project(':james-server:james-server-core')
 
     implementation 'org.apache.james.jdkim:apache-jdkim-library:0.2'
     implementation 'org.apache.camel:camel-core:2.24.1'
diff --git a/server/container/guice/memory-guice/build.gradle b/server/container/guice/memory-guice/build.gradle
index 8e645fb..63a22ea 100644
--- a/server/container/guice/memory-guice/build.gradle
+++ b/server/container/guice/memory-guice/build.gradle
@@ -1,16 +1,24 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-memory')
     implementation project(':apache-james-mailbox:apache-james-mailbox-quota-mailing')
+    implementation project(':apache-james-mailbox:apache-james-mailbox-quota-search')
     implementation project(':apache-james-mailbox:apache-james-mailbox-quota-search-scanning')
     implementation project(':apache-mailet:apache-mailet-icalendar')
-    implementation project(':james-server:james-server-guice:blob-export-guice')
-    implementation project(':james-server:james-server-guice:blob-memory-guice')
     implementation project(':event-sourcing:event-sourcing-event-store-memory')
     implementation project(':james-server:james-server-data-memory')
+    implementation project(':james-server:james-server-guice:blob-export-guice')
+    implementation project(':james-server:james-server-guice:blob-memory-guice')
     implementation project(':james-server:james-server-guice:james-server-guice-common')
     implementation project(':james-server:james-server-guice:james-server-guice-imap')
     implementation project(':james-server:james-server-guice:james-server-guice-jmap')
@@ -35,18 +43,33 @@ dependencies {
     implementation project(':james-server:james-server-mailets')
     implementation project(':james-server:james-server-mailrepository-memory')
     implementation project(':james-server:james-server-queue-memory')
+
     implementation 'ch.qos.logback:logback-classic:1.2.3'
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'org.apache.commons:commons-configuration2:2.7'
+    implementation 'com.google.inject:guice:4.2.2'
+
     testImplementation project(':third-party:apache-james-linshare')
-    testImplementation project(':apache-james-mailbox:apache-james-mailbox-scanning-search')
-    testImplementation project(':james-server:james-server-guice:blob-export-guice')
-    testImplementation project(':james-server:james-server-guice:james-server-guice-common')
-    testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
+    testImplementation project(path: ':apache-james-mailbox:apache-james-mailbox-scanning-search', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-guice:blob-export-guice', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-guice:james-server-guice-common', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-guice:james-server-guice-jmap', configuration: 'tests')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':james-server:james-server-webadmin-core')
-    testImplementation project(':testing-base')
+    testImplementation project(path: ':james-server:james-server-webadmin-core', configuration: 'tests')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.apache.pdfbox:pdfbox:2.0.16'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Memory - guice injection'
@@ -56,4 +79,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/server/container/guice/onami/build.gradle b/server/container/guice/onami/build.gradle
index 1dc79c6..22c2b37 100644
--- a/server/container/guice/onami/build.gradle
+++ b/server/container/guice/onami/build.gradle
@@ -1,11 +1,25 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation 'com.google.inject:guice:4.2.2'
     implementation 'javax.annotation:javax.annotation-api:1.3.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Onami'
diff --git a/server/container/guice/protocols/imap/build.gradle b/server/container/guice/protocols/imap/build.gradle
index 8077459..a28db76 100644
--- a/server/container/guice/protocols/imap/build.gradle
+++ b/server/container/guice/protocols/imap/build.gradle
@@ -1,12 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-protocols-imap4')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-protocols-imap4')
+    api project(':james-server:james-server-core')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Imap'
diff --git a/server/container/guice/protocols/jmap/build.gradle b/server/container/guice/protocols/jmap/build.gradle
index 30f93c3..140a702 100644
--- a/server/container/guice/protocols/jmap/build.gradle
+++ b/server/container/guice/protocols/jmap/build.gradle
@@ -10,21 +10,21 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':apache-mailet:apache-mailet-base')
-    implementation project(':apache-mailet:apache-mailet-standard')
-    implementation project(':james-server:james-server-guice:james-server-guice-common')
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-guice:james-server-guice-mailet')
-    implementation project(':james-server:james-server-guice:james-server-guice-mailbox')
-    implementation project(':james-server:james-server-jwt')
-    implementation project(':james-server:james-server-jmap')
-    implementation project(':james-server:james-server-jmap-draft')
-    implementation project(':james-server:james-server-jmap-rfc-8621')
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-data-jmap')
-    implementation project(':metrics:metrics-api')
+    api project(':james-core')
+    api project(':apache-mailet:apache-mailet-base')
+    api project(':apache-mailet:apache-mailet-standard')
+    api project(':james-server:james-server-guice:james-server-guice-common')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-guice:james-server-guice-mailet')
+    api project(':james-server:james-server-guice:james-server-guice-mailbox')
+    api project(':james-server:james-server-jwt')
+    api project(':james-server:james-server-jmap')
+    api project(':james-server:james-server-jmap-draft')
+    api project(':james-server:james-server-jmap-rfc-8621')
+    api project(':james-server:james-server-core')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-data-jmap')
+    api project(':metrics:metrics-api')
 
     implementation 'io.projectreactor.netty:reactor-netty:0.9.6.RELEASE'
     implementation 'org.apache.commons:commons-configuration2:2.7'
@@ -42,6 +42,7 @@ dependencies {
 
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/container/guice/protocols/lmtp/build.gradle b/server/container/guice/protocols/lmtp/build.gradle
index 3fdca02..18d99bd 100644
--- a/server/container/guice/protocols/lmtp/build.gradle
+++ b/server/container/guice/protocols/lmtp/build.gradle
@@ -1,12 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-protocols-lmtp')
+    api project(':james-server:james-server-protocols-lmtp')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Lmtp'
diff --git a/server/container/guice/protocols/managedsieve/build.gradle b/server/container/guice/protocols/managedsieve/build.gradle
index 0c5f7ec..ebdebd2 100644
--- a/server/container/guice/protocols/managedsieve/build.gradle
+++ b/server/container/guice/protocols/managedsieve/build.gradle
@@ -1,15 +1,34 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-protocols-managesieve')
+    api project(':james-core')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-protocols-managesieve')
+    api project(':protocols:protocols-managesieve')
+
     implementation 'com.google.inject:guice:4.2.2'
-    implementation project(':protocols:protocols-managesieve')
-    testImplementation project(':testing-base')
+    implementation 'org.slf4j:slf4j-api:1.7.27'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Guice :: Managedsieve'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/protocols/netty/build.gradle b/server/container/guice/protocols/netty/build.gradle
index 66c98eb..289fe28 100644
--- a/server/container/guice/protocols/netty/build.gradle
+++ b/server/container/guice/protocols/netty/build.gradle
@@ -10,7 +10,7 @@ configurations {
 }
 
 dependencies {
-    implementation project(':protocols:protocols-netty')
+    api project(':protocols:protocols-netty')
 
     implementation 'com.google.inject:guice:4.2.2'
     implementation 'javax.annotation:javax.annotation-api:1.3.2'
diff --git a/server/container/guice/protocols/pop/build.gradle b/server/container/guice/protocols/pop/build.gradle
index d50bf12..def8647 100644
--- a/server/container/guice/protocols/pop/build.gradle
+++ b/server/container/guice/protocols/pop/build.gradle
@@ -1,14 +1,29 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
 
+configurations {
+    tests
+}
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-protocols-pop3')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-protocols-pop3')
+
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Guice :: Pop'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/protocols/smtp/build.gradle b/server/container/guice/protocols/smtp/build.gradle
index 0307f02..7f72aef 100644
--- a/server/container/guice/protocols/smtp/build.gradle
+++ b/server/container/guice/protocols/smtp/build.gradle
@@ -1,12 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-protocols-smtp')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-protocols-smtp')
+
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+    implementation 'org.apache.james.jspf:apache-jspf-resolver:1.0.1'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Smtp'
diff --git a/server/container/guice/protocols/webadmin-data/build.gradle b/server/container/guice/protocols/webadmin-data/build.gradle
index c75a167..bb8b081 100644
--- a/server/container/guice/protocols/webadmin-data/build.gradle
+++ b/server/container/guice/protocols/webadmin-data/build.gradle
@@ -1,12 +1,27 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-data')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-data')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Webadmin :: Data'
diff --git a/server/container/guice/protocols/webadmin-jmap/build.gradle b/server/container/guice/protocols/webadmin-jmap/build.gradle
index 2f06018..31b4945 100644
--- a/server/container/guice/protocols/webadmin-jmap/build.gradle
+++ b/server/container/guice/protocols/webadmin-jmap/build.gradle
@@ -1,14 +1,30 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-mailbox')
-    implementation project(':james-server:james-server-webadmin-jmap')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-mailbox')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-webadmin-jmap')
+
     implementation 'com.google.inject:guice:4.2.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
 description = 'Apache James :: Server :: Guice :: Webadmin :: JMAP'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/protocols/webadmin-mailbox/build.gradle b/server/container/guice/protocols/webadmin-mailbox/build.gradle
index 8444e8f..6b9ba2f 100644
--- a/server/container/guice/protocols/webadmin-mailbox/build.gradle
+++ b/server/container/guice/protocols/webadmin-mailbox/build.gradle
@@ -1,12 +1,31 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-mailbox')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-mailbox')
+    api project(':james-server:james-server-task-json')
+    api project(':apache-james-mailbox:backup')
+    api project(':apache-james-mailbox:apache-james-mailbox-tools-indexer')
+    api project(':apache-james-mailbox:apache-james-mailbox-tools-quota-recompute')
+
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Webadmin :: Mailbox'
diff --git a/server/container/guice/protocols/webadmin-mailqueue/build.gradle b/server/container/guice/protocols/webadmin-mailqueue/build.gradle
index 0087508..8fd6c18 100644
--- a/server/container/guice/protocols/webadmin-mailqueue/build.gradle
+++ b/server/container/guice/protocols/webadmin-mailqueue/build.gradle
@@ -1,14 +1,31 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-mailqueue')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-mailqueue')
+
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Guice :: Webadmin :: MailQueue'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/protocols/webadmin-mailrepository/build.gradle b/server/container/guice/protocols/webadmin-mailrepository/build.gradle
index 76928dd..e19cb1c 100644
--- a/server/container/guice/protocols/webadmin-mailrepository/build.gradle
+++ b/server/container/guice/protocols/webadmin-mailrepository/build.gradle
@@ -1,12 +1,27 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-mailrepository')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-mailrepository')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Webadmin :: MailRepository'
diff --git a/server/container/guice/protocols/webadmin-swagger/build.gradle b/server/container/guice/protocols/webadmin-swagger/build.gradle
index 202a603..1366ddd 100644
--- a/server/container/guice/protocols/webadmin-swagger/build.gradle
+++ b/server/container/guice/protocols/webadmin-swagger/build.gradle
@@ -1,12 +1,27 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-webadmin-core')
-    implementation project(':james-server:james-server-webadmin-swagger')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-webadmin-swagger')
+
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Webadmin :: Swagger'
diff --git a/server/container/guice/protocols/webadmin/build.gradle b/server/container/guice/protocols/webadmin/build.gradle
index ec2d7b9..73567f4 100644
--- a/server/container/guice/protocols/webadmin/build.gradle
+++ b/server/container/guice/protocols/webadmin/build.gradle
@@ -1,15 +1,32 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-guice:james-server-guice-configuration')
-    implementation project(':james-server:james-server-guice:james-server-guice-utils')
-    implementation project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-jwt')
+    api project(':james-server:james-server-guice:james-server-guice-configuration')
+    api project(':james-server:james-server-guice:james-server-guice-utils')
+    api project(':james-server:james-server-webadmin-core')
+
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'com.google.inject:guice:4.2.2'
-    // testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
 description = 'Apache James :: Server :: Guice :: Webadmin'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/rabbitmq/build.gradle b/server/container/guice/rabbitmq/build.gradle
index 2d03a0f..285d174 100644
--- a/server/container/guice/rabbitmq/build.gradle
+++ b/server/container/guice/rabbitmq/build.gradle
@@ -1,14 +1,29 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-backends-common:apache-james-backends-rabbitmq')
     implementation project(':james-server:james-server-guice:james-server-guice-configuration')
     implementation project(':james-server:james-server-queue-api')
     implementation project(':james-server:james-server-queue-rabbitmq')
+
     implementation 'com.google.inject:guice:4.2.2'
-    testImplementation project(':testing-base')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: RabbitMQ'
diff --git a/server/container/guice/sieve-file/build.gradle b/server/container/guice/sieve-file/build.gradle
index c80458b..ca46906 100644
--- a/server/container/guice/sieve-file/build.gradle
+++ b/server/container/guice/sieve-file/build.gradle
@@ -1,13 +1,29 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-data-file')
+
     implementation 'com.google.inject:guice:4.2.2'
+
     testImplementation 'org.assertj:assertj-core:3.12.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
 description = 'Apache James :: Server :: Guice :: Sieve :: File'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/sieve-jpa/build.gradle b/server/container/guice/sieve-jpa/build.gradle
index efac463..e3352b5 100644
--- a/server/container/guice/sieve-jpa/build.gradle
+++ b/server/container/guice/sieve-jpa/build.gradle
@@ -1,13 +1,31 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-data-jpa')
+
     implementation 'com.google.inject:guice:4.2.2'
+
     testImplementation 'org.assertj:assertj-core:3.12.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Guice :: Sieve :: JPA'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/testing/custom-mailets-implementation/build.gradle b/server/container/guice/testing/custom-mailets-implementation/build.gradle
index 7eca16e..23edc1b 100644
--- a/server/container/guice/testing/custom-mailets-implementation/build.gradle
+++ b/server/container/guice/testing/custom-mailets-implementation/build.gradle
@@ -1,10 +1,26 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-guice:james-server-guice-testing:james-server-guice-custom-mailets')
+
     implementation 'com.google.inject:guice:4.2.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 tasks.register('testsJar', Jar) {
diff --git a/server/container/guice/testing/custom-mailets/build.gradle b/server/container/guice/testing/custom-mailets/build.gradle
index 622789d..364d771 100644
--- a/server/container/guice/testing/custom-mailets/build.gradle
+++ b/server/container/guice/testing/custom-mailets/build.gradle
@@ -1,11 +1,27 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-mailet:apache-mailet-api')
     implementation project(':apache-mailet:apache-mailet-base')
+
     implementation project(':james-server:james-server-guice:james-server-guice-testing:james-server-guice-custom-mailets-dependency')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Guice :: Mailet :: Custom testing mailets'
diff --git a/server/container/lifecycle-api/build.gradle b/server/container/lifecycle-api/build.gradle
index b6e4a28..a0ff590 100644
--- a/server/container/lifecycle-api/build.gradle
+++ b/server/container/lifecycle-api/build.gradle
@@ -4,13 +4,13 @@
 plugins {
     id 'java-library'
 }
+
 dependencies {
 
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'org.apache.commons:commons-configuration2:2.7'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
-    // testImplementation project(':testing-base')
     testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
diff --git a/server/container/mailbox-adapter/build.gradle b/server/container/mailbox-adapter/build.gradle
index 27ad5bd..a02aa6c 100644
--- a/server/container/mailbox-adapter/build.gradle
+++ b/server/container/mailbox-adapter/build.gradle
@@ -20,7 +20,6 @@ dependencies {
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    // testImplementation project(':testing-base')
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
 
diff --git a/server/container/metrics/metrics-es-reporter/build.gradle b/server/container/metrics/metrics-es-reporter/build.gradle
index d41ae94..264a0c0 100644
--- a/server/container/metrics/metrics-es-reporter/build.gradle
+++ b/server/container/metrics/metrics-es-reporter/build.gradle
@@ -14,7 +14,7 @@ dependencies {
     testImplementation project(':james-backends-common:apache-james-backends-es')
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-dropwizard')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
diff --git a/server/container/util/build.gradle b/server/container/util/build.gradle
index d569e67..d7e5edb 100644
--- a/server/container/util/build.gradle
+++ b/server/container/util/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
@@ -14,9 +21,18 @@ dependencies {
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.apache.commons:commons-lang3:3.9'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    // testImplementation project(':testing-base')
+
+
     testImplementation 'com.github.dpaukov:combinatoricslib3:3.3.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Common Utilities'
diff --git a/server/data/data-api/build.gradle b/server/data/data-api/build.gradle
index f03b5f6..4398acb 100644
--- a/server/data/data-api/build.gradle
+++ b/server/data/data-api/build.gradle
@@ -10,7 +10,7 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
+    api project(':james-core')
     api project(':james-server:james-server-mailrepository-api')
 
     implementation 'org.apache.commons:commons-configuration2:2.7'
diff --git a/server/data/data-cassandra/build.gradle b/server/data/data-cassandra/build.gradle
index f10bc8a..11ccbdc 100644
--- a/server/data/data-cassandra/build.gradle
+++ b/server/data/data-cassandra/build.gradle
@@ -10,23 +10,19 @@ configurations {
 }
 
 dependencies {
-    implementation project(":james-core")
-    implementation project(":james-json")
-
-    implementation project(':james-backends-common:apache-james-backends-cassandra')
-
-    implementation project(':event-sourcing:event-sourcing-pojo')
-    implementation project(':event-sourcing:event-sourcing-event-store-cassandra')
-
-    implementation project(':james-server:james-server-task-api')
-    implementation project(':james-server:james-server-task-json')
-
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-data-library')
-    implementation project(':james-server:james-server-dnsservice-api')
-    implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-lifecycle-api')
-    implementation project(':james-server:james-server-mailrepository-api')
+    api project(":james-core")
+    api project(":james-json")
+    api project(':james-backends-common:apache-james-backends-cassandra')
+    api project(':event-sourcing:event-sourcing-pojo')
+    api project(':event-sourcing:event-sourcing-event-store-cassandra')
+    api project(':james-server:james-server-task-api')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-lifecycle-api')
+    api project(':james-server:james-server-mailrepository-api')
 
     implementation 'org.scala-lang:scala-library:2.13.1'
     implementation 'com.datastax.cassandra:cassandra-driver-core:3.7.2'
@@ -43,15 +39,18 @@ dependencies {
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
-    testImplementation project(':james-backends-common:apache-james-backends-cassandra')
+    testImplementation project(path: ':james-backends-common:apache-james-backends-cassandra', configuration: 'tests')
     testImplementation project(':event-sourcing:event-sourcing-event-store-cassandra')
     testImplementation project(':james-json')
     testImplementation project(path: ':james-json', configuration: 'tests')
-    testImplementation project(':james-server:james-server-data-api')
-    testImplementation project(':james-server:james-server-data-library')
+    testImplementation project(path: ':james-server:james-server-data-api', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-data-library', configuration: 'tests')
     testImplementation project(':james-server:james-server-dnsservice-test')
-    // testImplementation project(':testing-base')
 
+    testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
+    testImplementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.9'
+    testImplementation 'com.github.fge:throwing-lambdas:0.5.0'
+    testImplementation 'com.google.guava:guava:25.1-jre'
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
     testImplementation 'io.cucumber:cucumber-junit:2.4.0'
     testImplementation 'io.cucumber:cucumber-picocontainer:2.4.0'
@@ -59,6 +58,9 @@ dependencies {
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
 
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
+
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
     testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
diff --git a/server/data/data-file/build.gradle b/server/data/data-file/build.gradle
index 90ff79d..8a4276d7 100644
--- a/server/data/data-file/build.gradle
+++ b/server/data/data-file/build.gradle
@@ -10,15 +10,14 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':apache-mailet:apache-mailet-api')
     api project(':james-server:james-server-data-api')
     api project(':james-server:james-server-dnsservice-api')
     api project(':james-server:james-server-filesystem-api')
     api project(':james-server:james-server-lifecycle-api')
-
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-core')
+    api project(':james-server:james-server-data-library')
 
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
@@ -32,16 +31,17 @@ dependencies {
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
-    testImplementation project(':james-server:james-server-data-library')
+    testImplementation project(path: ':james-server:james-server-data-library', configuration: 'tests')
     testImplementation project(':james-server:james-server-dnsservice-test')
-    testImplementation project(':james-server:james-server-filesystem-api')
-    testImplementation project(':james-server:james-server-mailrepository-api')
+    testImplementation project(path: ':james-server:james-server-filesystem-api', configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-mailrepository-api', configuration: 'tests')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
 
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
     testImplementation 'io.cucumber:cucumber-junit:2.4.0'
     testImplementation 'io.cucumber:cucumber-picocontainer:2.4.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/data/data-jdbc/build.gradle b/server/data/data-jdbc/build.gradle
index 28f523f..ea1e4f8 100644
--- a/server/data/data-jdbc/build.gradle
+++ b/server/data/data-jdbc/build.gradle
@@ -10,15 +10,14 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':apache-mailet:apache-mailet-api')
     api project(':james-server:james-server-data-api')
     api project(':james-server:james-server-filesystem-api')
     api project(':james-server:james-server-lifecycle-api')
-
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-data-library')
-    implementation project(':james-server:james-server-util')
+    api project(':james-server:james-server-core')
+    api project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-util')
 
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
@@ -35,10 +34,13 @@ dependencies {
     runtimeOnly 'org.apache.derby:derby:10.14.2.0'
 
     testImplementation project(':james-server:james-server-data-library')
-    testImplementation project(':james-server:james-server-filesystem-api')
-    testImplementation project(':james-server:james-server-mailrepository-api')
+    testImplementation project(path: ':james-server:james-server-filesystem-api',  configuration: 'tests')
+    testImplementation project(path: ':james-server:james-server-mailrepository-api',  configuration: 'tests')
     testImplementation project(':james-server:james-server-testing')
 
+    testImplementation 'commons-dbcp:commons-dbcp:1.4'
+    testImplementation 'org.apache.derby:derby:10.14.2.0'
+
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
     testImplementation 'io.cucumber:cucumber-junit:2.4.0'
     testImplementation 'io.cucumber:cucumber-picocontainer:2.4.0'
diff --git a/server/data/data-jmap-cassandra/build.gradle b/server/data/data-jmap-cassandra/build.gradle
index c0feaa9..0c350fc 100644
--- a/server/data/data-jmap-cassandra/build.gradle
+++ b/server/data/data-jmap-cassandra/build.gradle
@@ -25,7 +25,7 @@ dependencies {
     testImplementation project(':james-json')
     testImplementation project(':james-server:james-server-data-jmap')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
diff --git a/server/data/data-jmap/build.gradle b/server/data/data-jmap/build.gradle
index 7740364..74b201b 100644
--- a/server/data/data-jmap/build.gradle
+++ b/server/data/data-jmap/build.gradle
@@ -10,14 +10,13 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':apache-james-mailbox:apache-james-mailbox-api')
-
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-util')
-    implementation project(':event-sourcing:event-sourcing-pojo')
-    implementation project(':event-sourcing:event-sourcing-core')
-    implementation project(':event-sourcing:event-sourcing-event-store-api')
-    implementation project(':metrics:metrics-api')
+    api project(':james-server:james-server-util')
+    api project(':event-sourcing:event-sourcing-pojo')
+    api project(':event-sourcing:event-sourcing-core')
+    api project(':event-sourcing:event-sourcing-event-store-api')
+    api project(':metrics:metrics-api')
 
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
     implementation 'org.apache.commons:commons-lang3:3.9'
diff --git a/server/data/data-jpa/build.gradle b/server/data/data-jpa/build.gradle
index a89277b..0a99889 100644
--- a/server/data/data-jpa/build.gradle
+++ b/server/data/data-jpa/build.gradle
@@ -23,12 +23,12 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-backends-common:apache-james-backends-jpa')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-data-library')
-    implementation project(':james-server:james-server-dnsservice-api')
-    implementation project(':james-server:james-server-lifecycle-api')
+    api project(':james-core')
+    api project(':james-backends-common:apache-james-backends-jpa')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-lifecycle-api')
 
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
@@ -46,7 +46,7 @@ dependencies {
     testImplementation project(':james-server:james-server-data-api')
     testImplementation project(':james-server:james-server-data-library')
     testImplementation project(':james-server:james-server-dnsservice-test')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.apache.derby:derby:10.14.2.0'
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
diff --git a/server/data/data-ldap/build.gradle b/server/data/data-ldap/build.gradle
index 2542a8e..eeb5c4c 100644
--- a/server/data/data-ldap/build.gradle
+++ b/server/data/data-ldap/build.gradle
@@ -11,12 +11,11 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':james-server:james-server-data-api')
     api project(':james-server:james-server-lifecycle-api')
-
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-data-library')
-    implementation project(':james-server:james-server-util')
+    api project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-util')
 
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
@@ -30,7 +29,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-data-library')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
diff --git a/server/data/data-library/build.gradle b/server/data/data-library/build.gradle
index 1414378..c18c164 100644
--- a/server/data/data-library/build.gradle
+++ b/server/data/data-library/build.gradle
@@ -39,7 +39,7 @@ dependencies {
 
     testImplementation project(path: ':james-server:james-server-data-api', configuration: 'tests')
     testImplementation project(':james-server:james-server-dnsservice-test')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
     testImplementation 'io.cucumber:cucumber-junit:2.4.0'
diff --git a/server/data/data-memory/build.gradle b/server/data/data-memory/build.gradle
index a03f4bc..a0e8d65 100644
--- a/server/data/data-memory/build.gradle
+++ b/server/data/data-memory/build.gradle
@@ -10,13 +10,13 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':james-server:james-server-lifecycle-api')
     api project(':james-server:james-server-mailrepository-api')
     api project(':james-server:james-server-data-api')
     api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-data-library')
 
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-data-library')
 
     implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'org.apache.commons:commons-configuration2:2.7'
diff --git a/server/dns-service/dnsservice-library/build.gradle b/server/dns-service/dnsservice-library/build.gradle
index 5044645..5a70da1 100644
--- a/server/dns-service/dnsservice-library/build.gradle
+++ b/server/dns-service/dnsservice-library/build.gradle
@@ -14,7 +14,7 @@ dependencies {
     implementation 'org.slf4j:slf4j-api:1.7.27'
 
     testImplementation project(':james-server:james-server-dnsservice-test')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
diff --git a/server/mailet/integration-testing/build.gradle b/server/mailet/integration-testing/build.gradle
index 7ca57b5..8d4aea9 100644
--- a/server/mailet/integration-testing/build.gradle
+++ b/server/mailet/integration-testing/build.gradle
@@ -22,7 +22,7 @@ dependencies {
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':james-server:mock-smtp-server')
-    // testImplementation project(':testing-base')
+
     testImplementation 'com.jayway.jsonpath:json-path:2.4.0'
     testImplementation 'com.rabbitmq:amqp-client:5.7.3'
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
diff --git a/server/mailrepository/mailrepository-api/build.gradle b/server/mailrepository/mailrepository-api/build.gradle
index d4cb464..7923c71 100644
--- a/server/mailrepository/mailrepository-api/build.gradle
+++ b/server/mailrepository/mailrepository-api/build.gradle
@@ -17,8 +17,16 @@ dependencies {
     implementation 'org.apache.commons:commons-lang3:3.9'
 
     testImplementation project(':james-server:james-server-core')
+    testImplementation project(':james-server:james-server-util')
     testImplementation project(':james-server:james-server-testing')
-    testImplementation project(':testing-base')
+    testImplementation project(':apache-mailet:apache-mailet-test')
+
+    testImplementation 'com.github.steveash.guavate:guavate:1.0.0'
+    testImplementation 'com.google.guava:guava:25.1-jre'
+    testImplementation 'com.github.fge:throwing-lambdas:0.5.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
+
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
     testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/build.gradle b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/build.gradle
index 943aad5..28912a1 100644
--- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/build.gradle
+++ b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/build.gradle
@@ -19,7 +19,7 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-guice-common')
     testImplementation project(':james-server:james-server-guice:james-server-guice-jmap')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.cucumber:cucumber-guice:2.4.0'
     testImplementation 'io.cucumber:cucumber-java:2.4.0'
     testImplementation 'io.cucumber:cucumber-junit:2.4.0'
diff --git a/server/protocols/jwt/build.gradle b/server/protocols/jwt/build.gradle
index 6c31dec..aed4430 100644
--- a/server/protocols/jwt/build.gradle
+++ b/server/protocols/jwt/build.gradle
@@ -13,7 +13,7 @@ dependencies {
     implementation 'org.bouncycastle:bcpkix-jdk15on:1.62'
     implementation 'org.bouncycastle:bcprov-jdk15on:1.62'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    // testImplementation project(':testing-base')
+
 }
 
 description = 'Apache James :: Server :: JWT'
diff --git a/server/protocols/protocols-imap4/build.gradle b/server/protocols/protocols-imap4/build.gradle
index 6679844..d3469f1 100644
--- a/server/protocols/protocols-imap4/build.gradle
+++ b/server/protocols/protocols-imap4/build.gradle
@@ -10,15 +10,15 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':metrics:metrics-api')
     api project(':james-server:james-server-filesystem-api')
     api project(':james-server:james-server-lifecycle-api')
+    api project(':protocols:protocols-imap')
+    api project(':protocols:protocols-netty')
+    api project(':james-server:james-server-protocols-library')
 
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-protocols-library')
     implementation project(':james-server:james-server-util')
-    implementation project(':protocols:protocols-imap')
-    implementation project(':protocols:protocols-netty')
 
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'commons-io:commons-io:2.6'
diff --git a/server/protocols/protocols-library/build.gradle b/server/protocols/protocols-library/build.gradle
index 83c865e..6c05775 100644
--- a/server/protocols/protocols-library/build.gradle
+++ b/server/protocols/protocols-library/build.gradle
@@ -1,25 +1,45 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-filesystem-api')
-    implementation project(':james-server:james-server-lifecycle-api')
+    api project(':metrics:metrics-api')
+    api project(':protocols:protocols-api')
+    api project(':protocols:protocols-netty')
+    api project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-lifecycle-api')
+
     implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
+
     implementation 'io.netty:netty:3.10.6.Final'
     implementation 'javax.annotation:javax.annotation-api:1.3.2'
     implementation 'javax.inject:javax.inject:1'
-    implementation project(':protocols:protocols-api')
-    implementation project(':protocols:protocols-netty')
+
     implementation 'org.apache.commons:commons-configuration2:2.7'
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     implementation 'org.slf4j:log4j-over-slf4j:1.7.27'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    testImplementation project(':testing-base')
+
+
     testImplementation 'com.google.inject:guice:4.2.2'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Protocols Library'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/protocols-lmtp/build.gradle b/server/protocols/protocols-lmtp/build.gradle
index c6f3ecb..2bc6137 100644
--- a/server/protocols/protocols-lmtp/build.gradle
+++ b/server/protocols/protocols-lmtp/build.gradle
@@ -10,19 +10,18 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':james-server:james-server-lifecycle-api')
     api project(':james-server:james-server-filesystem-api')
-
-    implementation project(':james-core')
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':apache-mailet:apache-mailet-api')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-protocols-library')
-    implementation project(':james-server:james-server-protocols-smtp')
-    implementation project(':protocols:protocols-api')
-    implementation project(':protocols:protocols-lmtp')
-    implementation project(':protocols:protocols-netty')
-    implementation project(':protocols:protocols-smtp')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-protocols-smtp')
+    api project(':james-server:james-server-protocols-library')
+    api project(':apache-mailet:apache-mailet-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':protocols:protocols-api')
+    api project(':protocols:protocols-lmtp')
+    api project(':protocols:protocols-netty')
+    api project(':protocols:protocols-smtp')
 
     implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
diff --git a/server/protocols/protocols-managesieve/build.gradle b/server/protocols/protocols-managesieve/build.gradle
index 03df8bf..178cf1f 100644
--- a/server/protocols/protocols-managesieve/build.gradle
+++ b/server/protocols/protocols-managesieve/build.gradle
@@ -10,14 +10,13 @@ configurations {
 }
 
 dependencies {
+    api project(':james-core')
     api project(':james-server:james-server-lifecycle-api')
     api project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-protocols-library')
+    api project(':protocols:protocols-managesieve')
+    api project(':protocols:protocols-netty')
 
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-protocols-library')
-    implementation project(':james-server:james-server-util')
-    implementation project(':protocols:protocols-managesieve')
-    implementation project(':protocols:protocols-netty')
     implementation project(':james-server:james-server-util')
 
     implementation 'io.netty:netty:3.10.6.Final'
diff --git a/server/protocols/protocols-pop3/build.gradle b/server/protocols/protocols-pop3/build.gradle
index 255bf7a..5207a70 100644
--- a/server/protocols/protocols-pop3/build.gradle
+++ b/server/protocols/protocols-pop3/build.gradle
@@ -10,16 +10,15 @@ configurations {
 }
 
 dependencies {
-    api project(':protocols:protocols-api')
-    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':james-core')
     api project(':james-server:james-server-data-api')
     api project(':james-server:james-server-lifecycle-api')
     api project(':james-server:james-server-filesystem-api')
-
-    implementation project(':james-core')
-    implementation project(':protocols:protocols-netty')
-    implementation project(':protocols:protocols-pop3')
-    implementation project(':james-server:james-server-protocols-library')
+    api project(':james-server:james-server-protocols-library')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':protocols:protocols-api')
+    api project(':protocols:protocols-netty')
+    api project(':protocols:protocols-pop3')
 
     implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
     implementation 'org.reactivestreams:reactive-streams:1.0.3'
diff --git a/server/protocols/protocols-smtp/build.gradle b/server/protocols/protocols-smtp/build.gradle
index df61eb7..5e29902 100644
--- a/server/protocols/protocols-smtp/build.gradle
+++ b/server/protocols/protocols-smtp/build.gradle
@@ -10,22 +10,23 @@ configurations {
 }
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':third-party:apache-james-spamassassin')
-    implementation project(':apache-mailet:apache-mailet-api')
+    api project(':james-core')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-dnsservice-api')
+    api project(':james-server:james-server-dnsservice-library')
+    api project(':james-server:james-server-filesystem-api')
+    api project(':james-server:james-server-lifecycle-api')
+    api project(':james-server:james-server-protocols-library')
+    api project(':james-server:james-server-queue-api')
+    api project(':apache-mailet:apache-mailet-api')
+    api project(':metrics:metrics-api')
+    api project(':protocols:protocols-api')
+    api project(':protocols:protocols-netty')
+    api project(':protocols:protocols-smtp')
+
     implementation project(':james-server:james-server-core')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-dnsservice-api')
-    implementation project(':james-server:james-server-dnsservice-library')
-    implementation project(':james-server:james-server-filesystem-api')
-    implementation project(':james-server:james-server-lifecycle-api')
-    implementation project(':james-server:james-server-protocols-library')
-    implementation project(':james-server:james-server-queue-api')
     implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
-    implementation project(':protocols:protocols-api')
-    implementation project(':protocols:protocols-netty')
-    implementation project(':protocols:protocols-smtp')
+    implementation project(':third-party:apache-james-spamassassin')
 
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/build.gradle b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/build.gradle
index 9071684..8fae01f 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/build.gradle
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     testImplementation project(':james-backends-common:apache-james-backends-cassandra')
@@ -13,8 +20,17 @@ dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-cassandra-rabbitmq-guice')
     testImplementation project(':james-server:james-server-webadmin-cassandra-data')
     testImplementation project(':james-server:webadmin-integration-test:james-server-webadmin-integration-test-common')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Web Admin server integration tests :: Distributed'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/build.gradle b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/build.gradle
index f41354d..6a6bb08 100644
--- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/build.gradle
+++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/build.gradle
@@ -1,11 +1,26 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     testImplementation project(':james-server:james-server-guice:james-server-memory-guice')
     testImplementation project(':james-server:james-server-guice:james-server-memory-guice')
     testImplementation project(':james-server:webadmin-integration-test:james-server-webadmin-integration-test-common')
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin server integration tests :: Memory'
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/build.gradle b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/build.gradle
index a794bd2..5811bc9 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/build.gradle
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-backends-common:apache-james-backends-es')
@@ -23,12 +30,21 @@ dependencies {
     implementation project(':james-server:james-server-webadmin-mailqueue')
     implementation project(':james-server:james-server-webadmin-mailrepository')
     implementation project(':james-server:james-server-webadmin-swagger')
-    implementation project(':testing-base')
+
     implementation 'io.rest-assured:rest-assured:4.0.0'
     implementation 'org.hamcrest:java-hamcrest:2.0.0.0'
     implementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
 description = 'Apache James :: Server :: Web Admin server integration tests :: Common'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-cassandra-data/build.gradle b/server/protocols/webadmin/webadmin-cassandra-data/build.gradle
index 73f06b4..8e9b58f 100644
--- a/server/protocols/webadmin/webadmin-cassandra-data/build.gradle
+++ b/server/protocols/webadmin/webadmin-cassandra-data/build.gradle
@@ -1,6 +1,13 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-backends-common:apache-james-backends-cassandra')
@@ -16,8 +23,17 @@ dependencies {
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Web Admin :: Cassandra :: Data'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-cassandra/build.gradle b/server/protocols/webadmin/webadmin-cassandra/build.gradle
index 08fdfae..a44f293 100644
--- a/server/protocols/webadmin/webadmin-cassandra/build.gradle
+++ b/server/protocols/webadmin/webadmin-cassandra/build.gradle
@@ -1,20 +1,37 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':apache-james-mailbox:apache-james-mailbox-cassandra')
     implementation project(':james-server:james-server-webadmin-core')
+
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.slf4j:slf4j-api:1.7.27'
+
     testImplementation project(':james-json')
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin :: Cassandra'
diff --git a/server/protocols/webadmin/webadmin-core/build.gradle b/server/protocols/webadmin/webadmin-core/build.gradle
index ced854e..8324104 100644
--- a/server/protocols/webadmin/webadmin-core/build.gradle
+++ b/server/protocols/webadmin/webadmin-core/build.gradle
@@ -1,34 +1,70 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-jwt')
-    implementation project(':james-server:james-server-lifecycle-api')
-    implementation project(':james-server:james-server-util')
-    implementation project(':metrics:metrics-api')
-    implementation project(':james-server:james-server-task-api')
-    implementation project(':james-server:james-server-task-json')
+    api project(':james-core')
+    api project(':james-json')
+    api project(':james-server:james-server-task-api')
+    api project(':james-server:james-server-lifecycle-api')
+    api project(':metrics:metrics-api')
+
+    api project(':james-server:james-server-jwt')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-task-json')
+
+    api 'javax.ws.rs:javax.ws.rs-api:2.1.1'
+    api 'com.sparkjava:spark-core:2.9.1'
+    api('io.swagger:swagger-jaxrs:1.5.22') {
+        // comes with -android version
+        exclude group: 'com.google.guava', module: 'guava'
+    }
+
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
     implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.9'
     implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.9'
     implementation 'com.fasterxml.jackson.datatype:jackson-datatype-guava:2.9.9'
+
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
-    implementation 'com.sparkjava:spark-core:2.9.1'
-    implementation 'io.swagger:swagger-jaxrs:1.5.22'
+    implementation 'org.scala-lang:scala-library:2.13.1'
+    implementation 'io.jsonwebtoken:jjwt:0.9.1'
+
     implementation 'javax.inject:javax.inject:1'
-    implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1'
+    implementation 'javax.annotation:javax.annotation-api:1.3.2'
     implementation 'org.slf4j:slf4j-api:1.7.27'
+
     testImplementation project(':metrics:metrics-tests')
-    testImplementation project(':james-server:james-server-task-api')
+    testImplementation project(path: ':james-server:james-server-task-api', configuration: 'tests')
     testImplementation project(':james-server:james-server-task-memory')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'com.jayway.jsonpath:json-path:2.4.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
     testImplementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+
+    testCompileOnly 'junit:junit:4.13'
+    testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin :: Core'
@@ -38,4 +74,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/authentication/JwtFilter.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/authentication/JwtFilter.java
index 28d8cd6..57a7ffd 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/authentication/JwtFilter.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/authentication/JwtFilter.java
@@ -31,7 +31,8 @@ import org.eclipse.jetty.http.HttpStatus;
 import spark.Request;
 import spark.Response;
 
-public class JwtFilter implements AuthenticationFilter {
+public class
+JwtFilter implements AuthenticationFilter {
     public static final String AUTHORIZATION_HEADER_PREFIX = "Bearer ";
     public static final String AUTHORIZATION_HEADER_NAME = "Authorization";
     public static final String OPTIONS = "OPTIONS";
diff --git a/server/protocols/webadmin/webadmin-data/build.gradle b/server/protocols/webadmin/webadmin-data/build.gradle
index 0340f52..c1b9f0a 100644
--- a/server/protocols/webadmin/webadmin-data/build.gradle
+++ b/server/protocols/webadmin/webadmin-data/build.gradle
@@ -1,21 +1,31 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-core')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-data-library')
-    implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-webadmin-core')
+    api project(':james-core')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-data-library')
+    api project(':james-server:james-server-util')
+    api project(':james-server:james-server-webadmin-core')
 
     implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9'
 
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
     implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'org.apache.commons:commons-lang3:3.9'
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.slf4j:slf4j-api:1.7.27'
+    implementation 'com.sun.mail:javax.mail:1.6.2'
 
     testImplementation project(':event-sourcing:event-sourcing-event-store-memory')
     testImplementation project(':james-server:james-server-data-file')
@@ -24,12 +34,19 @@ dependencies {
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
 
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.hamcrest:java-hamcrest:2.0.0.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin :: data'
diff --git a/server/protocols/webadmin/webadmin-jmap/build.gradle b/server/protocols/webadmin/webadmin-jmap/build.gradle
index 39bfe40..7f7922e 100644
--- a/server/protocols/webadmin/webadmin-jmap/build.gradle
+++ b/server/protocols/webadmin/webadmin-jmap/build.gradle
@@ -1,14 +1,29 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
-    implementation project(':james-server:james-server-data-jmap')
-    implementation project(':james-server:james-server-data-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-data-jmap')
+
     implementation project(':james-server:james-server-jmap-draft')
     implementation project(':james-server:james-server-task-json')
-    implementation project(':james-server:james-server-webadmin-core')
+    implementation project(':james-server:james-server-util')
+
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.google.guava:guava:25.1-jre'
+    implementation 'javax.inject:javax.inject:1'
+
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-memory')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-memory')
@@ -18,11 +33,21 @@ dependencies {
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
     testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Web Admin :: JMAP'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/build.gradle b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/build.gradle
index 1443676..eab1a51 100644
--- a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/build.gradle
+++ b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/build.gradle
@@ -1,16 +1,35 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-export-api')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-webadmin-core')
+    api project(':james-server:james-server-task-json')
+
     implementation project(':apache-james-mailbox:apache-james-mailbox-deleted-messages-vault')
-    implementation project(':james-server:james-server-blob:blob-api')
-    implementation project(':james-server:james-server-blob:blob-export-api')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-webadmin-core')
+
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
+    implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
+
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.google.guava:guava:25.1-jre'
+    implementation 'commons-io:commons-io:2.6'
+    implementation 'com.sun.mail:javax.mail:1.6.2'
+    implementation 'javax.inject:javax.inject:1'
     implementation 'org.slf4j:slf4j-api:1.7.27'
+
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-deleted-messages-vault')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-memory')
@@ -27,8 +46,18 @@ dependencies {
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
+
+
 description = 'Apache James :: Server :: Web Admin :: Mailbox :: Deleted Message Vault'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-mailbox/build.gradle b/server/protocols/webadmin/webadmin-mailbox/build.gradle
index 67d6028..de04c81 100644
--- a/server/protocols/webadmin/webadmin-mailbox/build.gradle
+++ b/server/protocols/webadmin/webadmin-mailbox/build.gradle
@@ -1,30 +1,47 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(":james-core")
-    implementation project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(":james-core")
+    api project(':apache-james-mailbox:apache-james-mailbox-api')
+    api project(':james-server:james-server-blob:blob-api')
+    api project(':james-server:james-server-blob:blob-export-api')
+    api project(':james-server:james-server-data-api')
+    api project(":james-server:james-server-task-api")
+    api project(':james-server:james-server-webadmin-core')
+
     implementation project(':apache-james-mailbox:apache-james-mailbox-event-json')
     implementation project(':apache-james-mailbox:apache-james-mailbox-tools-indexer')
     implementation project(':apache-james-mailbox:apache-james-mailbox-quota-search')
     implementation project(':apache-james-mailbox:apache-james-mailbox-tools-quota-recompute')
     implementation project(':apache-james-mailbox:backup')
-    implementation project(':james-server:james-server-blob:blob-api')
-    implementation project(':james-server:james-server-blob:blob-export-api')
-    implementation project(':james-server:james-server-data-api')
-    implementation project(":james-server:james-server-task-api")
     implementation project(':james-server:james-server-task-json')
     implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-webadmin-core')
 
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'javax.inject:javax.inject:1'
     implementation 'org.slf4j:slf4j-api:1.7.27'
     implementation 'io.swagger:swagger-jaxrs:1.5.22'
     implementation 'com.sparkjava:spark-core:2.9.1'
 
+//    implementation 'org.apache.commons:commons-lang3:3.9'
+//    implementation 'javax.inject:javax.inject:1'
+//    implementation 'org.slf4j:slf4j-api:1.7.27'
+//    implementation 'com.sun.mail:javax.mail:1.6.2'
+
+
     testImplementation project(':james-server:james-server-dnsservice-test')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-api')
     testImplementation project(':apache-james-mailbox:apache-james-mailbox-event-memory')
@@ -44,12 +61,19 @@ dependencies {
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
 
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.hamcrest:java-hamcrest:2.0.0.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin :: mailbox'
diff --git a/server/protocols/webadmin/webadmin-mailqueue/build.gradle b/server/protocols/webadmin/webadmin-mailqueue/build.gradle
index ef2ae68..f28ead5 100644
--- a/server/protocols/webadmin/webadmin-mailqueue/build.gradle
+++ b/server/protocols/webadmin/webadmin-mailqueue/build.gradle
@@ -1,12 +1,28 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-queue-api')
+    api project(':james-server:james-server-queue-api')
+    api project(':james-server:james-server-webadmin-core')
+
     implementation project(':james-server:james-server-task-json')
-    implementation project(':james-server:james-server-webadmin-core')
+    implementation project(':james-server:james-server-util')
+
+    implementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
+    implementation 'javax.inject:javax.inject:1'
+    implementation 'com.sun.mail:javax.mail:1.6.2'
+
     testImplementation project(':apache-mailet:apache-mailet-test')
     testImplementation project(':james-json')
     testImplementation project(':james-server:james-server-queue-api')
@@ -14,13 +30,22 @@ dependencies {
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.hamcrest:java-hamcrest:2.0.0.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Web Admin :: MailQueue'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-mailrepository/build.gradle b/server/protocols/webadmin/webadmin-mailrepository/build.gradle
index daf8fef..311b5f0 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/build.gradle
+++ b/server/protocols/webadmin/webadmin-mailrepository/build.gradle
@@ -1,18 +1,32 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
-    implementation project(':james-server:james-server-data-api')
-    implementation project(':james-server:james-server-mailrepository-api')
-    implementation project(':james-server:james-server-queue-api')
-    implementation project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-data-api')
+    api project(':james-server:james-server-mailrepository-api')
+    api project(':james-server:james-server-queue-api')
+    api project(':james-server:james-server-task-json')
+    api project(':james-server:james-server-webadmin-core')
+
     implementation project(':james-server:james-server-util')
-    implementation project(':james-server:james-server-webadmin-core')
+
     implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9'
+    implementation 'org.apache.james:apache-mime4j-dom:0.8.3'
+    implementation 'com.github.fge:throwing-lambdas:0.5.0'
+    implementation 'com.github.steveash.guavate:guavate:1.0.0'
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'javax.inject:javax.inject:1'
+    implementation 'com.sun.mail:javax.mail:1.6.2'
     implementation 'org.slf4j:slf4j-api:1.7.27'
+
     testImplementation project(':apache-mailet:apache-mailet-test')
     testImplementation project(':james-json')
     testImplementation project(':james-server:james-server-data-memory')
@@ -22,12 +36,21 @@ dependencies {
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':james-server:james-server-webadmin-core')
     testImplementation project(':metrics:metrics-tests')
-    testImplementation project(':testing-base')
+
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.mockito:mockito-core:3.0.0'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
 }
 
+test {
+    useJUnitPlatform()
+}
+
+
 description = 'Apache James :: Server :: Web Admin :: MailRepository'
 
 tasks.register('testsJar', Jar) {
diff --git a/server/protocols/webadmin/webadmin-swagger/build.gradle b/server/protocols/webadmin/webadmin-swagger/build.gradle
index d48067a..75e84b9 100644
--- a/server/protocols/webadmin/webadmin-swagger/build.gradle
+++ b/server/protocols/webadmin/webadmin-swagger/build.gradle
@@ -1,10 +1,26 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+plugins {
+    id 'java-library'
+}
+
+configurations {
+    tests
+}
 
 dependencies {
     implementation project(':james-server:james-server-webadmin-core')
-    testImplementation project(':testing-base')
+
+    implementation 'javax.inject:javax.inject:1'
+
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
+    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1'
+}
+
+test {
+    useJUnitPlatform()
 }
 
 description = 'Apache James :: Server :: Web Admin :: Swagger'
diff --git a/server/task/task-api/build.gradle b/server/task/task-api/build.gradle
index 3d210f1..04bb3d3 100644
--- a/server/task/task-api/build.gradle
+++ b/server/task/task-api/build.gradle
@@ -7,19 +7,25 @@ plugins {
     id 'java-library'
 }
 
+configurations {
+    tests
+}
+
 dependencies {
     implementation 'com.google.guava:guava:25.1-jre'
     implementation 'javax.annotation:javax.annotation-api:1.3.2'
     implementation 'org.scala-lang:scala-library:2.13.1'
     implementation 'org.scala-lang.modules:scala-java8-compat_2.13:0.9.0'
     implementation 'org.slf4j:slf4j-api:1.7.27'
-    // testImplementation project(':testing-base')
+
+
     testImplementation 'com.github.fge:throwing-lambdas:0.5.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
-
-    implementation 'org.scala-lang:scala-library:2.13.1'
+    testImplementation 'org.scala-lang:scala-library:2.13.1'
     testImplementation 'org.scalatest:scalatest_2.13:3.2.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
@@ -50,4 +56,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/server/task/task-distributed/build.gradle b/server/task/task-distributed/build.gradle
index 315b8e1..c01ef5a 100644
--- a/server/task/task-distributed/build.gradle
+++ b/server/task/task-distributed/build.gradle
@@ -26,7 +26,7 @@ dependencies {
     testImplementation project(':james-server:james-server-task-json')
     testImplementation project(':james-server:james-server-task-memory')
     testImplementation project(':james-server:james-server-testing')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'net.javacrumbs.json-unit:json-unit-assertj:2.8.0'
     testImplementation 'org.awaitility:awaitility:3.1.6'
diff --git a/server/task/task-memory/build.gradle b/server/task/task-memory/build.gradle
index e66cd9a..f18c549 100644
--- a/server/task/task-memory/build.gradle
+++ b/server/task/task-memory/build.gradle
@@ -30,7 +30,7 @@ dependencies {
 
     testImplementation project(':event-sourcing:event-sourcing-event-store-memory')
     testImplementation project(':james-server:james-server-task-api')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.awaitility:awaitility:3.1.6'
     testImplementation 'org.mockito:mockito-core:3.0.0'
diff --git a/third-party/linshare/build.gradle b/third-party/linshare/build.gradle
index c9ea184..78846dd 100644
--- a/third-party/linshare/build.gradle
+++ b/third-party/linshare/build.gradle
@@ -30,8 +30,12 @@ dependencies {
     testImplementation project(':james-server:james-server-blob:blob-memory')
 
     testImplementation 'io.rest-assured:rest-assured:4.0.0'
+    testImplementation 'io.projectreactor:reactor-core:3.3.4.RELEASE'
+    testImplementation 'com.sun.mail:javax.mail:1.6.2'
     testImplementation 'org.slf4j:jcl-over-slf4j:1.7.27'
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
+    testImplementation 'org.assertj:assertj-core:3.12.2'
+    testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.9'
 
     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
     testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
@@ -49,4 +53,8 @@ tasks.register('testsJar', Jar) {
     from(sourceSets.test.output)
 }
 
+artifacts {
+    tests testsJar
+}
+
 publishing.publications.maven.artifact(testsJar)
diff --git a/third-party/spamassassin/build.gradle b/third-party/spamassassin/build.gradle
index cabc09b..50f140d 100644
--- a/third-party/spamassassin/build.gradle
+++ b/third-party/spamassassin/build.gradle
@@ -20,7 +20,7 @@ dependencies {
 
     testImplementation project(':james-server:james-server-testing')
     testImplementation project(':metrics:metrics-tests')
-    // testImplementation project(':testing-base')
+
 
     testImplementation 'org.testcontainers:testcontainers:1.12.0'
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org