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 bt...@apache.org on 2018/05/30 02:24:25 UTC

[14/14] james-project git commit: JAMES-2404 Rely on JUNIT-5 extensions in other tests

JAMES-2404 Rely on JUNIT-5 extensions in other tests


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3d2a90c6
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3d2a90c6
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3d2a90c6

Branch: refs/heads/master
Commit: 3d2a90c61140e850fb85076e7b93942f31a5df69
Parents: 9a6fdbe
Author: benwa <bt...@linagora.com>
Authored: Tue May 29 09:51:03 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue May 29 15:32:54 2018 +0200

----------------------------------------------------------------------
 .../webadmin/routes/DomainQuotaRoutesTest.java  | 62 +++++-------------
 .../webadmin/routes/GlobalQuotaRoutesTest.java  | 67 +++++++-------------
 .../routes/ScanningQuotaSearchExtension.java    |  2 +
 .../routes/WebAdminQuotaSearchTestSystem.java   | 15 ++++-
 4 files changed, 57 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
index 1be5ba2..b27c0d6 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
@@ -21,34 +21,24 @@ package org.apache.james.webadmin.routes;
 
 import static com.jayway.restassured.RestAssured.given;
 import static com.jayway.restassured.RestAssured.when;
-import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Map;
 
 import org.apache.james.core.Domain;
-import org.apache.james.dnsservice.api.InMemoryDNSService;
-import org.apache.james.domainlist.memory.MemoryDomainList;
-import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
+import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.apache.james.mailbox.quota.QuotaCount;
 import org.apache.james.mailbox.quota.QuotaSize;
-import org.apache.james.metrics.api.NoopMetricFactory;
-import org.apache.james.user.memory.MemoryUsersRepository;
-import org.apache.james.webadmin.WebAdminServer;
-import org.apache.james.webadmin.WebAdminUtils;
-import org.apache.james.webadmin.jackson.QuotaModule;
-import org.apache.james.webadmin.service.DomainQuotaService;
-import org.apache.james.webadmin.utils.JsonTransformer;
 import org.eclipse.jetty.http.HttpStatus;
-import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-import com.google.common.collect.ImmutableSet;
 import com.jayway.restassured.RestAssured;
 import com.jayway.restassured.http.ContentType;
 import com.jayway.restassured.path.json.JsonPath;
 
+@ExtendWith(ScanningQuotaSearchExtension.class)
 class DomainQuotaRoutesTest {
 
     private static final String QUOTA_DOMAINS = "/quota/domains";
@@ -56,34 +46,17 @@ class DomainQuotaRoutesTest {
     private static final Domain TROUVÉ_COM = Domain.of("trouvé.com");
     private static final String COUNT = "count";
     private static final String SIZE = "size";
-    private WebAdminServer webAdminServer;
-    private InMemoryPerUserMaxQuotaManager maxQuotaManager;
+    private MaxQuotaManager maxQuotaManager;
 
     @BeforeEach
-    void setUp() throws Exception {
-        maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
-        MemoryDomainList memoryDomainList = new MemoryDomainList(new InMemoryDNSService());
-        memoryDomainList.setAutoDetect(false);
-        memoryDomainList.setAutoDetectIP(false);
-        memoryDomainList.addDomain(TROUVÉ_COM);
-        DomainQuotaService domainQuotaService = new DomainQuotaService(maxQuotaManager);
-        QuotaModule quotaModule = new QuotaModule();
-        MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
-        DomainQuotaRoutes domainQuotaRoutes = new DomainQuotaRoutes(memoryDomainList, domainQuotaService, usersRepository, new JsonTransformer(quotaModule), ImmutableSet.of(quotaModule));
-        webAdminServer = WebAdminUtils.createWebAdminServer(
-            new NoopMetricFactory(),
-            domainQuotaRoutes);
-        webAdminServer.configure(NO_CONFIGURATION);
-        webAdminServer.await();
-
-        RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer)
-            .build();
-        RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
-    }
+    void setUp(WebAdminQuotaSearchTestSystem testSystem) throws Exception {
+        testSystem.getQuotaSearchTestSystem().getDomainList()
+            .addDomain(TROUVÉ_COM);
+
+        maxQuotaManager = testSystem.getQuotaSearchTestSystem().getMaxQuotaManager();
 
-    @AfterEach
-    void stop() {
-        webAdminServer.destroy();
+        RestAssured.requestSpecification = testSystem.getRequestSpecification();
+        RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
     }
 
     @Test
@@ -103,7 +76,7 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void getCountShouldReturnStoredValue() {
+    void getCountShouldReturnStoredValue() throws Exception {
         int value = 42;
         maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(value));
 
@@ -200,7 +173,7 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void deleteCountShouldSetQuotaToEmpty() {
+    void deleteCountShouldSetQuotaToEmpty() throws Exception {
         maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(42));
 
         given()
@@ -228,11 +201,10 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void getSizeShouldReturnStoredValue() {
+    void getSizeShouldReturnStoredValue() throws Exception {
         long value = 42;
         maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(value));
 
-
         long quota =
             given()
                 .get(QUOTA_DOMAINS + "/" + TROUVÉ_COM.name() + "/" + SIZE)
@@ -327,7 +299,7 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void deleteSizeShouldSetQuotaToEmpty() {
+    void deleteSizeShouldSetQuotaToEmpty() throws Exception {
         maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(42));
 
         given()
@@ -362,7 +334,7 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void getQuotaShouldReturnSizeWhenNoCount() {
+    void getQuotaShouldReturnSizeWhenNoCount() throws Exception {
         int maxStorage = 42;
         maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(maxStorage));
 
@@ -380,7 +352,7 @@ class DomainQuotaRoutesTest {
     }
 
     @Test
-    void getQuotaShouldReturnBothWhenNoSize() {
+    void getQuotaShouldReturnBothWhenNoSize() throws Exception {
         int maxMessage = 42;
         maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(maxMessage));
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
index d2cf81f..cb3380d 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
@@ -21,51 +21,32 @@ package org.apache.james.webadmin.routes;
 
 import static com.jayway.restassured.RestAssured.given;
 import static com.jayway.restassured.RestAssured.when;
-import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Map;
 
-import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
+import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.apache.james.mailbox.quota.QuotaCount;
 import org.apache.james.mailbox.quota.QuotaSize;
-import org.apache.james.metrics.logger.DefaultMetricFactory;
-import org.apache.james.webadmin.WebAdminServer;
-import org.apache.james.webadmin.WebAdminUtils;
-import org.apache.james.webadmin.jackson.QuotaModule;
-import org.apache.james.webadmin.service.GlobalQuotaService;
-import org.apache.james.webadmin.utils.JsonTransformer;
 import org.assertj.core.api.SoftAssertions;
 import org.eclipse.jetty.http.HttpStatus;
-import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 
 import com.jayway.restassured.RestAssured;
 import com.jayway.restassured.http.ContentType;
 import com.jayway.restassured.path.json.JsonPath;
 
+@ExtendWith(ScanningQuotaSearchExtension.class)
 class GlobalQuotaRoutesTest {
-
-    private WebAdminServer webAdminServer;
-    private InMemoryPerUserMaxQuotaManager maxQuotaManager;
+    private MaxQuotaManager maxQuotaManager;
 
     @BeforeEach
-    void setUp() throws Exception {
-        maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
-        webAdminServer = WebAdminUtils.createWebAdminServer(
-            new DefaultMetricFactory(),
-            new GlobalQuotaRoutes(new GlobalQuotaService(maxQuotaManager), new JsonTransformer(new QuotaModule())));
-        webAdminServer.configure(NO_CONFIGURATION);
-        webAdminServer.await();
-
-        RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer)
-            .build();
-    }
+    void setUp(WebAdminQuotaSearchTestSystem testSystem) {
+        RestAssured.requestSpecification = testSystem.getRequestSpecification();
 
-    @AfterEach
-    void stop() {
-        webAdminServer.destroy();
+        maxQuotaManager = testSystem.getQuotaSearchTestSystem().getMaxQuotaManager();
     }
 
     @Test
@@ -77,7 +58,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void getCountShouldReturnStoredValue() {
+    void getCountShouldReturnStoredValue() throws Exception {
         int value = 42;
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(value));
 
@@ -138,7 +119,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void putCountShouldHandleMinusOneAsInfinite() {
+    void putCountShouldHandleMinusOneAsInfinite() throws Exception {
         given()
             .body("-1")
         .when()
@@ -151,7 +132,7 @@ class GlobalQuotaRoutesTest {
 
 
     @Test
-    void putCountShouldAcceptValidValue() {
+    void putCountShouldAcceptValidValue() throws Exception {
         given()
             .body("42")
         .when()
@@ -163,7 +144,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void deleteCountShouldSetQuotaToUnlimited() {
+    void deleteCountShouldSetQuotaToUnlimited() throws Exception {
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
 
         when()
@@ -183,7 +164,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void getSizeShouldReturnStoredValue() {
+    void getSizeShouldReturnStoredValue() throws Exception {
         long value = 42;
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(value));
 
@@ -224,7 +205,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void putSizeShouldHandleMinusOneAsInfinite() {
+    void putSizeShouldHandleMinusOneAsInfinite() throws Exception {
         given()
             .body("-1")
         .when()
@@ -258,7 +239,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void putSizeShouldAcceptValidValue() {
+    void putSizeShouldAcceptValidValue() throws Exception {
         given()
             .body("42")
         .when()
@@ -270,7 +251,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void deleteSizeShouldSetQuotaToUnlimited() {
+    void deleteSizeShouldSetQuotaToUnlimited() throws Exception {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(42));
 
         when()
@@ -282,7 +263,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void getQuotaShouldReturnBothWhenValueSpecified() {
+    void getQuotaShouldReturnBothWhenValueSpecified() throws Exception {
         int maxStorage = 42;
         int maxMessage = 52;
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(maxStorage));
@@ -321,7 +302,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void getQuotaShouldReturnOnlySizeWhenNoCount() {
+    void getQuotaShouldReturnOnlySizeWhenNoCount() throws Exception {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(42));
 
         JsonPath jsonPath =
@@ -340,7 +321,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void getQuotaShouldReturnOnlyCountWhenNoSize() {
+    void getQuotaShouldReturnOnlyCountWhenNoSize() throws Exception {
         int maxMessage = 42;
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(maxMessage));
 
@@ -361,7 +342,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void putQuotaShouldUpdateBothQuota() {
+    void putQuotaShouldUpdateBothQuota() throws Exception {
         given()
             .body("{\"count\":52,\"size\":42}")
         .when()
@@ -376,7 +357,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    void putQuotaShouldSetBothQuotaToInfinite() {
+    void putQuotaShouldSetBothQuotaToInfinite() throws Exception {
         given()
             .body("{\"count\":-1,\"size\":-1}")
         .when()
@@ -391,7 +372,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void putQuotaShouldUnsetCountWhenNull() {
+    void putQuotaShouldUnsetCountWhenNull() throws Exception {
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
         given()
             .body("{\"count\":null,\"size\":43}")
@@ -404,7 +385,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void putQuotaShouldUnsetSizeWhenNull() {
+    void putQuotaShouldUnsetSizeWhenNull() throws Exception {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(44));
         given()
             .body("{\"count\":45,\"size\":null}")
@@ -417,7 +398,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void putQuotaShouldUnsetCountWhenAbsent() {
+    void putQuotaShouldUnsetCountWhenAbsent() throws Exception {
         maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
         given()
             .body("{\"size\":43}")
@@ -430,7 +411,7 @@ class GlobalQuotaRoutesTest {
     }
 
     @Test
-    public void putQuotaShouldUnsetSizeWhenAbsent() {
+    void putQuotaShouldUnsetSizeWhenAbsent() throws Exception {
         maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(44));
         given()
             .body("{\"count\":45}")

http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
index 1907a23..b595181 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
@@ -21,6 +21,7 @@ package org.apache.james.webadmin.routes;
 
 import static org.mockito.Mockito.mock;
 
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.memory.MemoryDomainList;
 import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
@@ -50,6 +51,7 @@ public class ScanningQuotaSearchExtension implements ParameterResolver, BeforeEa
 
             DNSService dnsService = mock(DNSService.class);
             MemoryDomainList domainList = new MemoryDomainList(dnsService);
+            domainList.configure(new DefaultConfigurationBuilder());
             usersRepository.setDomainList(domainList);
 
             QuotaSearchTestSystem quotaSearchTestSystem = new QuotaSearchTestSystem(

http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
index 03c16f1..75f8d26 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
@@ -26,6 +26,8 @@ import org.apache.james.quota.search.QuotaSearchTestSystem;
 import org.apache.james.webadmin.WebAdminServer;
 import org.apache.james.webadmin.WebAdminUtils;
 import org.apache.james.webadmin.jackson.QuotaModule;
+import org.apache.james.webadmin.service.DomainQuotaService;
+import org.apache.james.webadmin.service.GlobalQuotaService;
 import org.apache.james.webadmin.service.UserQuotaService;
 import org.apache.james.webadmin.utils.JsonTransformer;
 
@@ -50,10 +52,21 @@ public class WebAdminQuotaSearchTestSystem {
         UserQuotaRoutes userQuotaRoutes = new UserQuotaRoutes(quotaSearchTestSystem.getUsersRepository(),
             userQuotaService, jsonTransformer,
             ImmutableSet.of(quotaModule));
+        DomainQuotaRoutes domainQuotaRoutes = new DomainQuotaRoutes(
+            quotaSearchTestSystem.getDomainList(),
+            new DomainQuotaService(quotaSearchTestSystem.getMaxQuotaManager()),
+            quotaSearchTestSystem.getUsersRepository(),
+            jsonTransformer,
+            ImmutableSet.of(quotaModule));
+        GlobalQuotaRoutes globalQuotaRoutes = new GlobalQuotaRoutes(
+            new GlobalQuotaService(quotaSearchTestSystem.getMaxQuotaManager()),
+            jsonTransformer);
 
         this.webAdminServer = WebAdminUtils.createWebAdminServer(
             new NoopMetricFactory(),
-            userQuotaRoutes);
+            userQuotaRoutes,
+            domainQuotaRoutes,
+            globalQuotaRoutes);
         this.webAdminServer.configure(NO_CONFIGURATION);
         this.webAdminServer.await();
 


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